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.

Надеюсь, это поможет!

Другие вопросы по тегам