1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1477],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"release-ffmpeg.wasm-0.12.0","metadata":{"permalink":"/blog/release-ffmpeg.wasm-0.12.0","editUrl":"https://github.com/ffmpegwasm/ffmpeg.wasm/tree/main/apps/website/blog/2023-07-26-release-ffmpeg.wasm-0.12.0.mdx","source":"@site/blog/2023-07-26-release-ffmpeg.wasm-0.12.0.mdx","title":"Release ffmpeg.wasm 0.12.0","description":"Finally, a new start.","date":"2023-07-26T00:00:00.000Z","formattedDate":"July 26, 2023","tags":[{"label":"ffmpeg.wasm","permalink":"/blog/tags/ffmpeg-wasm"}],"readingTime":1.665,"hasTruncateMarker":true,"authors":[{"name":"Jerome Wu","title":"Maintainer of ffmpeg.wasm","url":"https://github.com/jeromewu","imageURL":"/img/jeromewu.png","key":"jeromewu"}],"frontMatter":{"slug":"release-ffmpeg.wasm-0.12.0","title":"Release ffmpeg.wasm 0.12.0","authors":["jeromewu"],"tags":["ffmpeg.wasm"]}},"content":"Finally, a new start. :tada:\\n\\n\x3c!--truncate--\x3e\\n\\nI started to work on ffmpeg.wasm around Oct. 2019, it was the time\\nWebAssembly is still in very early stage and transpiling FFmpeg to ffmpeg.wasm\\nwas very challenging. (but possible as there was a pioneer project\\n[ffmpeg.js](https://github.com/Kagami/ffmpeg.js/)) Over these years, I\\nhave been trying to make ffmpeg.wasm to be production-grade, but failed\\nas FFmpeg is such a powerful framework and WebAssembly is still evolving.\\nIt wasn\'t easy to support even one requirements (ex. RTSP) from the community\\nand I found it really hard to continue sometimes. But with almost **11k stars**,\\n**600 forks**, **4.1k used-by projects** and **2.3M downloads** in total,\\nI still believe ffmpeg.wasm is a meaningful project to continue.\\nThat\'s why I decided to pause a little while and rethink what\\nshould be done in the next stage.\\n\\nAs the result, I started to work on ffmpeg.wasm 0.12.0, it is a major version and\\nnot backward compatible with 0.11.0. Massive issues are fixed in this version,\\nincluding:\\n\\n- Upgrade Emscripten to 3.1.40\\n- Upgrade FFmpeg to n5.1.3\\n- Docker build with cache (reduce time to build a new version)\\n- Support timeout(), terminate() and other fundamental operations\\n- Split libraries to multiple small libraries\\n- Rewrite the whole library with TypeScript\\n- Merge multiple repositories into one monorepo\\n- Offical Web Worker support\\n- Offical single thread and multi thread version support\\n- Enhanced documentation\\n- Official domain name\\n\\nLots of features are still in the backlog and it requires lots effort to\\neven just compelete one of them, such as:\\n\\n- Speed up ffmpeg.wasm using WebAssembly intrinsic\\n- Support RTSP protocol\\n- Support more popular libraries\\n\\nI believe there is still a long way to go for ffmpeg.wasm to really become\\na production-grade library, but it is defintely a gamechanger and a chance\\nto see the potential of WebAssembly and web technologies in general. That\'s\\nwhy I am working on it and welcome to join us.\\n\\nHope you enjoy this release :smile:\\n\\n\\\\- Jerome"}]}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.