如何使用命令行工具检测视频文件中哪些通道包含压缩音频?

如何使用命令行工具检测视频文件中哪些通道包含压缩音频?

我有一个包含 16 个音轨的 MXF 文件。我知道前两个音轨(立体声)包含 Dolby E 压缩视频。使用 MediaInfo(gui),它列出了 16 个音频流,其中混合了 Dolby E 和 PCM,如以下链接所示:

媒体信息图形用户界面

我需要一种方法来从命令行获取此信息。我尝试了“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

相关内容