Я использую Ubuntu 10.04. Мне нужно конвертировать .3gp файл в формат PCM WAV. Я использую ffmpeg для этого.

Когда он устанавливается из репозитория с помощью aptitude install ffmpeg он устанавливает базовую версию, и я не могу конвертировать то, что мне нужно.

Я установил последнюю версию yasm версии 1.1.0 и новейшую версию x264 - 0.125.2208. После этого я получил ffmpeg, используя git, с официальной домашней страницы git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg .

Я попытался настроить ffmpeg самостоятельно, используя:

./configure --enable-gpl --enable-version3 --enable-postproc 
--enable-nonfree --enable-swscale --enable-pthreads --enable-libmp3lame 
--enable-libx264 --enable-libopencore-amrnb --enable-libopencore-amrwb

Затем: time make && make install .

До этого времени все было хорошо. После преобразования с

ffmpeg -i audiotest.3gp -f s16le -ar 8000 -acodec pcm_s16le audio.wav

Я хотел проверить информацию об этом файле PCM * .wav (ffmpeg -i audio.wav) и получил эту ошибку:

~# ffmpeg -i audio.wav

ffmpeg version N-42619-g6b7849e Copyright (c) 2000-2012 the FFmpeg developers
  built on Jul 21 2012 00:50:52 with gcc 4.4.3
  configuration: --enable-gpl --enable-version3 --enable-postproc --enable-nonfree --enable-swscale --enable-pthreads --enable-libmp3lame --enable-libx264 --enable-libopencore-amrnb --enable-libopencore-amrwb

  libavutil      51. 65.100 / 51. 65.100
  libavcodec     54. 41.100 / 54. 41.100
  libavformat    54. 17.100 / 54. 17.100
  libavdevice    54.  1.100 / 54.  1.100
  libavfilter     3.  2.100 /  3.  2.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
[aac @ 0x943d4e0] Format aac detected only with low score of 1, misdetection possible!
[aac @ 0x9443740] channel element 0.0 is not allocated
    Last message repeated 2 times
[aac @ 0x9443740] More than one AAC RDB per ADTS frame is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Number of bands (16) exceeds limit (4).
[aac @ 0x9443740] Number of bands (7) exceeds limit (2).
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x9443740] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
[aac @ 0x9443740] channel element 2.0 is not allocated
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] channel element 0.0 is not allocated
[aac @ 0x9443740] Number of bands (31) exceeds limit (1).
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Number of bands (16) exceeds limit (2).
[aac @ 0x9443740] channel element 0.7 is not allocated
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Number of scalefactor bands in group (62) exceeds limit (41).
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] channel element 0.2 is not allocated
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] channel element 0.15 is not allocated
[aac @ 0x9443740] Pulse data corrupt or invalid.
[aac @ 0x9443740] Number of scalefactor bands in group (48) exceeds limit (41).
[aac @ 0x9443740] channel element 2.0 is not allocated
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Number of bands (16) exceeds limit (4).
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
    Last message repeated 1 times
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] channel element 2.0 is not allocated
[aac @ 0x9443740] Number of bands (31) exceeds limit (4).
[aac @ 0x9443740] Pulse data corrupt or invalid.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] SSR not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[aac @ 0x9443740] If you want to help, upload a sample of this file to ftp://upload.ffmpeg.org/MPlayer/incoming/ and contact the ffmpeg-devel mailing list.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] channel element 0.0 is not allocated
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] channel element 0.3 is not allocated
[aac @ 0x9443740] Pulse data corrupt or invalid.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Number of bands (35) exceeds limit (16).
[aac @ 0x9443740] Number of scalefactor bands in group (63) exceeds limit (41).
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] channel element 0.0 is not allocated
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] channel element 0.0 is not allocated
[aac @ 0x9443740] Number of bands (38) exceeds limit (10).
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] channel element 0.2 is not allocated
[aac @ 0x9443740] channel element 0.7 is not allocated
[aac @ 0x9443740] Reserved bit set.
    Last message repeated 2 times
[aac @ 0x9443740] channel element 0.2 is not allocated
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
    Last message repeated 1 times
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] decode_band_types: Input buffer exhausted before END element found
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Error decoding AAC frame header.
    Last message repeated 1 times
[aac @ 0x9443740] Reserved bit set.
    Last message repeated 1 times
[aac @ 0x9443740] Number of bands (4) exceeds limit (1).
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Reserved bit set.
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x9443740] Number of bands (31) exceeds limit (8).
[aac @ 0x9443740] Invalid Predictor Reset Group.
[aac @ 0x9443740] Number of bands (31) exceeds limit (2).
[aac @ 0x9443740] Number of bands (28) exceeds limit (1).
[aac @ 0x9443740] channel element 0.0 is not allocated
[aac @ 0x9443740] Input buffer exhausted before END element found
[aac @ 0x9443740] Number of bands (16) exceeds limit (2).
[aac @ 0x9443740] Error decoding AAC frame header.
[aac @ 0x943d4e0] decoding for stream 0 failed
[aac @ 0x943d4e0] Could not find codec parameters for stream 0 (Audio: aac, 4.0, s16, 383 kb/s): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[aac @ 0x943d4e0] Estimating duration from bitrate, this may be inaccurate
audio.wav: could not find codec parameters

Кто-нибудь может мне с этим помочь? Что я делаю не так?

1 ответ1

1

Как следует из первого сообщения об ошибке:

Format aac detected only with low score of 1, misdetection possible!

он неправильно определяет тип входного файла. Укажите формат входного файла, используя опцию -f например так:

ffmpeg -f s16le -i input.wav

и это должно работать лучше.

Однако, если вы просто хотите получить информацию о файле, вы должны использовать вместо этого FFprobe . Обычно он поставляется с FFmpeg, имеет аналогичные параметры и предоставляет информацию в гораздо более удобном для анализа формате. -show_format и -show_streams должны предоставить вам практически всю необходимую информацию о файле.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .