我在Javascript中有一个视频Blob数组; 该阵列被分段为1秒间隔.我想从视频的开头和结尾修剪.
我发现了这篇文章(如何编辑修剪浏览器中的视频),描述了如何修剪我的blob,但它只适用于视频的结尾.
我怀疑删除blob的开头会删除标头信息并使webm无效.
这有效:
// remove 2 seconds from the end of the video
const trimmedVideo = blobArray.slice(0, blobArray.length - 2);
这不起作用:
// remove 1 second from the start of the video
const trimmedVideo = blobArray.slice(1, blobArray.length);
如何从视频blob的开头修剪?
一个 hacky 和次优的解决方案,您可以将 blob 设置为视频元素的源,然后查找要开始修剪的时间戳(甚至可以使用#t=[starttime][,endtime]语法通过 uri 执行此操作),将该视频元素流式传输到新录音机,然后播放它直到您想要修剪的时间戳。
您可以通过丢弃斑点块来修剪末端来简化这一点,但正如@Nuthinking所说,您会失去精度(即使视频播放器也不会100%精确,我相信firefox的工作精度为2ms)。
虽然我相信这可行,并且视频不需要位于 DOM 中,但您将按 1:1 时间进行编码。
我不知道任何其他只涉及 HTML5 的答案。这个问题很棘手,因为MediaRecorderAPI 明确表示生成的 blob 块不需要可以自行播放。
| 归档时间: |
|
| 查看次数: |
617 次 |
| 最近记录: |