我正在尝试从多个来源并行下载视频。但是,当不遵循视频文件的顺序时,MSE appendBuffer 方法总是失败。
我想以随机顺序附加部分并“尽快”播放视频。我正在探索 SourceBuffer 模式属性以及 timestampOffset。这些都没有帮助。
我想知道对于这样的任务,我拥有的源 webm 文件是否可能是“不支持的格式”(顺序方法工作正常)。
感谢您的任何建议。
更新: 我试图分析众所周知的示例视频文件,我发现可能会乱序附加部分内容。似乎有必要遵循集群字节范围:
<Cluster type="list" offset="4357">
<Timecode type="uint" value="0"/>
<SimpleBlock type="binary" size="7723" trackNum="1" timecode="0" presentationTimecode="0" flags="80"/>
<SimpleBlock type="binary" size="5" trackNum="2" timecode="0" presentationTimecode="0" flags="80"/>
...
</Cluster>
<Cluster type="list" offset="16187">
<Timecode type="uint" value="385"/>
<SimpleBlock type="binary" size="5" trackNum="2" timecode="0" presentationTimecode="385" flags="80"/>
<SimpleBlock type="binary" size="4968" trackNum="1" timecode="13" presentationTimecode="398" flags="80"/>
...
</Cluster>