Fluent-ffmpeg如何在不丢失任何声音的情况下减小输出文件的大小

时间:2017-07-03 18:21:02

标签: ffmpeg fluent-ffmpeg

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

我需要将它保持在< 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库提供参数的方法。 我应该在这里更改哪些参数以减小尺寸并保持最大值。质量?

1 个答案:

答案 0 :(得分:1)

使用WAV作为输出格式使ffmpeg选择未压缩的PCM音频,其中比特率设置无效。您可能需要阅读这篇文章:What is a Codec (e.g. DivX?), and how does it differ from a File Format (e.g. 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

相关问题