1- FFmpeg.wasm Core
1+ FFmpeg Wasm LGPL2.1 Build
22================
33
4- [ ![ Node Version] ( https://img.shields.io/node/v/@ffmpeg/ffmpeg.svg )] ( https://img.shields.io/node/v/@ffmpeg/ffmpeg.svg )
5- ![ FFmpeg.wasm Core] ( https://github.com/ffmpegwasm/ffmpeg.wasm-core/workflows/FFmpeg.wasm/badge.svg?branch=n4.3.1-wasm )
6- ![ npm (tag)] ( https://img.shields.io/npm/v/@ffmpeg/core/latest )
7- [ ![ Maintenance] ( https://img.shields.io/badge/Maintained%3F-yes-green.svg )] ( https://github.com/ffmpegwasm/ffmpeg.wasm-core/graphs/commit-activity )
8- [ ![ Downloads Total] ( https://img.shields.io/npm/dt/@ffmpeg/core.svg )] ( https://www.npmjs.com/package/@ffmpeg/core )
9- [ ![ Downloads Month] ( https://img.shields.io/npm/dm/@ffmpeg/core.svg )] ( https://www.npmjs.com/package/@ffmpeg/core )
4+ This repositiory can be used to replicate the transpilation process of c/c++ code (FFmpeg) to Wasm.
105
11- This is the core part of FFmpeg.wasm where we transpile C/C++ code of FFmpeg to JavaScript/WebAssembly code. It is still very experimental (and slow), but shows the possibilities of using FFmpeg purely in the browser.
12-
13- If you have any issues for this repository, please put it here: https://github.com/ffmpegwasm/ffmpeg.wasm/issues
14-
15- ## Setup
16-
17- ```
18- $ git clone https://github.com/ffmpegwasm/ffmpeg.wasm-core
19- $ git submodule update --init --recursive
20- ```
6+ You can find the output binaries [ here] ( https://github.com/konstantin-paulus/ffmpeg.wasm-lgpl-build/tree/n4.3.1-wasm/wasm/packages/core/build )
217
228## Build
239
@@ -39,57 +25,8 @@ $ bash build.sh
3925
4026If nothing goes wrong, you can find JavaScript files in ` wasm/packages/core/dist ` .
4127
42- ## Test
43-
44- Once the build completes, you can test with following scripts:
28+ ## Configuration
4529
4630```
47- $ cd wasm
48- $ npm install
49- $ npm test
31+ --target-os=none --arch=x86_32 --enable-cross-compile --disable-x86asm --disable-inline-asm --disable-stripping --disable-programs --disable-doc --disable-debug --disable-runtime-cpudetect --disable-autodetect --extra-cflags='-O3 --closure 1 -I/src/build/include -s USE_PTHREADS=1' --extra-cxxflags='-O3 --closure 1 -I/src/build/include -s USE_PTHREADS=1' --extra-ldflags='-O3 --closure 1 -I/src/build/include -s USE_PTHREADS=1 -L/src/build/lib' --pkg-config-flags=--static --nm=llvm-nm --ar=emar --ranlib=emranlib --cc=emcc --cxx=em++ --objcc=emcc --dep-cc=emcc
5032```
51-
52- ## Configuration
53-
54- #### Base
55-
56- | Library/Tool Name | Version | Remark |
57- | ----------------- | ------- | ------ |
58- | Emscripten | 2.0.8 | |
59- | FFmpeg | 4.3.1 | |
60-
61- #### Video
62-
63- | Library/Tool Name | Version | Remark |
64- | ----------------- | ------- | ------ |
65- | x264 | 0.160.x | mp4 format |
66- | x265 | 3.4 | mp4 format, only works with ` -pix_fmt yuv420p10le ` and ` -pix_fmt yuv420p12le ` |
67- | libvpx | 1.9.0 | webm format |
68- | theora | 1.1.1 | ogv format |
69- | aom | 1.0.0 | mkv format, extremely slow (takes over 120s for 1s video), not recommended to use |
70-
71- #### Audio
72-
73- | Library/Tool Name | Version | Remark |
74- | ----------------- | ------- | ------ |
75- | wavpack | 5.3.0 | wav/wv format |
76- | lame | 3.100 | mp3 format |
77- | fdk-aac | 2.0.1 | aac format |
78- | ogg | 1.3.4 | required by vorbis |
79- | vorbis | 1.3.6 | ogg format |
80- | opus | 1.3.1 | opus format |
81-
82- #### Image
83-
84- | Library/Tool Name | Version | Remark |
85- | ----------------- | ------- | ------ |
86- | libwebp | 1.1.0 | webp format |
87-
88- #### Others
89-
90- | Library/Tool Name | Version | Remark |
91- | ----------------- | ------- | ------ |
92- | freetype2 | 2.10.4 | font file support |
93- | fribidi | 1.0.10 | Arabic and Hebrew alphabets support |
94- | harfbuzz | 2.7.4 | text shaping engine |
95- | libass | 0.15.0 | SSA/ASS subtitles rendering library |
0 commit comments