I have the following FFmpeg command working in the terminal but i want to use it programmatically. I cant understand how to cover the complex filter to fluent-ffmpeg.
Here is the command:
ffmpeg -y -i input1 -i input2 -filter_complex "[0:0][1:0] amix=inputs=2:duration=shortest" -c:a libmp3lame output.mp3
Here is my attempt:
.input("input1.mp3")
.input("input2.mp3")
.complexFilter([
{
filter: "showfreqs",
options: { s: "200x100" },
inputs: "0:a",
outputs: "[freqs]",
},
{
filter: "format",
options: { pix_fmts: "yuv420p" },
inputs: "[freqs]",
outputs: "[vid]",
},
])
.outputOptions(['[0:0][1:0]', 'amix=inputs=2:duration=shortest'])
.outputOptions("-c:a libmp3lame")
.save('out.mp3')
.on('error', function(err, stdout, stderr) {
if (err) {
console.log(err.message);
console.log("stdout:\n" + stdout);
console.log("stderr:\n" + stderr);
}
})```