
У меня есть файл MXF, содержащий 16 аудиодорожек. Язнатьпервые две дорожки (стерео) содержат сжатое видео Dolby E. Используя MediaInfo (gui), он выводит список 16 аудиопотоков со смесью Dolby E и PCM, как показано по этой ссылке:
Графический интерфейс MediaInfo
Мне нужен способ получить эту информацию из командной строки. Я попробовал "ffmpeg -i channel_mapping_1080i2997_5.1_2_comp.mxf -f null -", но он показывает 16 дорожек PCM:
Stream #0:1: Audio: pcm_s24be, 48000 Hz, hexadecagonal, s32 (24 bit), 18432 kb/s
...
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (native) -> wrapped_avframe (native))
Stream #0:1 -> #0:1 (pcm_s24be (native) -> pcm_s16le (native))
Можно ли использовать ffmpeg или какую-либо другую программу командной строки для получения этой информации? Мне конкретно нужно знать, какие аудиодорожки содержат сжатые данные, а какие — PCM.
решение1
У MediaInfo есть версия для командной строки (о которой я не знал, когда задавал свой вопрос). Похоже, она дает всю необходимую мне информацию.
$ mediainfo --Inform="Audio;%ID% %Format%\n" channel_mapping_1080i2997_5.1_2_comp.mxf
3-1 / 2-1 Dolby E
3-1 / 2-2 Dolby E
3-3 PCM
3-4 PCM
3-5 PCM
3-6 PCM
3-7 PCM
3-8 PCM
3-9 PCM
3-10 PCM
3-11 PCM
3-12 PCM
3-13 PCM
3-14 PCM
3-15 PCM
3-16 PCM