Itz*_*hak 5 audio merge mp3 ffmpeg
我使用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
}
});
Run Code Online (Sandbox Code Playgroud)
我也在我的电脑上尝试了它只是在终端,它也适用于同样的问题..
谢谢,Itzhak
Cha*_*ath 11
而不是使用itsoffset
你可以将无声音频附加到音频的开头.假设我们有三个音频要合并,每个10秒长.因此,您可以按如下方式添加无声音频.
之后,您可以将所有这些音频混合在一起.要创建静音音频,您可以使用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
Run Code Online (Sandbox Code Playgroud)
这里[s1]
和[s2]
是第二和第三输入音频流对应的无声音频源.然后使用concat
过滤器将每个静音源与相应的音频流连接起来.最后,所有连接的音频将使用amix
过滤器混合.
另外,你可以尝试amerge
和adelay
doc本身有明确的解释.
希望这可以帮助!