ffmpegwasm / ffmpeg.wasm

FFmpeg for browser, powered by WebAssembly
https://ffmpegwasm.netlify.app
MIT License
14.01k stars 816 forks source link

A version that does not use SharedArrayBuffer and does not block the interface during the transcoding process. #505

Closed hrzhao closed 1 year ago

hrzhao commented 1 year ago

I tried the @ffmpeg/ffmpeg@0.11.6 + @ffmpeg/core-st@0.11.1 single-threaded version, it doesn't seem to load the Worker, so the webpage user interface is blocked during the transcoding process and cannot perform any interaction.

I very much hope that there is a version that does not use SharedArrayBuffer and does not block the interface during the transcoding process!

hrzhao commented 1 year ago

另外,试用了 @ffmpeg/ffmpeg/v/0.12.0-alpha.1 跑不来,貌似worker加载不成功。 因为alpha版的单线程也是不加载worker的,所以目测并不解决界面阻塞问题。

fakob commented 1 year ago

Not sure if it helps, but in my project, I had made it work.

Here I start the worker - https://github.com/fakob/plug-and-play/blob/main/src/nodes/draw/video.tsx#LL256C21-L256C21 And this is the actual worker code - https://github.com/fakob/plug-and-play/blob/main/src/nodes/draw/ffmpeg.worker.js

hrzhao commented 1 year ago

Not sure if it helps, but in my project, I had made it work.

Here I start the worker - https://github.com/fakob/plug-and-play/blob/main/src/nodes/draw/video.tsx#LL256C21-L256C21 And this is the actual worker code - https://github.com/fakob/plug-and-play/blob/main/src/nodes/draw/ffmpeg.worker.js

It work.