You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Node.js的fluent-ffmpeg将立体声MP3分割为两个单声道文件?

使用fluent-ffmpeg拆分立体声MP3为左右单声道文件

你要实现的就是把立体声MP3拆分成左右两个独立的单声道文件对吧?对应你给出的ffmpeg终端命令,用fluent-ffmpeg可以很直观地实现,我给你整理了完整的代码方案:

const ffmpeg = require('fluent-ffmpeg');

// 替换成你实际的文件路径
const stereoInput = './stereo.mp3';
const leftChannelOutput = './left.mp3';
const rightChannelOutput = './right.mp3';

// 创建ffmpeg处理实例
const audioProcessor = ffmpeg(stereoInput);

// 配置左声道输出
audioProcessor
  .output(leftChannelOutput)
  .outputOptions('-map_channel', '0.0.0');

// 配置右声道输出
audioProcessor
  .output(rightChannelOutput)
  .outputOptions('-map_channel', '0.0.1');

// 监听处理事件
audioProcessor
  .on('end', () => {
    console.log('搞定!左右单声道文件已经生成啦');
  })
  .on('error', (err) => {
    console.error('转换过程出问题了:', err.message);
  })
  // 启动转换
  .run();

关键细节说明:

  • 首先得确保你已经安装了依赖:执行 npm install fluent-ffmpeg 安装模块,同时系统里必须装有ffmpeg可执行文件(fluent-ffmpeg只是封装层,实际调用的是系统的ffmpeg)。如果ffmpeg不在系统默认PATH里,可以用 ffmpeg.setFfmpegPath('/你的ffmpeg绝对路径') 手动指定。
  • 代码里的 -map_channel 参数和你终端命令完全一致:0.0.0 对应输入文件的第一个音频流的左声道,0.0.1 对应右声道。
  • 因为输入输出都是MP3格式,ffmpeg会自动匹配编码,不需要额外指定编码参数;如果需要自定义编码(比如指定比特率),可以在 .outputOptions() 里加 -b:a 128k 这类参数。

内容的提问来源于stack exchange,提问作者obsidian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:54:38