FFmpeg 将音频转换为 Opus 会产生比预期更大的文件

FFmpeg 将音频转换为 Opus 会产生比预期更大的文件

我有很多 16 位 8KHz wav 文件,正在尝试将其转换为Opus格式。

使用示例文件,ffmpeg在一秒钟内完成转换:

ffmpeg.exe -i file.wav -b:a 24k -c:a libopus FileFromFFmpeg.opus

ffmpeg 版本 5.1.2-essentials_build-www.gyan.dev 版权所有 (c) 2000-2022 FFmpeg 开发人员

如果我使用opusenc(来自 OpusTools),大约需要 3 秒:

opusenc --bitrate 24 file.wav FileFromOpusEnc.opus

使用 libopus 1.4-9-gc8549975 AVX2 [2023 年 12 月 11 日] (libopusenc 0.2.1-18-gd53a41b AVX2 [2023 年 12 月 11 日]) (音频) 进行编码

两个文件都可以正常播放,但来自 FFmpeg 的文件大小是其两倍:

  • FileFromFFmpeg.opus - 534958 字节
  • FileFromOpusEnc.opus - 283811 字节

查看文件ffprobe,唯一的区别是比特率:

FileFromFFmpeg.opus: Duration: 00:02:24.02, start: 0.000000, bitrate: 29 kb/s

FileFromOpusEnc.opus: Duration: 00:02:24.01, start: 0.000000, bitrate: 13 kb/s

我曾尝试将该-vbr选项添加到 FFmpeg(显然是默认选项),但这没有任何区别。

鉴于 FFmpeg 的速度如此之快,我想使用它,但我无法将文件大小调整到应有的大小。我是否遗漏了某些选项?

相关内容