fluent ffmpeg设置音频电平,带复合滤波器
我希望将2个音频与ffmpeg fluent混合,下面是用于此目的的代码fluent ffmpeg设置音频电平,带复合滤波器,ffmpeg,fluent-ffmpeg,Ffmpeg,Fluent Ffmpeg,我希望将2个音频与ffmpeg fluent混合,下面是用于此目的的代码 ffmpeg() .input(audio1) .input(audio2) .complexFilter([ { filter: 'amix', options: { inputs: 2, duration: 'shortest' } } ]) .on('end', async function (output) { console.log(output, 'fil
ffmpeg()
.input(audio1)
.input(audio2)
.complexFilter([
{
filter: 'amix', options: { inputs: 2, duration: 'shortest' }
}
])
.on('end', async function (output) {
console.log(output, 'files have been merged and saved.')
})
.saveToFile("mix.mp3");
现在我还想独立设置这些曲目的音量,尝试将音量作为音频过滤器传递,但是当使用复合过滤器时,它似乎不接受音频过滤器。我知道这个帖子已经有几个月了,但我想我还是会回答的,因为我发现了如何做,如果有人像我一样找到了这个帖子,他们会有答案的
const command = new FfmpegCommand();
//create audio file with voice and engine sound under.
await command
.addInput(inputFilePath)
.addInput('./audio/utility/RB16BengineOnboard.mp3').seekInput(40)
.complexFilter([{
filter: 'volume',
options: ['1.0'],
inputs: "0:0",
outputs: "[s1]"
},
{
filter: 'volume',
options: ['0.15'],
inputs: "1:0",
outputs: "[s2]"
},
{
filter: 'amix',
inputs: ["[s1]","[s2]"],
options: ['duration=first','dropout_transition=0']
}]).output('./audio/temp/overlayed.mp3').on('error', function(err) {
console.log(err);
})
.on('end', function() {
console.log('Amixed audio files together.');
})
.run();
对于输入:“0:0”,第一个0表示第一个addInput文件a,第二个0表示该文件的音频轨迹。
如下文所述:
代码的其余部分是非常自解释的,因为它是卷,并且输出命名了该过滤器的输出,因此可以在代码中稍后用作amix过滤器的输入。我知道这个线程已经有几个月了,但我想我还是会回答它,因为我发现了如何做,如果有人找到了这篇文章就像我做的那样,他们会得到答案的
const command = new FfmpegCommand();
//create audio file with voice and engine sound under.
await command
.addInput(inputFilePath)
.addInput('./audio/utility/RB16BengineOnboard.mp3').seekInput(40)
.complexFilter([{
filter: 'volume',
options: ['1.0'],
inputs: "0:0",
outputs: "[s1]"
},
{
filter: 'volume',
options: ['0.15'],
inputs: "1:0",
outputs: "[s2]"
},
{
filter: 'amix',
inputs: ["[s1]","[s2]"],
options: ['duration=first','dropout_transition=0']
}]).output('./audio/temp/overlayed.mp3').on('error', function(err) {
console.log(err);
})
.on('end', function() {
console.log('Amixed audio files together.');
})
.run();
对于输入:“0:0”,第一个0表示第一个addInput文件a,第二个0表示该文件的音频轨迹。
如下文所述:
代码的其余部分是非常自解释的,因为它是卷,并且输出命名了该过滤器的输出,因此可以稍后在代码中用作amix过滤器的输入