各位朋友。
我正在尝试使用 ffmpeg 在多个音轨中应用不同的音频滤镜,但目前还没有成功。这是我的命令(Windows):
ffmpeg.exe -y -i "movie_in.mkv" -map_metadata -1 -map 0:v:0 -c:v copy -map 0:a:5 -c:a ac3 -b:a 384k -map 0:a:1 -c:a ac3 -ac 2 -b:a 192k -af:a:0 acompressor=attack=15:release=300:threshold=-25dB:ratio=15:knee=1dB:makeup=10dB -af:a:1 "volume=-10dB" "movie_out.mkv"
输出文件包含 192k 的两个音频,并且仅应用了最后一个过滤器(音量=-10dB)。
因此,使用我的命令,ffmpeg 将忽略为音频 0 设置的比特率和通道,同时也忽略音频 0 的滤波器压缩器。
日志: https://pastebin.com/4BgcSfhi
有什么线索吗?
答案1
您可以使用-filter_complex
:
ffmpeg.exe -y -i "movie_in.mkv" -map_metadata -1 -filter_complex "[0:a:5]acompressor=attack=15:release=300:threshold=-25dB:ratio=15:knee=1dB:makeup=10dB[a0];[0:a:1]volume=-10dB[a1]" -map 0:v:0 -c:v copy -map "[a0]" -c:a ac3 -b:a:0 384k -map "[a1]" -ac:a:1 2 -b:a:1 192k "movie_out.mkv"