@@ -175,10 +175,193 @@ <h1 class=title>
175175 </ blog-hdr >
176176
177177 < div class =description >
178+ < a href ='https://www.ffmpeg.org/ffmpeg.html#Main-options '>
179+ < span >
180+ ffmpeg / Main options
181+ </ span >
182+ < span class =link-domain >
183+ ffmpeg.org
184+ </ span >
185+ </ a >
178186 < p >
187+ ffmpeg has been compiled to web assembley via emscripten a number of times
188+ typically it will run in a worker thread since by its nature it is very computationally heavy and will tie up the main thread
179189 </ p >
190+ < a href ='https://emscripten.org/docs/api_reference/module.html#affecting-execution '>
191+ < span >
192+ emscripten : Module object
193+ </ span >
194+ < span class =link-domain >
195+ emscripten.org
196+ </ span >
197+ </ a >
180198 </ div >
181199
200+ < section >
201+ < h3 >
202+ videoconverter.js
203+ </ h3 >
204+ < a href ='https://github.com/bgrins/videoconverter.js/tree/master '>
205+ < span >
206+ bgrins / videoconverter.js
207+ </ span >
208+ < span class =link-domain >
209+ github.com
210+ </ span >
211+ </ a >
212+ < p >
213+ there are two variants, both are
214+ < br >
215+ < b >
216+ ffmpeg version 2.2.1 Copyright (c) 2000-2014 the FFmpeg developers
217+ </ b >
218+ < br >
219+ < a href ='https://github.com/bgrins/videoconverter.js/blob/master/build/ffmpeg.js '>
220+ ffmpeg.js -- https://github.com/bgrins/videoconverter.js/blob/master/build/ffmpeg.js 22.5 MB
221+ </ a >
222+ < br >
223+ < a href ='https://github.com/bgrins/videoconverter.js/blob/master/build/ffmpeg.js '>
224+ ffmpeg-all-codecs.js -- https://github.com/bgrins/videoconverter.js/blob/master/build/ffmpeg-all-codecs.js 26.3 MB
225+ </ a >
226+ < br >
227+ the files themselves are available from ( right click save as )
228+ < br >
229+ < a href ='https://raw.githubusercontent.combgrins/videoconverter.js/master/build/ffmpeg.js '>
230+ ffmpeg.js -- https://raw.githubusercontent.combgrins/videoconverter.js/master/build/ffmpeg.js
231+ </ a >
232+ < br >
233+ < a href ='https://raw.githubusercontent.com/bgrins/videoconverter.js/master/build/ffmpeg-all-codecs.js '>
234+ ffmpeg-all-codecs.js -- https://raw.githubusercontent.com/bgrins/videoconverter.js/master/build/ffmpeg-all-codecs.js
235+ </ a >
236+ < br >
237+ in my testing the all-codecs version is about 4 times slower
238+ < br >
239+ they are just javascript's, so you can use them by incuding a single, albeit quite large, file
240+ < br >
241+ it exposes a single function ffmpeg_run
242+ < br >
243+ note. there was mention of
244+ < a href =''>
245+ muaz-khan / Ffmpeg.js
246+ < span class =link-domain >
247+ github.com
248+ </ span >
249+ </ a >
250+ < br >
251+ it does offer some additional exmaple code, but as far as i can tell its simply a varaiant of ffmpeg.js from videoconverter.js
252+ </ p >
253+
254+
255+ <!-- snippet -->
256+
257+ < p >
258+ tl;dr
259+ </ p >
260+
261+
262+ <!-- tldr -->
263+
264+ </ section >
265+
266+ < div class =hr > </ div >
267+
268+ < section >
269+ < h3 >
270+ ffmpeg.wasm
271+ </ h3 >
272+ < a href =''>
273+ ffmpegwasm / ffmpeg.wasm
274+ < span class =link-domain >
275+ github.com
276+ </ span >
277+ </ a >
278+ < br >
279+ < b >
280+ ffmpeg version 5.1.4 Copyright (c) 2000-2023 the FFmpeg developers
281+ </ b >
282+ < br >
283+ this version i dont think was built to run purely in the browser and so i wrote a little patch for it so it can load its files
284+ from a remote server, such as github.com
285+ < br >
286+ its a little bit slower than the versions above, but quite a bit newer
287+ < br >
288+ the files that are needed are
289+ < br >
290+ < a href ='https://cdn.jsdelivr.net/npm/@ffmpeg/core@0.12.10/dist/umd/ffmpeg-core.js '>
291+ ffmpeg-core.js -- https://cdn.jsdelivr.net/npm/@ffmpeg/core@0.12.10/dist/umd/ffmpeg-core.js
292+ </ a >
293+ < br >
294+ < a href ='https://cdn.jsdelivr.net/npm/@ffmpeg/util@0.12.2/dist/cjs/index.js '>
295+ index.js -- https://cdn.jsdelivr.net/npm/@ffmpeg/util@0.12.2/dist/cjs/index.js
296+ </ a >
297+ < br >
298+ < a href ='https://cdn.jsdelivr.net/npm/@ffmpeg/ffmpeg@0.12.15/dist/umd/814.ffmpeg.js '>
299+ 814.ffmpeg.js -- https://cdn.jsdelivr.net/npm/@ffmpeg/ffmpeg@0.12.15/dist/umd/814.ffmpeg.js
300+ </ a >
301+ < br >
302+ < a href ='https://cdn.jsdelivr.net/npm/@ffmpeg/ffmpeg@0.12.15/dist/umd/ffmpeg.js '>
303+ ffmpeg.js -- https://cdn.jsdelivr.net/npm/@ffmpeg/ffmpeg@0.12.15/dist/umd/ffmpeg.js
304+ </ a >
305+ < br >
306+ < a href ='https://cdn.jsdelivr.net/npm/@ffmpeg/core@0.12.10/dist/umd/ffmpeg-core.wasm '>
307+ ffmpeg-core.wasm -- https://cdn.jsdelivr.net/npm/@ffmpeg/core@0.12.10/dist/umd/ffmpeg-core.wasm
308+ </ a >
309+ < br >
310+
311+ <!-- snippet -->
312+
313+ < p >
314+ tl;dr
315+ </ p >
316+
317+ <!-- tldr -->
318+
319+ </ section >
320+
321+
322+ < hr >
323+
324+
325+ < section >
326+ < h3 >
327+ Kagami / ffmpeg.js
328+ </ h3 >
329+ < a href ='https://github.com/Kagami/ffmpeg.js/tree/master '>
330+ https://github.com/Kagami/ffmpeg.js/tree/master
331+ </ a >
332+ < br >
333+ ive noticed this addition library, but havent had time to look at it further, i'll try to come back to it, and see if
334+ it is actually an independent version
335+ < br >
336+
337+ </ section >
338+
339+
340+
341+
342+
343+
344+
345+
346+
347+
348+
349+
350+
351+
352+
353+
354+
355+
356+
357+
358+
359+
360+
361+
362+
363+
364+
182365
183366 < log component v2.0 > </ log >
184367
0 commit comments