ffmpeg 同时执行多个音频过滤器是否安全?

ffmpeg 同时执行多个音频过滤器是否安全?

所以我有几个问题。我看到很多人通过简单地执行 -ac 2 将 5.1 转换为立体声... 这是正确的吗?我想我必须做类似的事情:

pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR

正确地对音频进行缩混。我的另一个问题是,这是我正在进行的编码:

    encodecmd = 'ffmpeg -hide_banner -loglevel error -stats -y -i "'+ filename +'" -map_metadata -1 -map_chapters -1 -map 0:0 -map 0:'+ audio +' -map 0:'+ subs + crop + ' -preset slow -c:v libx264 -b:v 2000k -pass 1 -af "compand=0|0:1|1:-70/-70|-60/-20|1/0:5:0:0:0" -c:a aac -b:a 160k -f matroska /dev/null && ffmpeg -hide_banner -loglevel error -stats -i "'+ filename +'" -map_metadata -1 -map_chapters -1 -map 0:0 -map 0:'+ audio +' -map 0:'+ subs + crop +' -preset slow -c:v libx264 -b:v 2000k -pass 2 -af "compand=0|0:1|1:-70/-70|-60/-20|1/0:5:0:0:0" -c:a aac -b:a 160k "'+ name +' ('+ year +').mkv"'

是的,它很长,需要 2 次处理,但让我具体问一下音频,我想用它进行压缩。我的理解是压缩会覆盖整个音频文件。所以我不认为我可以同时创建立体声和进行压缩。我必须先对音频进行编码并进行缩混,然后再运行压缩?另外,由于音频不需要在那里,所以在第一遍就运行压缩是否不好?或者它必须在它生成的文件中。

-af "compand=0|0:1|1:-70/-70|-60/-20|1/0:5:0:0:0" 

所以,我想知道的是:我必须使用音频过滤器进行缩混吗?还是只需要 -ac 2?我可以将压缩和我的 pan=立体声缩混结合起来吗?我是否需要在 x264 的第一遍中进行压缩,还是只能在第二遍中进行压缩?我已经尝试了这些不同的方法几个小时,但还是无法正常工作,所以我现在问。谢谢

答案1

我是否必须使用音频过滤器进行混合,还是只需要 -ac 2?

-ac 2实现了 FFmpeg 自己的立体声混音,除非您有特殊需求,否则应该优先使用它。

我可以将压扩和我的声像=立体声混音结合起来吗?

是的。

-af "pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR,compand=0|0:1|1:-70/-70|-60/-20|1/0:5:0:0:0"

我是否需要在第一次 x264 传递时进行压扩,还是只能在第二次传递时进行?

您可以在第一次传递中跳过音频过滤。在两次传递过程中,第一次传递的唯一目的是允许视频编码器生成和存储视频流的统计数据。


大多数过滤器(音频或视频)每次处理一帧或几帧数据。需要从整个流中获取数据的过滤器(如loudnorm)会分两次处理,就像 2 次视频编码一样。

相关内容