复制音频流,同时使用过滤器重新编码?

复制音频流,同时使用过滤器重新编码?

我使用此命令复制视频和音频流,同时将第一个音频流编码为立体声 AAC 音轨:

ffmpeg -y -i in.mkv -map 0:v -c:v copy -map 0:a:0? -c:a:0 copy -map 0:a:0? -c:a:1 aac -b:a:0 192k -ac 2 -map 0:a:1? -c:a:2 copy -map 0:a:2? -c:a:3 copy -map 0:a:3? -c:a:4 copy out.mkv

不过,我还想用更好的通道映射来过滤立体声音轨,如下所示:

-af "pan=stereo|FL=FC+0.25*FL+0.60*LFE|FR=FC+0.20*FR+0.60*LFE"

但是当我尝试这样做时出现以下错误:

Filtering and streamcopy cannot be used together.

有什么方法可以解决该错误吗?因为我想保留原始音频流,同时将另一个版本编码为“夜间模式”立体声音轨。

答案1

使用

ffmpeg -y -i in.mkv -map 0:v -map 0:a:0? -map 0:a:0? -map 0:a:1? -map 0:a:2? -map 0:a:3? -c copy -filter:a:1 "pan=stereo|FL=FC+0.25*FL+0.60*LFE|FR=FC+0.20*FR+0.60*LFE" -c:a:1 aac -b:a:1 192k -ac 2 out.mkv

-af是适用于所有输出音频流的缩写-filter:a。添加流编号以限定应用程序。

相关内容