如何使用 FFMpeg 在 Node.js 中将音频从 Wav 转换为 MP3

本文介绍了如何在Node.js环境中利用FFMpeg将音频文件从WAV格式转换为MP3,以减小文件大小并节省存储成本。通过使用fluent-ffmpeg库和安装FFMpeg,开发者可以实现这一转换过程。文中提供了在Ubuntu、Apple macOS和Windows上的安装步骤,以及转换音频文件的最终代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        更新:我添加了一篇新文章,描述了如何在客户端执行此操作

        在kaizen.place 上工作时,这是一个鼓励持续改进音乐的音乐应用程序,我发现需要将wav文件转换为mp3. 为了降低托管成本,我为文件上传大小设置了 10 MB 的限制。但是一首标准的 3 分钟歌曲刚好超过 30 MB。间接地,这个限制意味着对于一首完整的歌曲,艺术家需要上传mp3文件。

        在听说(并亲眼目睹)准备上传新版本歌曲的烦恼之后,我认为允许用户上传更大的wav文件,然后将它们转换为mp3. 平均而言,mp3转换后的曲目占用的空间约为wav. 这实质上意味着现在可以接受高达近 100 MB 的 wav 文件,而无需使用超过 10 MB 的存储空间。

        这篇文章浓缩了我从几个不同来源获取的信息,希望能为您的下一个音频项目提供足够的信息。

    安装 fluent-ffmpeg

<span style="background-color:#f2f2f2"><span style="color:rgba(0, 0, 0, 0.8)"><span style="color:#292929">npm 安装 fluent-ffmpeg</span><span style="color:#292929">或者</span><span style="color:#292929">纱线添加流畅的ffmpeg</span></span></span>

     安装ffmpeg

   fluent-ffmpeg只是ffmpeg程序顶部的一个小层。因此,您必须ffmpeg安装

    Ubuntu

      apt-get 安装 ffmpeg

    苹果电脑

<span style="background-color:#f2f2f2"><span style="color:rgba(0, 0, 0, 0.8)"><span style="color:#292929">酿造安装ffmpeg</span></span></span>

   视窗

        去下载Ubuntu并至少将其安装在硬盘驱动器的一个分区上。以后你会感谢我的。

  最终代码

<span style="background-color:#f2f2f2"><span style="color:rgba(0, 0, 0, 0.8)"><span style="color:#292929">从“fluent-ffmpeg”导入 ffmpeg;
从“路径”导入路径;</span><span style="color:#292929">function isWavFile(wavFilename: string) { 
  const ext = path.extname(wavFilename); 
  返回 ext === ".wav"; 
}</span><span style="color:#292929">function convertWavToMp3(wavFilename: string): Promise<string> { 
  return new Promise((resolve, reject) => { 
    if (!isWavFile(wavFilename)) { 
      throw new Error(`Not a wav file`); 
    }</span><span style="color:#292929">  const outputFile = wavFilename.replace(".wav", ".mp3"); 
    ffmpeg({ 
      source: wavFilename, 
    }).on("error", (err) => { 
      reject(err); 
    }).on("end", () => { 
      resolve(outputFile); 
    }).save (输出文件); 
  }); 
}</span></span></span>

  结论

        你有它。上面的代码wav从文件系统加载一个文件并将其转换为mp3.七爪网7claw.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值