。 我想了解mpd文件是如何播放的,我指的是以下数据集: http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/Valkaama/MPDs/Valkaama_1s_act_isoffmain_DIS_23009_1_v_2_1c2_2011_08_30.mpd
在mpd文件格式中,段基础由mp4块组成,其中包含扩展名为.m4s.的块列表。我使用以下命令下载了mpd文件:
和m4s chunk通过以下链接:
我试图在vlc播放器中同时播放mp4和m4s,但是无法播放这两个中的任何一个,所以我想问一下mpd文件格式中的哪个块链接我可以在vlc播放器中独立播放。 / p>
如果我的任何观察结果有误,请纠正我:
此致 Mayank
答案 0 :(得分:7)
DASH播放器通过选择Period,并在Period中选择一个或多个AdaptationSet,然后每个AdaptationSet一个Representation来播放MPD。对于所选的表示,它下载并将初始化段和一些媒体段传递给媒体引擎。如其他人所示,您可以通过连接(在Linux上简单地使用cat
)来模拟它。
MPEG-DASH standard要求初始化段(在您的情况下为mp4文件)不包含任何数据。这是因为切换播放器时可能会使用几次初始化段。您可以在播放器中打开它,但它不包含任何媒体。
对于m4s文件,它们包含媒体数据,但如果没有关联的初始化段,则无法解释它们。
答案 1 :(得分:4)
您可以下载init段(SegmentBase / Initialization @ sourceURL)和所有媒体段(SegmentList / SegmentURL @media)并连接所有内容(例如,在Windows上使用copy命令)。结果应该可以在VLC上播放。必须分别对音频和视频进行此操作。在下一步中,您可以使用MP4Box或类似工具来复用音频和视频。
或者,您可以使用www.dash-downloader.com一步下载所有内容。该页面将显示一些日志,说明它正在做什么。这可能会有所帮助。
(完全披露:这是我的网站)。
答案 2 :(得分:2)
我认为不可能在独立播放器中播放任何文件。 mp4是解码.m4s媒体段所需的init段。我不认为vlc播放器中有一个选项可以将init段映射到多个媒体段。不过,您可以尝试使用Dash播放器播放清单文件。例如dash.js
初始化段:一个字节序列,包含解码一系列媒体段所需的所有初始化信息。这包括编解码器初始化数据,多路复用段的磁道ID映射以及时间戳偏移(例如编辑列表)。
媒体片段:包含打包和&节点的字节序列时间戳媒体时间线的一部分的媒体数据。媒体段始终与最近附加的初始化段相关联。
答案 3 :(得分:0)
MPD文件只是各种格式的流的索引,以适应您的带宽,以获取更多信息,请点击此处其他答案的链接。
可以下载所有流并将其合并为一个文件,您可以使用youtube-dl来实现:
youtube-dl http://URL/TO/manifest.mpd
您可以在https://stackoverflow.com/a/39931712/1522342中获得更多信息。
此外,VLC 3.0.0+可以从URL播放此类文件,只需打开VLC,使用快捷键CTRL + N,粘贴URL即可享用。