【发布时间】:2017-07-03 18:21:02
【问题描述】:
是否有任何最佳做法可以将转码后的输出文件的大小保持在特定大小?
我需要将它保持在
var proc = new ffmpeg({
source: file,
nolog: false
});
proc.addInputOption('-acodec libopus');
format = "wav";
proc.addOptions([
'-f ' + format,
'-ab 192000',
'-ar 16000',
'-vn'
]);
这就是我将参数提供给 ffmpeg 库的方式。 我应该在这里更改哪些参数以减小尺寸并保持最大值。质量?
【问题讨论】:
-
为什么要输出到 WAV 文件?这将使用未压缩的原始 PCM 音频,这就是您获得如此大的输出文件的原因。如果您不想重新编码(即不损失质量),您不能按原样复制音频流并将其写入单独的
.opus文件吗? -
此外,我真的建议您先在命令行上尝试这些命令 - 然后很明显 ffmpeg 在做什么,它正在选择哪些编解码器,实际比特率是多少等. 只有当您确定正确的命令是什么时,才将其翻译成 fluent-ffmpeg。在询问 ffmpeg 命令行问题时,您将获得比一些实现它的库更好的帮助。 (除非问题出在图书馆本身,很明显。)
-
@slchk,我限于有特定的扩展; flac, wav, 音频/webm 音频/webm;codecs=opus, audio/webm;codecs=vorbis 。我尝试了其他输出格式,但结果还是很大,就像 wav 文件一样。 ffmpeg -acodec libopus -i 2.webm -vn output1x.flac 我还应该在这里指定什么以得到一个小文件?
标签: ffmpeg fluent-ffmpeg