|
| 1 | +--- |
| 2 | +slug: release-ffmpeg.wasm-0.12.0 |
| 3 | +title: Release ffmpeg.wasm 0.12.0 |
| 4 | +authors: [jeromewu] |
| 5 | +tags: [ffmpeg.wasm] |
| 6 | +--- |
| 7 | + |
| 8 | +Finally, a new start. :tada: |
| 9 | + |
| 10 | +<!--truncate--> |
| 11 | + |
| 12 | +I started to work on ffmpeg.wasm around Oct. 2019, it was the time |
| 13 | +WebAssembly is still in very early stage and transpiling FFmpeg to ffmpeg.wasm |
| 14 | +was very challenging. (but possible as there was a pioneer project |
| 15 | +[ffmpeg.js](https://github.com/Kagami/ffmpeg.js/)) Over these years, I |
| 16 | +have been trying to make ffmpeg.wasm to be production-grade, but failed |
| 17 | +as FFmpeg is such a powerful framework and WebAssembly is still evolving. |
| 18 | +It wasn't easy to support even one requirements (ex. RTSP) from the community |
| 19 | +and I found it really hard to continue sometimes. In the end, I decided to |
| 20 | +pause a little while and rethink what should be done in the next stage. |
| 21 | + |
| 22 | +That's why I started to work on ffmpeg.wasm 0.12.0, it is a major version and |
| 23 | +not backward compatible with 0.11.0. Massive issues are fixed in this version, |
| 24 | +including: |
| 25 | + |
| 26 | +- Upgrade Emscripten to 3.1.40 |
| 27 | +- Upgrade FFmpeg to n5.1.3 |
| 28 | +- Docker build with cache (reduce time to build a new version) |
| 29 | +- Support timeout(), terminate() and other fundamental operations |
| 30 | +- Split libraries to multiple small libraries |
| 31 | +- Rewrite the whole library with TypeScript |
| 32 | +- Merge multiple repositories into one monorepo |
| 33 | +- Offical Web Worker support |
| 34 | +- Offical single thread and multi thread version support |
| 35 | +- Enhanced documentation |
| 36 | +- Official domain name |
| 37 | + |
| 38 | +Lots of features are still in the backlog and it requires lots effort to |
| 39 | +even just compelete one of them, such as: |
| 40 | + |
| 41 | +- Speed up ffmpeg.wasm using WebAssembly intrinsic |
| 42 | +- Support RTSP protocol |
| 43 | +- Support more popular libraries |
| 44 | + |
| 45 | +I believe there is still a long way to go for ffmpeg.wasm to really become |
| 46 | +a production-grade library, but it is defintely a gamechanger and a chance |
| 47 | +to see the potential of WebAssembly and web technologies in general. That's |
| 48 | +why I am working on it and welcome to join us. |
| 49 | + |
| 50 | +Hope you enjoy this release :smile: |
| 51 | + |
| 52 | +\- Jerome |
0 commit comments