FFmpeg отсутствует в официальных репозиториях в 14.04?

Я попытался установить ffmpeg в trusty/Ubuntu 14.04 и получил следующее сообщение:

$sudo apt-get install ffmpeg

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package ffmpeg is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'ffmpeg' has no installation candidate

Почему пакет не доступен?

10 ответов

Решение

Последние новости


FFmpeg и libav

libav из репозиториев Ubuntu

Ubuntu начала поставлять форк libav вместо FFmpeg в последних выпусках. Если вы установили пакет ffmpeg, то вы фактически установили пакет libav-tools и программу, которая сказала вам использовать avconv вместо ffmpeg в будущем создается впечатление, что ffmpeg устарела, а это не так.

Переходный ffmpeg пакет, кажется, был удален из trusty/Ubuntu 14.04 (сравните список файлов пакета на предмет дерзости и доверия к исходному пакету).

Поэтому один из вариантов - установить пакет libav-tools и использовать avconv вместо этого (заметьте, что это не "основной канал" FFmpeg, а выдающийся форк).

FFmpeg из PPA на панели запуска

Другим вариантом является использование PPA, который обеспечивает FFmpeg. Пожалуйста, посмотрите на страницу загрузки FFmpeg для получения подробной информации о доступных PPA и пакетах. Вы должны проверять отдельные PPA время от времени, если они все еще актуальны.

Смежные вопросы:

Установить из источника

Другой вариант - установить пакеты зависимостей FFmpeg, затем вручную скомпилировать + установить его из исходного кода.

Используйте статические сборки

Хотя это может показаться немного неудобным с точки зрения упаковки, вы также можете использовать любую статическую сборку из надежных источников. В моем случае я сохраняю 32-битные и 64-битные двоичные файлы FFmpeg вместе с двоичными файлами x264-10-Bit в папке для запуска их в Wine или Windows, когда мне это нужно.


Вот что я мог найти, исследуя эту тему. Я не следил за развитием обоих проектов, и я не собираюсь никого обвинять. Вы, как читатель, тоже не должны этого делать.

Как случилось, вилка?

Википедия заявляет, что разветвленный проект, а также первоначальный релиз были объявлены 13 марта 2011 года, однако есть еще кое-что, что происходит.

Копаем Git коммиты

Официальные объявления на libav.org

Следующие посты из раздела новостей (самый старый в последнем):

09 августа 2011

Обновлено 12.09.2011.

Для соответствия нашему новому имени мы переименовали ffplay в avplay, ffserver в avserver и ffprobe в avprobe. Их поведение такое же, только имена были изменены.

С помощью ffmpeg (инструмент командной строки) мы решили использовать эту возможность, чтобы исправить некоторые давние проблемы с юзабилити, которые включают нарушение совместимости. Поэтому мы добавили новый инструмент с именем avconv, который основан на ffmpeg, но имеет другой (надеюсь, более мощный и простой в использовании) синтаксис для некоторых опций. ffmpeg будет оставаться в своем текущем состоянии в течение некоторого времени, поэтому никакие сценарии или внешние интерфейсы, использующие его, не будут повреждены. Однако дальше это не будет развиваться.

Различия между avconv и ffmpeg:

[...]

Обратите внимание, что интерфейс avconv еще не считается стабильным. Более несовместимые изменения могут появиться в следующие недели. Мы объявим здесь, когда avconv будет стабильным.

И ранее в 2011 году:

18 марта 2011 г.

Мы только что выпустили еще один точный релиз из нашей ветки 0.6: Libav 0.6.2. Это еще одна версия, предназначенная только для обслуживания, которая решает две проблемы безопасности.

С этого момента мы будем использовать наш новый проект с именем libav. Но не волнуйтесь, по сравнению с предыдущим выпуском 0.6.1, единственными функциональными изменениями являются два исправления безопасности для декодеров VC1 и APE. Это означает, что libav обеспечивает безболезненную замену для существующих установок FFmpeg.

Более того, мы гордимся тем, что сопровождаем этот исходный выпуск исполняемыми файлами и библиотеками для платформы win32. Эти двоичные файлы включают кодирование H.264 с использованием входящей в комплект библиотеки x264. Наслаждайтесь!

Дистрибьюторам и системным интеграторам рекомендуется обновлять и делиться своими патчами с нашими ветками релизов.

17 марта 2011 г.

Мы только что выдвинули очередную версию релиза из нашей ветки релиза 0.5: FFmpeg 0.5.4. Это еще одна версия, предназначенная только для обслуживания, которая решает ряд проблем безопасности.

Дистрибьюторам и системным интеграторам рекомендуется обновлять и делиться своими патчами с нашими ветками релизов.

13 марта 2011 г.

Мы, как группа разработчиков FFmpeg, решили продолжить разработку FFmpeg под названием Libav. Вся существующая инфраструктура будет перенесена в домен libav.org.

Вы можете обновить свой git-репозиторий, используя следующую команду:

git remote set-url origin 'git://git.libav.org/libav'

На данный момент мы все еще доступны через списки рассылки FFmpeg и IRC-каналы, но мы перейдем к аналогам libav.org. В течение переходного периода и веб-сайт, и источник могут по-прежнему содержать ссылки на FFmpeg. Они исчезнут с течением времени, за исключением случаев, когда это имеет историческое значение.

24 февраля 2011 г.

Разработка FFmpeg перешла на Git, а хранилище SVN больше не обновляется. Репозиторий SVN может быть удален в ближайшее время, поэтому рекомендуется использовать вместо него репозиторий Git.

Последняя редакция SVN была r26402 2011-01-19 и заменяла svn:external libswscale автономной копией.

Обратите внимание, что разработка FFmpeg фактически переместилась в Git-репозиторий и что существует два Git-репозитория. Смотрите страницу загрузки соответствующих проектов.

ffmpeg был заменен в предыдущих выпусках avconv программа из проекта libav.

Установить avconv вам нужно установить libav-tools пакет:

sudo apt-get install libav-tools

avconv очень похоже на ffmpeg, но они также имеют некоторые различия в синтаксисе.

Редактировать: Кажется, Ubuntu 16.04LTS снова ffmpeg в своих репозиториях libav-tools является фиктивным пакетом и создает только псевдоним avconv -> ffmpeg (и другие)

ffmpeg удалил репозиторий Ubuntu вместо libav. Вы должны добавить ppa:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg gstreamer0.10-ffmpeg

смотреть ваш вывод

Вы также можете использовать этот PPA: https://launchpad.net/~jon-severinsson/+archive/ffmpeg

Изменить: Этот PPA был удален с панели запуска, я не знаю, почему. Вместо этого вы можете использовать samrog131 PPA (для Trusty, Utopic & Vivid)

sudo add-apt-repository ppa:samrog131/ppa
sudo apt-get update
sudo apt-get install ffmpeg-set-alternatives

PPA также содержит другие пакеты, которые вам могут не понадобиться. Удалите ppa после установки.

sudo add-apt-repository --remove ppa:samrog131/ppa
sudo apt-get update

Пакет FFMPEG уже давно удален из репозиториев Debian. Там все еще продолжаются дебаты о включении пакета снова в репозитории. Ubuntu, как производная Debian, зависит от решений, принятых в апстриме. С тех пор пакет был пустым с зависимостью от libav. Это было изменено 12 мая 2012 года, когда пакет был удален и удален из архива:

libav (6:0.8.99-1537-gacb2c79-1) experimental; urgency=low

  * New upstream snapshot
    - Drop patches applied upstream
    - Longer build libpostproc, dropped upstream
    - follow soname bump of libavcodec and libavformat 53->54
    - New library: libswresample
  * no longer build and use dirac, removed upstream in favor of libschroedinger
  * remove deprecated ffmpeg package
  * bump shlibs version

 -- Reinhard Tartler <siretart@tauware.de>  Sat, 12 May 2012 22:02:03 +0200

У меня была такая же ошибка при попытке запустить

sudo apt-get install ffmpeg

Поэтому я объединил несколько других ответов, а также контент с этого сайта, чтобы получить следующий рецепт, который работал для меня:

sudo apt-get install ppa-purge
sudo ppa-purge ppa:mc3man/trusty-media  # ignore warning if not found
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get dist-upgrade

sudo apt-get install ffmpeg

Теперь я вижу, что ffmpeg установлен:

sudo find / -type f -name "ffmpeg"

возвращается /opt/ffmpeg/bin/ffmpeg

В командной строке bash команда ffmpeg теперь должен работать из любой папки.

Если вы хотите установить ffmpeg 2.2.1 (из исходного кода) в Ubuntu 14.04, вы можете попробовать его, используя следующие параметры:

Для 64-битной ОС:

Список зависимостей:

yasm frei0r-plugins-dev gnutls-bin libgnutls-dev libass-dev libgsm1-dev libmp3lame-dev libopencv-dev libopenjpeg-dev libopus-dev libpulse-dev libschroedinger-dev libsoxr-dev libspeex-dev libtheora-dev libv4l-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev libopenal-dev libcdio-paranoia-dev

Варианты компиляции:

./configure --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib/x86_64-linux-gnu/  --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib/x86_64-linux-gnu/ --enable-runtime-cpudetect

Для 32-битной ОС:

Список зависимостей:

yasm frei0r-plugins-dev gnutls-bin libgnutls-dev libass-dev libgsm1-dev libmp3lame-dev libopencv-dev libopenjpeg-dev libopus-dev libpulse-dev libschroedinger-dev libsoxr-dev libspeex-dev libtheora-dev libv4l-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev libopenal-dev libcdio-paranoia-dev libopencore-amrwb-dev libopencore-amrnb-dev

Варианты компиляции:

./configure --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-frei0r --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' --disable-stripping  

Для получения дополнительной информации см. Мое видео на YouTube.

Если вы хотите, чтобы последний выпуск был свежим с github, который удовлетворяет подобным ошибкам, сгенерированным из youtube-dl

ERROR: ffprobe or avprobe not found. Please install one.

затем выполните эти команды:

sudo apt-get build-dep ffmpeg

git clone https://github.com/FFmpeg/FFmpeg.git

cd FFmpeg

./configure   --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-openal --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libxvid --enable-libzvbi --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-libssh --enable-libsoxr --enable-libx264 --enable-libopencv --enable-libx265

make -j8
sudo make install

наслаждаться,

Я потратил 2 недели, чтобы установить новейшую версию ffmpeg 2.8.11. Эта версия используется для Ubuntu 16.04. Я советую вам установить эту версию. Я тестировал на Ubuntu 12.04 и Ubuntu 14.04, и он работал хорошо. Вы можете установить libav-tools, как указано выше, но у вас будет проблема с совместимостью. Потому что libav-tools и ffmpeg сейчас разрабатывались двумя разными группами. Следуя моим указаниям. Если у вас есть какие-либо проблемы, можете отправить мне по электронной почте: hohaidang.khtn@gmail.com

$ sudo apt-get update
$ sudo apt-get -y install build-essential checkinstall git libfaac-dev libgpac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libtheora-dev libvorbis-dev pkg-config texi2html yasm zlib1g-dev  libavcodec-extra-53
$ sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
$ sudo apt-get install libdc1394-22 libdc1394-22-dev libgsm1 libgsm1-dev libopenjpeg-dev libschroedinger-1.0-0 libschroedinger-dev libschroedinger-doc libspeex-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev libx264-dev
$ wget https://www.ffmpeg.org/releases/ffmpeg-2.8.11.tar.xz
$ tar xf ffmpeg-2.8.11.tar.xz
$ cd ffmpeg-2.8.11/
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-x11grab --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --disable-yasm // disable yasm if you are using Ubuntu 12.04, if not --enable-yasm
$ make
$ sudo make install

Проверьте ffmpeg, ffserver, ffplay, ffprobe в терминале. Удачи

Первая установка avconv:

$ sudo apt-get install libav-tools

Затем создайте мягкую ссылку на avconv названный ffmpeg:

$ sudo ln -s /usr/bin/avconv /usr/bin/ffmpeg

Теперь вы можете использовать ffmpeg обычно.

Другие вопросы по тегам