需要服务器返回头增加
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
才可以使用sharedArrayBuffer
通过hook window.postMessage可以猜测视频合成是使用webworker来做
[架构参考](如何用纯前端实现一个 Web 版剪映? - 知乎 (zhihu.com))
Manipulating video using canvas - Web APIs | MDN (mozilla.org)
welefen/canvas2video: Convert dynamic canvas to video, support merge audio (github.com)
WebCodecs视频导出实践 - 掘金 (juejin.cn)
Building a video editor completely on the frontend: FFMpeg, WebCodecs, WebAssembly and React. - DEV Community
WebAV项目
react-moveable - npm (npmjs.com)
wavesurfer.js | audio waveform player JavaScript library
render-video - npm (keyframes.studio)
腾讯智影
剪映 (capcut.cn)
目前ffmpeg体积过大(如果内部用户内网,体验OK也不是大问题)
(自定义ffmpeg编译)[https://juejin.cn/post/6998876488451751973]