7

Моя установка Debian Джесси, кажется, делает все возможное, чтобы я не мог установить ffmpeg.

Я прочитал Как установить FFmpeg на Debian?, но avconv не является опцией, и добавление deb http://www.deb-multimedia.org stable main non-free в мой sources.list не очень помогло. Я сделал apt-get install libav-tools , думая, что это избавит от проблем с зависимостями ffmpeg.

Вот что теперь пытается получить ffmpeg:

    $ sudo apt-get install ffmpeg
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ffmpeg : Depends: libavcodec56 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
          Depends: libavdevice56 (>= 10:2.6.8) but it is not going to be installed
          Depends: libavfilter5 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
          Depends: libavformat56 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
          Depends: libavresample2 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
          Depends: libavutil54 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
          Depends: libpostproc53 (>= 10:2.6.8) but it is not going to be installed
          Depends: libswresample1 (>= 10:2.6.8) but it is not going to be installed
          Depends: libswscale3 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
E: Unable to correct problems, you have held broken packages.

Что apt-get пытается мне сказать и как мне избавиться от этой проблемы?

5 ответов5

24

Теперь он доступен для Джесси в качестве бэкпорта: https://packages.debian.org/jessie-backports/ffmpeg

Добавьте что-то вроде этого в /etc/apt/sources.list (с вашим предпочтительным зеркалом):

deb http://ftp.uk.debian.org/debian jessie-backports main

затем

apt-get update
apt-get install ffmpeg
3

Попробуйте использовать aptitude для его установки, потому что он даст вам возможные решения. Просто убедитесь, что вы внимательно смотрите на каждого.

sudo aptitude install ffmpeg
3

Исправить сломанный пакет

sudo apt-get install -f

Добавьте следующие строки в /etc/apt/sources.list

deb http://www.deb-multimedia.org jessie main non-free
deb-src http://www.deb-multimedia.org jessie main non-free

Обновить:

apt-get update

Добавьте ключ

apt-get install deb-multimedia-keyring

Обновить

apt-get update

Удалить пакет ffmpeg Debian

apt-get remove ffmpeg

От имени пользователя root Установите пакеты библиотеки и инструменты сборки:

apt-get install build-essential libmp3lame-dev libvorbis-dev libtheora-dev libspeex-dev yasm pkg-config libfaac-dev libopenjpeg-dev libx264-dev

Загрузите последнюю версию ffmpeg отсюда

wget https://ffmpeg.org/releases/ffmpeg-3.0.2.tar.bz2

Извлеки это

tar xvjf ffmpeg-3.0.2.tar.bz2

Переместить в каталог

cd ffmpeg-3.0.2

Сконфигурировать, собрать и установить:

./configure --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libspeex --enable-shared --enable-pthreads --enable-libopenjpeg --enable-libfaac --enable-nonfree
make -j 16
sudo make install
2

Почему никто не использует оригинальную рекомендацию Debian ?? Это просто !

Просто добавь

deb http://httpredir.debian.org/debian jessie-backports main non-free
deb-src http://httpredir.debian.org/debian jessie-backports main non-free

в

/etc/apt/sources.list

и запустите обновление:

apt-get update && apt-get install ffmpeg && ffmpeg -i

ffmpeg -i
ffmpeg version 2.6.9 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
1

Простым вариантом является загрузка уже скомпилированного исполняемого файла ffmpeg.

Как только вы загрузите и распакуете его, у вас будет несколько вариантов его запуска

  • Перейдите в каталог, содержащий исполняемый файл, и запустите ./ffmpeg -i ... (обратите внимание на префикс ./ ).

  • Укажите полный путь к исполняемому файлу, например /home/user/Downloads/ffmpeg -i ...

  • Поместите его где-нибудь в вашей PATH , например, ~/bin . Затем запустите source ~/.profile или просто выйдите из системы, затем войдите в систему. Теперь вы можете просто запустить команду ffmpeg из любого места, не используя два предыдущих метода.

Загружаемый исполняемый файл компилируется ежедневно и всегда более актуален, чем то, что доступно в хранилище.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .