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

时间:2018-11-26 08:37:41

标签: audio ffmpeg alexa

我经常使用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吗?

1 个答案:

答案 0 :(得分:1)

感谢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