【问题标题】:FFMPEG: Two mono to one stereo file whose duration is the longest of those two mono filesFFMPEG:两个单声道到一个立体声文件,其持续时间是这两个单声道文件中最长的
【发布时间】:2016-08-17 10:15:56
【问题描述】:

好的,我试图找到正确的 ffmpeg 命令将两个单声道文件放入一个立体声文件,但一个单声道文件输入到输出的左声道,第二个单声道文件输入到输出的右声道输出的持续时间设置为这两个单声道文件中最长的一个。要创建我想要的内容而不考虑持续时间,请使用以下命令:

ffmpeg -i left.mp3 -i right.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" output.mka

但是,正如它在文档中所说,输出的持续时间默认为最短的输入..但我需要输出具有最长的输入单声道文件的持续时间。我发现这可以使用amixcommand 来完成:

ffmpeg -i INPUT1 -i INPUT2 filter_complex amix=inputs=2:duration=longest:dropout_transition=3 -ac 2 OUTPUT

这会将输出的文件持续时间设置为输入的最长,但不是将 input1 放在左声道,将 input2 放在右声道,而是将它们合并为一个并将它们放在左右声道中。所以左声道=input1+input2;右声道=input1+input2

如何将输出的文件持续时间设置为最长并具有以下结构:

Left channel=input1
Right channel=input2

提前致谢!

【问题讨论】:

    标签: audio ffmpeg


    【解决方案1】:

    您可以使用apad 过滤器填充较短的流,然后使用amerge

    假设left更短,那么使用

    ffmpeg -i left.mp3 -i right.mp3 -filter_complex "[0]apad[a];[a][1]amerge[aout]" -map "[aout]" output.mka
    

    【讨论】:

    • 谢谢,但我怎样才能知道哪个更短?因为我有很多文件需要合并到立体声中,所以我无法手动检查哪个...
    猜你喜欢
    • 1970-01-01
    • 2015-09-22
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多