我试图将一个视频文件和两个音频文件(.mp3 和 .wav,尽管我可以使用两个 .mp3 - 不限于特定格式)合并为一个视频。我使用 amix 命令让它工作,但我的音频级别显著下降。这两个音频文件故意设置为不同的级别,我想保持两个文件的级别相同,然后将它们合并。
我已经尝试过以下命令:
-filter_complex "amix=inputs=2"
-filter_complex "aresample=48000,amix=inputs=2,aformat=channel_layouts=stereo"
-filter_complex "amerge=inputs=2"
我也尝试过很多变体。我也考虑过纯粹的复制,而不重新编码音频,但使用 filter_complex,我无法进行纯粹的复制。我尝试过的所有 -map 命令都没有给我想要的效果,不过如果有人有对他们有用的建议,我会再次尝试 -map。
我的两个音频文件都已经标准化了,所以我不打算标准化我的音频,只是在合并时保持它们完全相同。有人处理过类似的事情吗?我也研究过 SoX 来合并它们,但似乎有同样的效果。我猜一定是我遗漏了某些命令。
旁注:视频没有音频,所以我严格地取 2 个额外的音频文件并与视频合并。
更新:看起来,平移过滤器已经接近我想要的效果了。如果有人知道更多关于平移过滤器的知识,可以让我的两个水平保持正确,那将会很有帮助。
命令是
-filter_complex "amix=inputs=2,pan=stereo:c0=c0+c1:c1=c0+c1"
答案1
看起来 pan 命令解决了我的问题。
-filter_complex "amix=inputs=2,pan=stereo:c0=c0+c1:c1=c0+c1"