6

. 我试图了解 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 文件:

http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/Valkaama/valkaama_1s/valkaama_1s_50kbit/valkaama_50kbit_dash.mp4

和 m4s 块通过以下链接:

http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/Valkaama/valkaama_1s/valkaama_1s_50kbit/valkaama_1s1.m4s

我尝试在 vlc 播放器中播放 mp4 和 m4s,但无法播放这两个中的任何一个,所以我想问一下 mpd 文件格式中的哪些块链接我可以在 vlc 播放器中独立播放。

如果我的任何观察结果有误,请纠正我:

问候马扬克

4

4 回答 4

8

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 并享受。

于 2019-01-02T22:46:42.813 回答
7

DASH 播放器通过选择一个周期来播放 MPD,在周期中选择一个或多个 AdaptationSet,然后每个 AdaptationSet 一个表示。对于选择的表示,它下载初始化段和一些媒体段并将其传递给媒体引擎。正如其他人所指出的,您可以通过连接来模拟它(仅cat在 Linux 上使用)。

MPEG-DASH 标准要求初始化段(在您的情况下为 mp4 文件)不包含数据。这是因为在切换播放器时可能会多次使用初始化段。您可以在播放器中打开它,但它不包含任何媒体。

对于 m4s 文件,它们包含媒体数据,但如果没有相关的初始化段,它们就无法解释。

于 2015-09-07T20:18:01.027 回答
4

您可以下载初始化段 (SegmentBase/Initialization@sourceURL) 和所有媒体段 (SegmentList/SegmentURL@media) 并连接所有内容(例如,使用 windows 上的复制命令)。结果应该可以在 VLC 上播放。这必须分别针对音频和视频进行。在下一步中,您可以使用 MP4Box 或类似工具来混合音频和视频。

或者,您可以使用 www.dash-downloader.com 一步下载所有内容。该页面将显示一些日志,解释它在做什么。这可能会有所帮助。

(完全披露:那是我的网站)。

于 2015-08-21T09:19:57.000 回答
2

我认为不可能在独立播放器中播放任何文件。mp4 是解码 .m4s 媒体段所需的初始段。我认为 vlc 播放器中没有将初始化段映射到多个媒体段的选项。不过,您可以尝试使用 Dash 播放器来播放清单文件。例如dash.js

初始化段:包含解码媒体段序列所需的所有初始化信息的字节序列。这包括编解码器初始化数据、多路复用段的轨道 ID 映射和时间戳偏移(例如编辑列表)。

媒体段:包含媒体时间线一部分的打包和时间戳媒体数据的字节序列。媒体段总是与最近附加的初始化段相关联。

来源:http ://www.w3.org/TR/media-source/#init-segment

于 2015-08-13T19:03:34.380 回答