是否有最佳做法可将转码后的输出文件的大小保持在特定大小?
我需要将它保持在< 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库提供参数的方法。 我应该在这里更改哪些参数以减小尺寸并保持最大值。质量?
答案 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
。