Replies: 8 comments 13 replies
-
So exciting to find |
Beta Was this translation helpful? Give feedback.
-
Do we have a plan of upgrade ffmpeg to 5.x or 4.4.x ? |
Beta Was this translation helpful? Give feedback.
-
Thank you for working so hard on this project! I love it. |
Beta Was this translation helpful? Give feedback.
-
This is a great project, nice work! Going to use it for a new project of mine. |
Beta Was this translation helpful? Give feedback.
-
Is it possible, if later ffmpeg.wasm can run without SharedArrayBuffer?
Article: https://developer.chrome.com/blog/enabling-shared-array-buffer/#cross-origin-isolation |
Beta Was this translation helpful? Give feedback.
-
You need to fix your memory allocation problems. That should be the only item on the roadmap. |
Beta Was this translation helpful? Give feedback.
-
When will this version be released? Thanks! @jeromewu |
Beta Was this translation helpful? Give feedback.
-
I have POC implementation of FFmpeg HEVC IDCT with WASM simd128. https://ffmpeg.org/pipermail/ffmpeg-devel/2024-November/336009.html The result looks not bad: Benchmark with wasmtime: hevc_idct_4x4_8_c: 20.8 ( 1.00x) Decoding test:
But FFmpeg require handwritten assembly than intrinsics normally. I have no insterest to write handwritten assembly in WASM (serious?). Not sure will the work go any further. Let's see. |
Beta Was this translation helpful? Give feedback.
-
Hi,
First of all, thanks for people who use and support ffmpeg.wasm for the past two years. 😄 Without you, it is impossible for ffmpeg.wasm to reach 8.4k+ stars and be used by 1.9k+ projects / packages! And now we also have 32 contributors support this open source project and that's why we have 30 releases already. 🎉
I have to admit I didn't actively maintain this ffmpeg.wasm for the past 1 year, but thanks to this one year I also had time to rethink what is the next for ffmpeg.wasm and I would like to share it here and it would be great if you can provide any feedbacks / suggestions.
There are 4 aspects I would like to share: community, developer experience (DX), performance and features.
Community
As an open source project, it relies on the support from the community to grow. But most of the time the community won't grow itself, it requires mechanisms to achieve. That's why I would like to add / enhance following mecahnisms here:
ffmpeg.wasm
discord channelGithub Projects
Developer Experience
As one of the main contributor of this project, I really suffered from the not-so-good DX when developing ffmpeg.wasm. Mainly there are 5 issues I really want to do to make it easier for contributors:
Performance
If you check Issues here, many issues actually relate to performance issue of ffmpeg.wasm. That is one issue I found it extremely critical and hard to resolve. But if we don't do anything about it, ffmpeg.wasm will never reach a state of usable.
The primary attempt was to use multi-threading to speed up, it works but also suffers from comapatibility issues as not all browsers support SharedArrayBuffer and makes it messy to use. Also multi-thread using massive memory (like 2 GB) that might not be affordable for low-end devices.
To improve performance without multi-threading, right now the most promising way is to use SIMD intrinsics, this is not easy but key to success. As a beginning, I would like to try it on x264 as mp4 is one of the most popular formats as it is.
Features
I know there are lots of features requested by the community, and some of them (ex. RTSP) are queried many times. But the fact is some features actually limited by the current status of WebAssembly which makes it almost technically impossible at the moment. Thus it requires extra amount of efforts to figure out a workaround or even changes in WebAssembly itself. I think features like this should be discussed in an issue or thread for a long time, and requires everyone's contribution to make it true.
Github Discussion
I believe there are much more we can and should improve here, but for now I would like to focus on these aspects / tasks and see how it goes. I cannot guarantee how long it takes for issues like performance, but definitely I am happy to share with everyone when there is any progress. At the same time it is always welcome to submit PRs or just provide your ideas. 😄
Beta Was this translation helpful? Give feedback.
All reactions