ffmpeg:复制所有音频流并再添加两个

时间:2018-09-30 05:30:41

标签: syntax ffmpeg

我想将所有音频流从输入复制到输出。另外,我想将两个音频流缩混为立体声并将其添加。输出将与输入相同,但具有两个附加立体声轨道。

这是我正在尝试的:

ffmpeg -i INPUT 
    -map 0:0 -c:v copy /
    -map 0:1 -map 0:18 -af aformat=channel_layouts=stereo /
    -map 0:a -c:a copy 
OUTPUT.mkv

这是错误消息。

Filtergraph 'aformat=channel_layouts=stereo' was defined for audio output stream 0:1 but codec copy was selected.
Filtering and streamcopy cannot be used together

任何建议都值得赞赏。

1 个答案:

答案 0 :(得分:0)

编辑:输入流不是单声道,所以继续

ffmpeg -i INPUT 
       -map 0:0 -c:v copy
       -map '[dm]' -map 0:a -c:a copy -c:a:0 aac
       -filter_complex "[0:1]pan=stereo[1a];[0:18]pan=stereo[18a];[1a][18a]amerge,pan=stereo[dm]" 
       OUTPUT.mkv

如果您使用的是Windows,请使用"[dm]",以确保您使用的是最新的git build,而不是发行版。如果没有提供通道映射,则较旧的版本在pan中有一个错误,例如在此修订的命令中。