Как преобразовать файл FLV, записанный с Red5 / FMS в MP3? - PullRequest
1 голос
/ 16 сентября 2008

Я ищу способ извлечь звуковую часть FLV-файла.

Я записываю с микрофона пользователя, и звук кодируется с помощью кодека Nellymoser Asao . Это кодек по умолчанию, и изменить его невозможно.

Ответы [ 5 ]

6 голосов
/ 16 сентября 2008

ffMpeg - это путь! У меня это работало с SVN Rev 14277.

Я использовал команду: ffmpeg -i source.flv -nv -f mp3 destination.mp3

GOTCHA :

Если вы получите это сообщение об ошибке: Unsupported audio codec (n), проверьте FLV Spec в разделе Audio Tags .

ffMpeg может декодировать n = 6 (Nellymoser).
Но для n = 4 (моно Nellymoser 8 кГц) и n = 5 (моно Nellymoser 16 кГц) это не работает.

Чтобы исправить это используйте стандартную частоту микрофона при записи ваших потоков, чрезмерно ffMpeg не сможет их декодировать.

Надеюсь, это поможет!

2 голосов
/ 16 сентября 2008

Это не точный ответ, но некоторые важные замечания, которые я сделал из исследования FLV-файлов для бизнес-требований.

Большая часть аудио FLV кодируется в формате MP3, что означает, что вы можете извлечь его непосредственно из контейнера FLV. Если FLV был создан из записи с микрофона, аудио кодируется с помощью кодека Nellymoser Asao, который является собственностью компании (IIRC).

Я бы проверил libavcodec , который изначально обрабатывает FLV / MP3 / Nellymoser и должен позволить вам добраться до аудио.

1 голос
/ 16 сентября 2008

В настоящее время я использую FFmpeg версию SVN-r12665 ​​для этого, без проблем (консольная версия, без какой-либо библиотеки-оболочки). Существуют некоторые предостережения относительно использования консольных приложений из неконсольных сред .NET, но все это довольно просто. Использование DLL-библиотеки libavcodec намного сложнее.

0 голосов
/ 03 июня 2015

Для этого доступен чистый PHP-скрипт.

Конвертер FLV в MP3 - PHP Script

Но это коммерческий.

0 голосов
/ 16 сентября 2008

Я собирался порекомендовать это: http://code.google.com/hosting/takenDown?project=nelly2pcm&notice=7281.

Но его сняли. Рад, что сначала я получил копию: -)

...