有什么方法可以配置 ffmpeg 以包括对签名的 24 位 WAV 输出的支持?

Is there some way to configure ffmpeg to include support for signed 24-bit WAV output?

24 位样本大小对于 PCM/WAV 数据来说并不少见,所以我很惊讶地看到这个:

Invalid sample format 's24'

...当我 运行 这个:

ffmpeg -i input.oga -y -f wav -ar 44100 -sample_fmt s24 -ac 2 output.wav

当我查看 ffmpeg FAQ 页面时,它说它不支持带符号的 24 位样本大小。

很公平,但我很难接受这个支持大量格式的非常强大的工具不知何故缺少对这种非常常见的样本宽度的支持。

我能想到的可能是构建配置问题。

所以这个问题是...

有什么方法可以配置 ffmpeg 以支持签名的 24 位 WAV 输出吗?

没有样本格式可以紧凑地存储 24 位样本,但它们可以通过填充以 32 位存储。为此,select 一个 24 位 PCM 编码器

ffmpeg -i input.oga -y -f wav -ar 44100 -c:a pcm_s24le -ac 2 output.wav

运行 ffmpeg -encoders | grep 24 获取所有 24 位编码器的列表。