Problemas com FFMPEG - mp4 e amrnb

Iniciado por Salustiano, 21 de Outubro de 2008, 12:33

tópico anterior - próximo tópico

Salustiano

Olá.

Eu estou tentando fazer o FFMPEG converter os formatos AMRNB e MP4, mas não estou tendo sucesso em nenhum dos casos

no caso do AMRNB, usei os parâmetros abaixo

ffmpeg -i test_input_20sec.wav -ar 7950 -ac 1 test_output_20sec.amr

e me foi retornado esse erro:

FFmpeg version SVN-r15137, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --enable-libmp3lame --enable-libvorbis --disable-mmx --enable-shared --enable-nonfree --enable-libamr-nb --enable-libamr-wb --enable-libtheora
  libavutil     49.10. 0 / 49.10. 0
  libavcodec    51.70. 0 / 51.70. 0
  libavformat   52.21. 0 / 52.21. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Sep  1 2008 17:10:15, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Input #0, wav, from 'test_input_20sec.wav':
  Duration: 00:00:17.13, bitrate: 1411 kb/s
    Stream #0.0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Output #0, amr, to 'test_output_20sec.amr':
    Stream #0.0: Audio: libamr_nb, 7950 Hz, mono, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
[libamr_nb @ 0x806b9d0]Only 8000Hz sample rate supported
Error while opening codec for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height


Mudei o audiorate para 8000, como dizia o Log

ffmpeg -i test_input_20sec.wav -ar 8000 -ac 1 test_output_20sec.amr

e recebi isso:

FFmpeg version SVN-r15137, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --enable-libmp3lame --enable-libvorbis --disable-mmx --enable-shared --enable-nonfree --enable-libamr-nb --enable-libamr-wb --enable-libtheora
  libavutil     49.10. 0 / 49.10. 0
  libavcodec    51.70. 0 / 51.70. 0
  libavformat   52.21. 0 / 52.21. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Sep  1 2008 17:10:15, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Input #0, wav, from 'test_input_20sec.wav':
  Duration: 00:00:17.13, bitrate: 1411 kb/s
    Stream #0.0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Output #0, amr, to 'test_output_20sec.amr':
    Stream #0.0: Audio: libamr_nb, 8000 Hz, mono, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
[libamr_nb @ 0x806b9d0]bitrate not supported: use one of 4.75k, 5.15k, 5.9k, 6.7k, 7.4k, 7.95k, 10.2k or 12.2k
Error while opening codec for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height


não entendi o que o programa queria... em outra maquina o ffmpeg converte com os parãmetros abaixo:

ffmpeg -i test_input_20sec.wav -ar 8000 -ac 1 -acodec amr_nb test_output_20sec.amr




para o MP4, instalei a biblioteca libmp4v2-0 e reinstalei o FFMPEG pelo Synaptic, mas quando tento converter os arquivos...

ffmpeg -i test_input_20sec.wav -ab 56000 -ac 1 -ar 24000 test_output_20sec.mp4

FFmpeg version SVN-r15137, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --enable-libmp3lame --enable-libvorbis --disable-mmx --enable-shared --enable-nonfree --enable-libamr-nb --enable-libamr-wb --enable-libtheora
  libavutil     49.10. 0 / 49.10. 0
  libavcodec    51.70. 0 / 51.70. 0
  libavformat   52.21. 0 / 52.21. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Sep  1 2008 17:10:15, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Input #0, wav, from 'test_input_20sec.wav':
  Duration: 00:00:17.13, bitrate: 1411 kb/s
    Stream #0.0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Output #0, mp4, to 'test_output_20sec.mp4':
    Stream #0.0: Audio: 0x0000, 24000 Hz, mono, s16, 56 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Unsupported codec for output stream #0.0


mais uma vez, com a mesma linha de comando consegui converter em outra maquina.

Se puderem me ajudar ficarei muito grato.

canaman

Você deve acrescentar a opção: -ab 12.2k
e sempre usar o -ar 8000
Veja no 1o exemplo onde ele diz: "Only 8000Hz sample rate supported"
e você está usando a opção "-ar 7950" ar, quer dizer "audio (sample) rate"
Já na segunda opção ele fala "bitrate not supported: use one of 4.75k, 5.15k, 5.9k, 6.7k, 7.4k, 7.95k, 10.2k or 12.2k"
Embora você não tenha colocado a opção de bitrate ('-ab' de audio bit rate), ele está usando 64k e informando as opções suportadas.
veja em:
"Output #0, amr, to 'test_output_20sec.amr':
    Stream #0.0: Audio: libamr_nb, 8000 Hz, mono, s16, 64 kb/s

Quanto ao mp4, que eu sabia não existe esta opção. Exatamente em que você quer reproduzir esse arquivo. A extensão correta seria .avi utilizando o codec de vídeo adequado.