0

是否有任何最佳做法可以将转码后的输出文件的大小保持在特定大小?

我需要将其保持在 <100 MB 以下,但不知何故我最终得到了大输出文件。问题是我的(测试)视频文件为 600kb,而生成的 output.wav 为 4MB。这与我的预期相去甚远。

var proc = new ffmpeg({
        source: file,
        nolog: false
    });
    proc.addInputOption('-acodec libopus');

    format = "wav";

    proc.addOptions([
        '-f ' + format,
        '-ab 192000',
        '-ar 16000',
        '-vn'
    ]);

这就是我将参数提供给 ffmpeg 库的方式。我应该在这里更改哪些参数以减小尺寸并保持最大值。质量?

4

1 回答 1

1

使用 WAV 作为输出格式使 ffmpeg 选择未压缩的 PCM 音频,其中比特率设置不起作用。您可能想阅读这篇文章:什么是编解码器(例如 DivX?),它与文件格式(例如 MPG)有何不同?

如果您使用的是命令行,您只需将音频流复制到输出文件而不接触比特流 ( -c:a copy):

ffmpeg -i input.webm -vn -c:a copy output.opus

在fluent-ffmpeg中,我想这是要走的路:

ffmpeg('input.webm')
  .addInputOption('-acodec libopus')
  .noVideo()
  .audioCodec('copy')
  .output('output.opus')

您也可以webm通过写入output.webm.

于 2017-07-03T18:50:13.167 回答