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


293

Я попытался установить 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

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


1
Что выводится: apt-cache search ffmpeg | grep "ffmpeg" Если вы не видите ffmpegв списке возвращенных результатов, значит, что-то не так с вашим менеджером репо. На данный момент, я бы предложил установку путем сборки из источника. Скачать отсюда
wyas

2
Обратите внимание, что с 2018 года avconv отсутствует в ffmpeg, а libav-tools отсутствует в репозитории Ubuntu!
Сова

Ответы:


258

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


FFmpeg и libav

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

  • 18 января 2011 - коммит f4f5cab94e0881cd30965b28f3d78d9c63d6918e

    Руководитель проекта FFmpeg Майкл Нидермайер удален из MAINTAINERSфайла.

  • 27 июля 2011 г. - зафиксировать 6291d7e41605c0b1e9debfae8a2b1d4cf7b0e0b3

    avconv вводится:

    Сделайте копию ffmpeg под новым именем - avconv.

    Он будет доработан с несколькими несовместимыми изменениями.

    Некоторое время ffmpeg.c будет оставаться без изменений, поэтому любые сценарии, использующие его, не будут нарушены.

  • 27 июля 2011 г. - коммит 791a86c37a03b94207bc2d0ad4cbe7f39d7e495a

    В разветвленную версию ffmpeg.cисходного кода добавлено предупреждение , которое может вводить в заблуждение пользователей, которые не заметили о форке и которые больше не используют FFmpeg.

  • 12 января 2012 - коммит 0fec2cb15cc6ff1fcc724c774ec36abadcb7b6ad

    ffmpeg.c удаляется из исходного кода

Официальные объявления на 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-репозитория. Смотрите страницу загрузки соответствующих проектов.


Когда произошло это изменение?
Сет

@Seth Вы имеете в виду доставку libav вместо FFmpeg или удаление переходного пакета? Я нашел письмо, которое указывает на отчет команды из Технического совета, а также добавил ссылку на исходный пакет на панели запуска, где можно сравнить дерзкие и достоверные списки пакетов, но я не знаю деталей.
LiveWireBT

Я имел в виду удаление пакета, хотя меня интересуют сроки для обоих, если это возможно.
Сет

3
Я мог бы переместить, как установить ffmpeg из ppa до конца. Как «Если вы действительно хотите плыть против течения, и вы уже прочитали все эти вещи ... тогда вы можете сделать это». Вместо того, чтобы положить все это впереди. Например, поощряйте использование вещей, которые находятся в main / uni / multi, если вы можете избежать PPA.
RobotHumans

1
@hbdgaf Я добавил askubuntu.com/q/35629 в качестве заголовка . PPA FFmpeg уже был последним, не считая недавно добавленный раздел истории. Вместо чистой политики (и, вероятно, ненависти) я хотел бы обсудить различные функции, такие как новый фильтр деинтерлейсинга w3fdifв FFmpeg (но это не по теме для этого вопроса). Я не понимаю, почему мне явно отказывают в голосовании (я не виню вас конкретно) за попытку объективно объяснить, что произошло. Я не имею никакого отношения к одному из этих проектов и намерен быть максимально объективным.
LiveWireBT

120

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

Для установки avconvвам необходимо установить libav-toolsпакет:

sudo apt-get install libav-tools

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

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


Простой ответ, но все указания в Интернете говорят о том, как использовать ffmpeg, а не avconv, и именно это привело меня на эту страницу. С извинениями перед Рутрусом: минус один. - Может быть, если вы объясните разницу, мы сможем с этим поработать.
Аарон Холл

2
@ aaron-hall Я думаю, что твое -1 несправедливо. Вы ожидаете что-то не так. Вопрос, поставленный в 2014 году, предельно ясен: отсутствует ли он в 14.04? И ответ - да, в некоторых предыдущих версиях ffmpeg было всего лишь псевдонимом для avconv. Неважно, что вы искали. Может быть, вы не прочитали заголовок страницы, прежде чем нажать на эту страницу. Но не волнуйтесь, я отредактирую с отказом от ответственности для людей с репутацией 184, которые не знают, как работает стек-обмен.
Рутрус

У меня все еще есть 14.04, и я хочу использовать ffmpeg - avconv является заменой или что? В чем различия?
Аарон Холл

Подавляющее большинство ваших представителей на этом сайте связано с этим ответом, который я мог бы написать, основываясь исключительно на материалах в верхнем ответе. Вы должны заработать свою репутацию, написав достойный ответ, который говорит, по крайней мере, вкратце и в целом, в чем различия. Размахивание руками - пустая трата времени. Если это действительно просто псевдоним, в этом случае не должно быть никаких различий в синтаксисе. И если вы это сделаете, вы перевернете мое мнение об ответе, но в его нынешнем виде это противоречит самому себе! Дайте мне знать, когда я смогу удалить эти комментарии.
Аарон Холл

2
libav-tools - это форк от ffmpeg. ffmpegбыл заменен avconvс 2012 по 2014 в репозиториях Ubuntu. Вы можете задать этот новый вопрос для своего ответа или найти его самостоятельно . Вы можете снова использовать ffmpeg начиная с Ubuntu 15.04. Аннотация: libav совместим с синтаксисом ffmpeg, но не наоборот.
Рутрус

47

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

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

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


1
Это должно быть: `sudo add-apt-repository ppa: mc3man / trusty-media :) не может редактировать это, недостаточно символов изменено.
IndexOutOfBoundsException

1
Это не PPA, указанный на FFmpeg.org как текущий официальный PPA. (Также может измениться участник проекта, поддерживающий PPA, поэтому я решил не включать инструкции о том, как добавить определенный PPA.) Также, если вы посмотрите на этот PPA, он обновляет гораздо больше пакетов, чем просто ffmpeg.
LiveWireBT

Это больше не работает.
MadeOfAir

Это работает. Я только что добавил этот PPA и сейчас устанавливаю FFMPEG.
Мухаммед бин Юсрат

3
@LiveWireBT (и другие), что PPA теперь предоставляется в виде ссылки на Ubuntu на странице загрузок FFmpeg ...
Уилф

44

Вы также можете использовать этот PPA: ppa: jon-severinsson / 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

1
Исправлено: apt-add-repository -> add-apt-repository. Если apt-add-repository у вас больше не работает, попробуйте это: stackoverflow.com/questions/13018626/…
RedPixel

2
Это в основном та же информация, которую я разместил в своем ответе, но без предупреждения, которое всегда следует давать, прежде чем советовать пользователям устанавливать пакеты из PPA. Также существует вероятность того, что кто-то еще возьмет на себя обслуживание PPA ffmpeg в будущем или что PPA будет просто перемещен или переименован. Поэтому ссылки на официальные инструкции - это правильный путь, поскольку они сокращают избыточность и затраты на обслуживание.
LiveWireBT

2
Этот не обеспечивает интеграцию GStreamer-ffmpeg. Ответ @ Duong ( mc3manPPA) делает.
Виктор Сергиенко

Этот ppa не поддерживает утопию.
Амир Али Акбари

12
И теперь этот PPA был удален.
MFern

8

Пакет 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

1
Не говорите, что это было пусто, пакеты в saucy содержат двоичный файл dpkg --contents ffmpeg_0.8.7-1ubuntu2_amd64.deb [...] -rwxr-xr-x root/root 106624 2013-10-11 10:41 ./usr/bin/ffmpeg.
LiveWireBT

1
@LiveWireBT не могли бы вы использовать пакет в одиночку? Этот единственный файл был просто двоичным, чтобы связать двоичный файл avconv. Переходные пакеты всегда рассматриваются как пустые пакеты.
Брайам

1
Возможно, мы просто думаем об одном и том же и неправильно понимаем друг друга. :)
LiveWireBT

3

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

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

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


1
dist-upgradeне требуется для установкиffmpeg
Raptor

1

Если вы хотите установить 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 .


Зачем предлагать сборку с общим доступом для amd64 ??, мало что можно получить и может сломать другие приложения, которые зависят от этих общих библиотек.
Даг

0

Если вы хотите, чтобы последний выпуск был свежим с 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

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


-1

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

$ sudo apt-get install libav-tools

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

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

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


Загрязнение /usr/binсимволическими ссылками, как правило, не очень хорошая идея. Что произойдет, если вы обновитесь до современной версии Ubuntu и попытаетесь установить ее ffmpegиз репозитория? Кроме того, avconvэто плохая замена ffmpeg: в нем отсутствуют многие функции, фильтры и т. Д.
llogan

-1

Я потратил 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 в терминале. Удачи

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.