【问题标题】:fluent-ffmpeg: Convert wav to alac .m4a with streamsfluent-ffmpeg:使用流将 wav 转换为 alac .m4a
【发布时间】:2021-03-01 15:59:00
【问题描述】:

在我的 node.js 服务器上,我想将 wav 文件转换为苹果无损 .m4a

使用 fluent-ffmpeg,到目前为止我得到了这个:

const transcoder = ffmpeg(fs.createReadStream(`${__dirname}/convertTest.wav`));

transcoder
  .withAudioCodec('alac')
  .addOutput(fs.createWriteStream(`${__dirname}/test2.m4a`))
  .run()
;

但它会引发以下错误:

Error: ffmpeg exited with code 1: Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 -- 
Conversion failed!

我读到 mp4 容器需要一个可查找的文件,因此不适用于流。所以这实际上有效:

const transcoder = ffmpeg(`${__dirname}/convertTest.wav`);

transcoder
  .withAudioCodec('alac')
  .save(`${__dirname}/test2.m4a`)
  .run()
;

由于我将所有文件都作为流而不是物理文件,因此我正在寻找以某种方式将其抽象出来以使其与流一起使用的方法。 fluent-ffmpeg 可以做到这一点吗?

alac 编解码器和 .m4a 格式是非可选的,所以我需要它来处理这些格式。

【问题讨论】:

    标签: node.js ffmpeg fluent-ffmpeg


    【解决方案1】:

    事实证明,ALAC 编解码器不支持流,因为必须在不同时间读取文件头。所以我不得不在没有流的情况下使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 2023-04-01
      • 2018-05-12
      • 2013-04-28
      • 2018-01-03
      相关资源
      最近更新 更多