Какая правильная команда для преобразования mp3-файла в требуемую версию кодека (MPEG версии 2) и битрейт (48 кбит/с) для Amazon Alexa SSML?

Я пытаюсь преобразовать файл mp3 в формат, ожидаемый аудиотегом на языке разметки Amazon Alexa SSML, как описано здесь: https://developer.amazon.com/public/solutions/alexa/alexa-наборнавыков/документы/синтезречи-разметка-язык-ssml-ссылка

В документации рекомендуется использовать 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


person Asimov4    schedule 04.01.2016    source источник
comment
попробуй с -codec:a mp2   -  person Robert Rowntree    schedule 04.01.2016


Ответы (2)


Это немного сбивает с толку, и, честно говоря, немного странно, что Amazon требует этого. Файлы mp3 могут иметь формат mpeg1, mpeg2 или mpeg-2.5 (нестандартный, но широко поддерживаемый). Для этого основными отличиями между версиями являются битрейт и частота дискретизации. Amazon требует 48 кбит/с (поддерживается во всех версиях mpeg). Далее, mpeg-2 поддерживает только частоты дискретизации 22050 Гц, 24000 Гц и 16000 Гц. Таким образом, повторная выборка на одну из этих частот должна заставить ffmpeg перейти на уровень 3 MPEG-2.

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

person szatmary    schedule 04.01.2016
comment
Благодаря тонну! 24000 не удалось с этой ошибкой: аудио имеет неподдерживаемый битрейт 64000, но 16000 работал как шарм! - person Asimov4; 04.01.2016
comment
Мне тоже требовался битрейт 16000. - person ostler.c; 22.01.2016
comment
Мне тоже нужен был битрейт 16.000. - person a learner has no name; 30.03.2016

Вот что мне пришлось сделать, чтобы заставить его работать:

ffmpeg -i input.mp3 -b:a 48k -ar 16000 output.mp3

Вот результат, когда я играю с mpg123:

$ mpg123 output.mp3 
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
        version 1.22.4; written and copyright by Michael Hipp and others
        free software (LGPL) without any warranty but with best wishes

Playing MPEG stream 1 of 1: output.mp3 ...

MPEG 2.0 layer III, VBR, 16000 Hz joint-stereo

[0:02] Decoding of output.mp3 finished.
person Miguel Mota    schedule 25.01.2016