Как настроить ffmpeg в Ubuntu для преобразования файла 3GP в PCM WAV?

3068
slhck

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

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

Я установил последнюю версию yasm версии 1.1.0 и новейшую версию x264 - 0.125.2208. После этого я получил FFmpeg с помощью мерзавца из официального сайта с 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 

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

0
Пожалуйста, покажите нам полный, неразрезанный вывод фактического процесса кодирования, * не * из вашего выходного файла. slhck 12 лет назад 0

1 ответ на вопрос

1
blahdiblah

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

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

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

ffmpeg -f s16le -i input.wav 

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

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

Похожие вопросы