我正在寻找一种方法/最佳实践来调整大小,也许可以在所有实际浏览器中使用Javascript,HTML5或Webassambly修剪视频,然后再保存在文件系统中。
在浏览器中操作视频的"最佳"方法是什么?我正在寻找不同的可能性概念:
- JS-框架
- 一个Webassembly Lib
- WebGL
- RTP流式传输到本地Websoket并保存在存储中
- 使用像getUserMedia((这样的WebAPI
目标是通过IPFS共享分散的视频,因此无法在服务器端调整大小。 调整大小后可以保存结果。
作为过程示意图,它看起来像:
- 从文件系统
<input type='file' />
中打开/选择视频 - 调整视频大小并可能修剪为给定属性
- 也许可以临时保存在"本地存储"中或通过文件系统API
- 做其他工作,如出版等。
我的想法实际上是将视频流式传输到文档本身并捕获流。但我不确定是否有更快速有效的方法来完成这项工作。也没有必要在调整大小时播放视频。
希望你能帮助我找到一个好的解决方案,并告诉我你对此的经验。
唯一合理的方法是将视频帧绘制到画布上(不需要WebGL,只需.drawImage()
(,并使用CanvasCaptureMediaStream并使用MediaRecorder API进行记录。
不过这很奇怪...不能保证正确的帧计时,大多数浏览器在选项卡未处于活动状态时都有错误等。
另一种方法是为 JavaScript 构建 FFmpeg,最终变得庞大而缓慢。
如果可能的话,你最好做一个浏览器扩展来处理这个问题,直到 Web Codecs API 实现。