24kHz 音频文件问题:不支持的比特率 64000

24kHz audio file problem: unsupported bitrate 64000

我经常使用 alexa audio 标签。我知道现在音频标签支持 24kHz 音频文件,所以尝试将我的音频文件从 16kHz 转换过来。我使用文档中提供的命令来执行此操作:

ffmpeg -i <input-file> -ac 2 -codec:a libmp3lame -b:a 48k -ar 24000 <output-file.mp3>

但是当我尝试播放这个文件时,我得到一个无效的响应错误,说:Error: The audio is of an unsupported bitrate 64000。通过查看文件详细信息,我清楚地看到,比特率为 48kbps,采样率为 24kHz。我没有看到它会说 64 或任何接近它的任何值。

如果我将文件编码回 16kHz,它会再次正常播放。

这个命令似乎有问题,因为如果我使用 audacity 对我的文件进行编码,它们将以 24kHz 的频率工作。我还是更喜欢使用ffmpeg,因为我需要编码很多文件。

我问的不是文件格式,格式是对的。我需要 24kHz 采样率的文件,这就是导致问题的原因。我看到了另一个关于类似问题的问题,其他人在那里讨论了关于采样率的问题,但是没有人能够使用 ffmpeg 将文件编码为 24kHz。

有没有人使用 ffmpeg 将文件编码到 24kHz?

感谢 LordNeckbeard 使用 lame 而不是 ffmpeg 的建议。 因此,为了对文件进行编码并将它们设为 24kHz,您可以使用此命令:

lame -b48 --resample 24 input.mp3 output.mp3

Alexa 不会抱怨这样编码的文件。同样如问题中所述,您仍然可以使用 audacity,但我更喜欢使用 CLI,因为我总是需要对一批文件进行编码。

不过,如果有人知道如何用 ffmpeg 做到这一点,请分享。

编辑:

再次感谢 LordNeckbeard 建议将 -write_xing 0 标志添加到 ffmpeg 命令,现在也可以了。

ffmpeg实现24kHz音频文件的命令是:

ffmpeg -i input.mp3 -codec:a libmp3lame -ac 2 -ar 24000 -b:a 48k -write_xing 0 output.mp3