Задача:Научить mplayer2 декодировать видефайлы с Андроида со звуком в формате AAC-ELD.
Решение:Собрать fdk-aac.
Предварительно его скачав:
git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git
Я собираю таким скриптом:
читать дальшеautoreconf -fiv
./configure --prefix=/usr --enable-shared \
CFLAGS="-g0 -s" \
CXXFLAGS="-g0 -s"
make -j4
sudo checkinstall --pkgname=fdk-aac --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
После этого скачать и собрать новый ffmpeg.
Обязательно проследить, чтобы после конфигурации был включен декодер fdk-aac, я собираю с этим параметром: --enable-libfdk-aac, на всякий случай.
Собранный ffplay должен научиться декодировать звук, но автоопределение кодека не заработало, заработало только с таким параметром: -acodec libfdk_aac
После этого скачать и собрать новый mplayer2.
Проследить, чтобы произошло связывание с только что собранным ffmpeg.
После этого найти в исходниках mplayer2 файл codecs.conf, положить его в ~/.mplayer и перед описанием кодека audiocodec faad добавить описание кодека fdk-aac:
audiocodec fdkaac
info "FFmpeg libfdk_aac"
fourcc mp4a,MP4A,MP4L
status working
driver ffmpeg
dll "libfdk_aac"
Пояснения:Возможно я изобрёл велосипед и
faad2 тоже умеет декодировать этот формат, не знаю, не проверял. Заработало так, и ладно.
Есть одна проблема,
плохо работает декодирование монофонического звука. Происходит рассинхронизация звука и видео. Пока не особо нужно, может потом разберусь.
Ссылки:
ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGu...github.com/mstorsjo/fdk-aacwww.mplayer2.org/Установка двух версий ffmpeg на одну систему. Ubuntu 12.04