我正在努力寻找一种通过 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
另请参阅FFmpeg Wiki:音频通道。