Como converter um arquivo FLV gravado com Red5 / FMS para MP3?
Pergunta
Estou procurando uma maneira de extrair a parte de áudio de um arquivo FLV.
Estou gravando do microfone do usuário e o áudio é codificado usando o Codec Nellymoser Asao.Este é o codec padrão e não há como alterá-lo.
Solução
ffMpeg é o caminho a seguir!Funcionou para mim com SVN Rev 14277.
O comando que usei é: ffmpeg -i source.flv -nv -f mp3 destination.mp3
PEGUEI VOCÊS :
Se você receber esta mensagem de erro: Unsupported audio codec (n)
, Verifica a Especificação FLV no Etiquetas de áudio seção.
ffMpeg pode decodificar n = 6 (Nellymoser).
Mas para n = 4 (Nellymoser 8 kHz mono) e n = 5 (Nellymoser 16 kHz mono) não funciona.
Para consertar isso use a taxa de microfone padrão ao gravar seus streams, o ffMpeg não consegue decodificá-los.
Espero que isto ajude !
Outras dicas
Esta não é uma resposta exata, mas algumas notas relevantes que fiz ao investigar arquivos FLV para um requisito comercial.
A maior parte do áudio FLV é codificada no formato MP3, o que significa que você pode extraí-lo diretamente do contêiner FLV.Se o FLV foi criado a partir de alguém gravando com seu microfone, o áudio é codificado com o codec Nellymoser Asao, que é proprietário (IIRC).
eu verificaria libavcodec, que lida com FLV/MP3/Nellymoser nativamente e deve permitir que você acesse o áudio.
Atualmente estou usando o FFmpeg versão SVN-r12665 para isso, sem problemas (a versão do console, sem nenhuma biblioteca wrapper).Há algumas advertências quanto ao uso de aplicativos de console em ambientes .NET que não são de console, mas é tudo bastante simples.Usar a DLL libavcodec diretamente é muito mais complicado.
Eu ia recomendar isso: http://code.google.com/hosting/takenDown?project=nelly2pcm¬ice=7281.
Mas foi retirado.Que bom que recebi uma cópia primeiro :-)
Um script PHP puro está disponível para isso.
Conversor FLV para MP3 - Script PHP
Mas, isso é comercial.