|
62 | 62 | (async()=>{ |
63 | 63 | console.clear(); |
64 | 64 |
|
65 | | - var $ = (root,sel)=>(!sel && (sel=root,root=document),root.querySelector(sel)); |
66 | | - |
| 65 | + var $ = (root,sel)=>(!sel && (sel=root,root=document),root.querySelector(sel)); |
| 66 | + var datatype = v=>Object.prototype.toString.call(v).slice(8,-1).toLowerCase(); |
| 67 | + |
67 | 68 |
|
68 | | - var url = 'https://raw.githubusercontent.com/javascript-2020/external/main/ffmpeg/ffmpeg-wasm/ffmpeg-wasm.zip' |
69 | | - // var url = 'https://bgrins.github.io/videoconverter.js/build/ffmpeg-all-codecs.js'; |
| 69 | + var url = 'https://raw.githubusercontent.com/javascript-2020/external/main/ffmpeg/ffmpeg-wasm/ffmpeg-wasm.zip' |
| 70 | + // var url = 'https://bgrins.github.io/videoconverter.js/build/ffmpeg-all-codecs.js'; |
70 | 71 |
|
71 | | - var i = url.lastIndexOf('/')+1 |
72 | | - var fn = url.slice(i); |
| 72 | + var i = url.lastIndexOf('/')+1 |
| 73 | + var fn = url.slice(i); |
| 74 | + |
73 | 75 |
|
74 | | - var headers = {}; |
75 | | - var method = 'get'; |
76 | | - var body = undefined; |
| 76 | + var headers = {}; |
| 77 | + var method = 'get'; |
| 78 | + var body = undefined; |
77 | 79 |
|
78 | | - var res = await fetch(url,{headers,method,body}); |
| 80 | + var err; |
| 81 | + try{ |
| 82 | + |
| 83 | + var res = await fetch(url,{headers,method,body}); |
| 84 | + |
| 85 | + }//try |
| 86 | + catch(err2){ |
| 87 | + |
| 88 | + err = err2; |
| 89 | + |
| 90 | + }//catch |
| 91 | + if(err){ |
| 92 | + var error = err.toString(); |
| 93 | + console.error(error); |
| 94 | + return; |
| 95 | + } |
| 96 | + if(!res.ok){ |
| 97 | + var txt = await res.text(); |
| 98 | + var error = `failed to fetch : $(res.status} ${res.statusText}`; |
| 99 | + console.error(error); |
| 100 | + return; |
| 101 | + } |
| 102 | + |
79 | 103 |
|
80 | 104 | var encoding = res.headers.get('content-encoding'); |
81 | 105 | console.log('content-encoding',encoding); |
|
108 | 132 |
|
109 | 133 | const {value,done} = await reader.read(); |
110 | 134 | if(done)break; |
| 135 | + |
111 | 136 | total += value.length; |
112 | 137 | chunks.push(value); |
113 | 138 |
|
|
116 | 141 | $('#bar').style.width = w; |
117 | 142 | console.log('chunk',datatype(value),value.byteLength,total,w); |
118 | 143 | } |
| 144 | + |
119 | 145 | }//while |
120 | 146 |
|
121 | 147 | var total = chunks.reduce((acc,chunk)=>acc+chunk.length,0); |
|
137 | 163 |
|
138 | 164 | $('#bar').classList.remove('unknown'); |
139 | 165 |
|
140 | | - function datatype(v){return Object.prototype.toString.call(v).slice(8,-1).toLowerCase()} |
141 | 166 |
|
142 | 167 | })(); |
143 | 168 |
|
|
0 commit comments