Извлечение метаданных из файла mpegdash - PullRequest
0 голосов
/ 01 ноября 2019

Мы используем ffprobe, я хочу знать, поддерживается ли mpegdash ffprobe. Я не хочу извлекать технические метаданные из файла .mpd, например, битрейт. Я не хочу транслировать или кодировать. Я просто хочу прочитать данные

Когда я запускаю команду ffprobe -formats. Я не вижу расширение .mpd, поддерживаемое ffprobe. Есть ли какая-либо библиотека или расширение, которое мне нужно добавить. Или ffmpeg / ffprobe будет недостаточно для извлечения данных. Есть ли для этого какой-либо другой инструмент или библиотека?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Ну, так как до сих пор никто не ответил, и я нашел решение. Я отвечу сам. если мы запустим команду:

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

Я надеюсь, что этопомогает.

0 голосов
/ 04 ноября 2019

Файл mpd - это простой текстовый файл, который действует как индекс и указывает на различные аудио- и видеопотоки.

Вы можете просто прочитать его напрямую, если вы просто ищете битрейт - например,в середине с 5 различными битрейтами ABR версии видеопотока будут иметь в списке различные «представления», включая их битрейты - например, он будет содержать строку типа:

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