Как определить, какие каналы содержат сжатый звук в видеофайле, с помощью инструментов командной строки?

Как определить, какие каналы содержат сжатый звук в видеофайле, с помощью инструментов командной строки?

У меня есть файл 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

Связанный контент