mpegdash 文件的元数据提取

Metadata Extraction of mpegdash file

我们使用ffprobe,我想知道mpegdash是否被ffprobe支持。我想提取 .mpd 文件的技术元数据,例如比特率。我不想流式传输或编码。我只想看数据

当我 运行 命令 ffprobe -formats 时。我没有看到 ffprobe 支持 .mpd 扩展。是否有任何我需要添加的库或扩展。 或者 ffmpeg/ffprobe 不足以提取数据。您是否有任何其他工具或库可用于此。

mpd 文件是一个简单的文本文件,充当索引并指向不同的音频和视频流。

如果您只是在寻找比特率,您实际上可以直接阅读它 - 例如,具有 5 个不同 ABR 比特率版本的视频流的 mid 将列出不同的 'representations',包括它们的比特率 -例如它将包括一行:

<Representation id="2" width="1280" height="720" frameRate="30/1" bandwidth="2499968" codecs="avc1.4D4029">

好吧,到目前为止还没有人回答,我找到了解决办法。我会自己回答。 如果我们 运行 命令:

ffmpeg -re -i <file_name.mpd> -f dash -

FFmpeg读取需要读取的XML文件。但它也读取块和许多其他信息。这使得提取技术元数据变得困难。我得出的最简单的选择是编写自定义代码来读取 mpeg_dash.mpd 文件。因为 XML 文件包含所有信息。

要详细了解 mpeg_dash 文件的格式:https://www.brendanlong.com/the-structure-of-an-mpeg-dash-mpd.html

您可以使用现有的 MPD 解析器,例如 https://github.com/carlanton/mpd-tools https://javalibs.com/artifact/io.lindstrom/mpd-parser

希望对您有所帮助。