我想把画在Canvas(input)上的过程内容一起合成记录成一个电影覆盖在Video Stream上
WebCodecs API 有办法做到这一点吗?
我目前的方法是使用 createImageBitmap() 为 Video(input) 和 Canvas(input) 分别捕获一张图片,并将其传递给 WebWorker
在 WebWorker 中,Video 和 Canvas 被绘制到另一个 Canvas(输出)。画好之后又把图片传入,如此循环下去
然后在 Canvas 上执行 captureStream()(输出)
最后,对这个 Canvas(Output) Stream 进行编码并写入 FileWritable
但是我发现这很可能导致我的程序拥塞,即使我使用createImageBitmap生成ImageBitmap传递给WebWorker的transferable object
不知道有没有更好的方法可以把canvas的内容叠加在视频上面输出电影
抱歉英语不是我的母语
是的,webcodecs 可以从你的画布动画中输出一个新的视频。这些的基本步骤如下:
本示例使用网络摄像头流,您可以在那里获取代码,只需将视频帧的源更改为画布即可: