基于FFmpeg和WebAssembly实现前端视频剪辑
WebAssembly
简而言之,就是将软件编译为一个wasm文件和一个js加载文件,直接在浏览器端调用C/C++功能。
比如这个在线视频剪辑网站:
https://mastershot.app/projects/5892e619-2004-44e6-a11a-dbc5e2dbc490
可以看到,就是加载了这个wasm文件:
https://renderer.mastershot.app/ffmpeg-core.wasm
参考文章
(精)经典教程:
https://blog.csdn.net/xgangzai/article/details/109192744
教程,里面提到了web worker截屏:
https://www.sohu.com/a/457160078_495695
B站的视频剪辑:
https://member.bilibili.com/studio/bs-editor/PJT394774812779623112
一个实践的Demo:
https://dannadori.medium.com/screen-capture-on-your-browser-with-ffmpeg-wasm-b9ce333067aa
ffmpeg的github:
https://github.com/ffmpegwasm/ffmpeg.wasm
Linux下用ffmpeg和X11grab录屏: