ffmpeg - 将 mp3 文件转换为 Amazon Alexa SSML 所需的编解码器版本(MPEG 版本 2)和比特率(48 kbps)的正确命令是什么?

标签 ffmpeg alexa-skills-kit

我正在尝试将 mp3 文件转换为 Amazon Alexa SSML 标记语言中音频标签所期望的格式,如下所述:https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/speech-synthesis-markup-language-ssml-reference

文档建议使用 https://www.ffmpeg.org/ffmpeg.html

我尝试了此命令,但找不到要使用的正确编解码器:ffmpeg -y -i input.mp3 -ar 44100 -ab 48k -codec:a mpeg2 -ac 1 output.mp3
我知道我需要转换文件,因为 Alexa 失败并出现以下错误:The audio is not of a supported MPEG version

最佳答案

亚马逊需要这个有点令人困惑,坦率地说有点奇怪。 mp3 文件可以是 mpeg1 或 mpeg2 或 mpeg-2.5(非标准,但得到广泛支持)。为此,版本之间的主要区别是比特率和采样率。 Amazon 需要 48kbps(所有 mpeg 版本都支持)。接下来,mpeg-2 仅支持 22050 Hz、24000 Hz 和 16000 Hz 的采样率。因此,重新采样到这些频率之一应该迫使 ffmpeg 到 MPEG-2 第 3 层。
ffmpeg -y -i input.mp3 -ar 16000 -ab 48k -codec:a libmp3lame -ac 1 output.mp3
更多信息在这里和这里:

http://www.mp3-tech.org/programmer/frame_header.html

https://en.wikipedia.org/wiki/MP3

关于ffmpeg - 将 mp3 文件转换为 Amazon Alexa SSML 所需的编解码器版本(MPEG 版本 2)和比特率(48 kbps)的正确命令是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34583224/

相关文章:

ffmpeg - ss 和 t 的定位之间的结果差异?

ffmpeg 在我尝试从一组帧创建视频时输出单帧视频

aws-lambda - 亚马逊 alexa 技能开发

node.js - Alexa 技能响应抱歉,我无法按照您的要求进行操作。请再试一遍

javascript - 需要 Alexa 技能开发中 session 属性的初学者类(class)

javascript - 将授权 header 添加到 GET 请求

FFMPEG:如何将输入的摄像机流保存到具有相同编解码器格式的文件中?

ffmpeg - ffmpeg中的av_log函数输出到文件

node.js - Alexa 自定义技能设备发现

python - 通过 subprocesses.PIPE 从 ffmpeg 接收多个文件