Назад | Перейти на главную страницу

Ffmpeg неправильно интерпретирует файлы .aif?

Находясь на сервере Ubuntu 10.04, я установил пакеты ffmpeg с помощью apt. После этого ffmpeg работает и работает как надо. Почти.

Для тестирования я загрузил несколько аудиофайлов. Один из них, файл aif, неправильно интерпретируется. На моей рабочей лошадке (Mac SnowLeopard) ffmpeg сообщает формат как

Stream #0.0: Audio: pcm_s24be, 44100 Hz, 2 channels, s32, 2116 kb/s

мой сервер Ubuntu говорит, что это:

Stream #0.0: Audio: pcm_s24be, 44100 Hz, stereo, s16, 2116 kb/s

что неверная битовая глубина. Затем Ubuntu не может преобразовать файл с сообщением об ошибке.

[pcm_s24be @ 0xcd4b580]invalid PCM packet
Error while decoding stream #0.0

что, конечно, не так. Файл совершенно правильный.

Есть ли какие-нибудь известные проблемы для ffmpeg при интерпретации формата aif? Как я могу узнать, какая версия aif-кодека ffmpeg использует? Есть идеи, как подойти к этому вопросу?


Вывод ffprobe:

FFprobe version SVN-r20090707, Copyright (c) 2007-2009 Stefano Sabatini
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  built on Jan 20 2010 00:13:01, gcc: 4.4.3 20100116 (prerelease)
Input #0, aiff, from 'testfile.aif':
  Duration: 00:00:04.00, start: 0.000000, bitrate: 2117 kb/s
    Stream #0.0: Audio: pcm_s24be, 44100 Hz, stereo, s16, 2116 kb/s

обновление 2: принудительное преобразование с помощью -sample_fmt s32 ничего не меняет.

Странная вещь: даже без использования -sample_fmt s32 я просто понял, что преобразование работает и создает допустимые аудиофайлы. Просто есть сообщение об ошибке сверху.

Да, это так. Согласно информации из группы пользователей ffmpeg, между разработчиками ffmpeg и libav продолжается «война». И кто-то из команды разработчиков Ubuntu, похоже, встал на сторону libav, предоставив намеренно сломанные пакеты для ffmpeg.

Не знаю, правда ли это, но, по крайней мере, я знаю, что установка ffmpeg с использованием apt не работает, в то время как сборка из исходников работает.

Краткое содержание темы можно найти здесь:

http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html

все, хотя это просто сторона истории ffmpeg.