我正在尝试将 mp3 文件立体声转换为 2 mp3 单声道节点的fluent-ffmpeg模块。这是终端的示例:
ffmpeg -i stereo.wav -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav
我需要在fluent-ffmpeg中实现这个功能。
我正在尝试将 mp3 文件立体声转换为 2 mp3 单声道节点的fluent-ffmpeg模块。这是终端的示例:
ffmpeg -i stereo.wav -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav
我需要在fluent-ffmpeg中实现这个功能。
不确定单声道,但如果你想分割文件,你可以使用
ffmpeg(local_dir).outputOptions('-f segment')
.outputOptions(`-segment_time ${length of each mp3 }`).save(`${save_dir}out%03d.mp3`)
希望它可以帮助你
您已经很久没有问过了,但也许它可以对其他人有所帮助。
我发现解决相同问题的方法是打开文件两次并将每个通道分开保存。
const splitChannels = (file, leftChannelName, rightChannelName) =>{
ffmpeg(file)
.outputOption('-map_channel 0.0.0')
.save(leftChannelName)
.on('error', (err) => {
console.log(`An error occurred: ${err.message}`);
})
.on('end', () => {
console.log('Left channel splitted!');
})
ffmpeg(pathToAudio)
.outputOption('-map_channel 0.0.1')
.save(rightChannelName)
.on('error', (err) => {
console.log(`An error occurred: ${err.message}`);
})
.on('end', () => {
console.log('Right channel splitted!');
})
}
splitChannels('./files/test.wav', 'left.wav', 'right.wav');
更多信息:https ://trac.ffmpeg.org/wiki/AudioChannelManipulation
当然,您也可以使用 .wav 或 .mp3。
希望能帮助到你!