Skip to content

Commit 5aa915f

Browse files
save file
1 parent 29cab1e commit 5aa915f

File tree

1 file changed

+183
-0
lines changed

1 file changed

+183
-0
lines changed

blog/25-11-15/ffmpeg-in-the-browser/ffmpeg-in-the-browser.html

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)