设置从 WebM header 接收到 sourceBuffer 的流开始偏移量

Setting stream start offset from WebM header received to sourceBuffer

MediaSourceExtensions API 中是否有嵌入方法来从文件 header 获取流长度,而无需手动解析 header?

我问这个的原因是 HTML5 video-player 不明白内容从哪里开始。服务器记录更新文件持续时间的流,并根据请求向浏览器发送初始化时的文件 header 和最新的传入集群。簇的时间码可能离文件的开始很远,我需要在 javascript 中设置流的偏移量。我知道 SourceBuffer object 中有 appendWindowStarttimestampOffset 成员,因此我需要提取 header 接收的文件长度来设置它们.

那么我应该手动解析 header 还是有一些神奇的功能?

PS: 有趣的是,播放器在控制面板中显示实际持续时间

不要手动解析,让浏览器自行判断。根据您的容器格式,可能有相对时间戳,也可能没有。加载块后只需检查缓冲范围,然后将视频搜索到缓冲开始。