Я использую Ubuntu Server 10.04 LTS x64. Я использую ffmpeg на этой машине для кодирования видео H.264 со звуком AAC более года.
На этой неделе было обновление пакетов ffmpeg, которое, похоже, сломало кодировщик AAC.
Команда, которую я использую:
/usr/bin/ffmpeg -y -i '/tmp/original.mov' -acodec libfaac -ar 44100 -ab 128k -vcodec libx264 -level 41 -crf 25 -r 25 -s '1280'x'720' -bufsize 250000k -maxrate 2500k -vpre lossless_slower '/tmp/converted.mp4'
Преобразование завершается ошибкой:
Unknown encoder 'libfaac'
Выход ffmpeg -v
:
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.1-1ubuntu1.2 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Sep 16 2011 17:08:44, gcc: 4.4.3
ffmpeg: missing argument for option '-v'
Применимый выход ffmpeg -formats
:
Codecs:
D A aac Advanced Audio Coding
В E
для кодировки отсутствует.
У меня уже было libfaac-dev
и libfaac0
установлен и установлен faac
постфактум, чтобы посмотреть, поможет ли это. Никаких кубиков.
Предложения? Приветствую любые советы. Спасибо.
В различных сборках ffmpeg определенные модули включены / отключены, часто по юридическим причинам. (Некоторые запатентованные кодеки и другие кодеки, как правило, не могут распространяться, кроме как в исходной форме, в зависимости от страны.)
Если вам нужен полный пакет, вам, вероятно, придется собрать его самостоятельно или в течение часа просматривать Google в поисках двоичного файла, в котором есть модули, которые вы ищете.
При использовании Medibuntu основные пакеты libav по-прежнему устанавливаются из официального репозитория Ubuntu. Medibuntu добавляет -extra
пакеты, которые предоставляют платную функциональность.
Когда Ubuntu выпускает новую версию libav, -extra
пакеты в Medibuntu требуют времени для обновления. Старый -extra
пакеты несовместимы с новой версией, поэтому при обновлении -extra
пакеты удаляются, тем самым удаляя несвободные кодеки.
Решение состоит в том, чтобы не обновлять libav до тех пор, пока Medibuntu не выпустит обновленную версию. -extra
пакеты.
Вы можете попробовать использовать репозиторий Medibuntu. Это сторонний репозиторий, содержащий пакеты, которые нельзя включить в официальные репозитории Ubuntu.
Видеть http://ubuntuforums.org/showthread.php?t=1117283 Чтобы получить больше информации.