0

我一直在尝试了解 DASH 的工作原理,主要是 MPD 以及远程客户端如何启动以播放流。在 MPD 中的许多参数中,Initialization range 和 SegmentBase indexRange 似乎很受关注。如果我理解正确,这些值会给出基本 URL 和到关键帧的映射,如果客户端查找/倒带视频,则必须检索这些映射。

我的问题是在我实际播放视频之前是否可以看到这些值。例如,我可以使用 youtube-dl 之类的工具下载这些字节范围并以人类可读的方式对其进行解码吗?

非常感激。-杰米

4

1 回答 1

3

我也开始研究,DASH所以对我的回答持保留态度。

SegmentBase您在表示中有单个段时使用。对于多个段,有SegmentListSegmentTemplate。您可以在此MPEG-DASH 概述中找到更多信息。

对于 MPEG-DASH,SegmentBase indexRange属性指向框的位置sidx段索引框)。该框包含有关用于搜索的子段和随机访问点等的信息。此MPEG-DASH 快速教程中有更多信息。

在 WebM-DASH 的情况下,段索引对应于Cues 元素

Initialization range属性指向初始化段。

如果服务器支持它,您可以发出 HTTP Range 请求来获取数据,但您需要解析它。

这里有一个 Node.js ISO BMFF 解析器:iso-bmff-parser-stream和 JavaScript 中的 DASH-IF 参考客户端实现可以在以下位置找到:dash.js

对于 WebM,Cues可以使用mkvinfo读取,正如@jamie 所报告的那样。

于 2015-09-01T09:36:39.110 回答