fluent-ffmpeg: как разбить стерео mp3 на 2 монофайла в файле node.js?
Я пытаюсь преобразовать стереофонический файл mp3 в модуль fluent-ffmpeg 2 mp3 моно узла. Это пример для терминала:
ffmpeg -i stereo.wav -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav
Мне нужна реализация этой функциональности в fluent-ffmpeg.
0 ответов
Не уверен насчет моно, но если вы хотите разделить файл, вы можете использовать
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.
Надеюсь, это поможет!