繁体   English   中英

使用ffmpeg与-itsoffset合并的mp3音频:没有效果

[英]mp3 audio merging with -itsoffset using ffmpeg: no effect

我使用ffmpeg在我的节点服务器中合并mp3。 它的工作原理但偏移没有任何影响..我看不出有什么问题然后我想得到你的帮助:)

var command = "ffmpeg -i "+ input1+ " -itsoffset 40 -i " + input2 +" -filter_complex amerge -c:a libmp3lame -q:a 4 "+ output;

        exec(command, function (error, stdout, stderr) {
            if (stdout) console.log(stdout);
            if (stderr) console.log(stderr);

            if (error) {
                console.log('exec error: ' + error);
                response.statusCode = 404;
                response.end();

            } else {
                // Do something
            }

        });

我也在我的电脑上尝试了它只是在终端,它也适用于同样的问题..

谢谢,Itzhak

您可以将无声音频附加到音频的开头,而不是使用其itsoffset 假设我们有三个音频要合并,每个10秒长。 因此,您可以按如下方式添加无声音频。

  • 第一个音频:没有静音
  • 第二个音频:将10秒无声音频添加到开头
  • 第三音频:将(10秒)x 2无声音频添加到开头

之后,您可以将所有这些音频混合在一起。 要创建静音音频,您可以将aevalsrc过滤器与filter_complex 以下将适用于上述示例。

ffmpeg -i 0.mp3 -i 1.mp3 -i 2.mp3 -filter_complex 
"aevalsrc=0:d=10[s1];
aevalsrc=0:d=20[s2];
[s1][1:a]concat=n=2:v=0:a=1[ac1];
[s2][2:a]concat=n=2:v=0:a=1[ac2];
[0:a][ac1][ac2]amix=3[aout]" -map [aout] out.mp3

这里[s1][s2]是第二和第三输入音频流的相应静音音频源。 然后使用concat过滤器将每个静音源与相应的音频流连接起来。 最后,所有连接的音频将使用amix过滤器混合。

另外,你可以尝试amergeadelay ,其中doc本身有明确的解释。

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM