如何在特定音频通道上应用 ffmpeg Loudnorm?

如何在特定音频通道上应用 ffmpeg Loudnorm?

我正在努力寻找一种通过 ffmpeg 规范化视频文件中特定音频通道的方法(我愿意接受其他建议)。我有 20 个或更多带有 5.1 音轨的视频文件。我倾向于仅规范化该音轨的 FC 通道。通常,我使用 Audacity 手动执行此操作,然后使用 MKVToolNix 将原始音频替换为标准化的音频。这一切都很好,但是当我有数百个视频时,这实在太多了。我尝试了 ffmped Loudnorm 过滤器,它正在发挥作用,但它规范化了所有音频通道,这违背了目的。有什么方法可以自动批量执行此操作吗?

答案1

ffmpeg -i input -filter_complex "[0:a:0]channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR];[FC]loudnorm,aformat=sample_rates=44100:channel_layouts=mono[FC2];[FL]aformat=channel_layouts=mono[FL2];[FR]aformat=channel_layouts=mono[FR2];[LFE]aformat=channel_layouts=mono[LFE2];[BL]aformat=channel_layouts=mono[BL2];[BR]aformat=channel_layouts=mono[BR2];[FL2][FR2][FC2][LFE2][BL2][BR2]join=inputs=6:channel_layout=5.1" -c:v copy output
  1. 提取通道通道分割
  2. 使用劳德诺尔
  3. 重置采样率样本或者格式(loudnorm 使其达到 192000 Hz)。
  4. 将每个通道设置为单声道(连接过滤器所需),使用格式
  5. 加入所有频道加入
  6. 流复制视频。

另请参阅FFmpeg Wiki:音频通道

相关内容