我有很多 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 的速度如此之快,我想使用它,但我无法将文件大小调整到应有的大小。我是否遗漏了某些选项?