Как установить FFmpeg на Debian?


36

Я хотел бы знать, как установить FFmpeg на Debian.


1
Аналогичное руководство для Ubuntu: ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
slhck

Я прибыл сюда с вопросом об установке ffmpegна мой Raspberry Pi (XBian, Raspbian), но теперь я вижу, что проблема возникла в самом Debian.
Palswim

Ответы:


69

Текущий Debian ( начиная сstretch и в jessie-backports) включает в себя ffmpegпакет:

sudo apt-get update
sudo apt-get install ffmpeg

Однако эта версия ffmpeg не всегда актуальна. Если вы хотите более свежую версию, у вас есть 3 варианта установки ffmpeg. Я бы предложил попробовать варианты 1 или 2 перед установкой из источника.

Вариант 1: использовать статическую сборку

Загрузите статическую сборку с этого сайта:

http://johnvansickle.com/ffmpeg/

Поместите двоичные файлы, /usr/local/binи вы готовы к работе.

Вариант 2. Установите ffmpeg с сайта deb-multimedia.org.

Чтобы установить ffmpeg, отредактируйте /etc/apt/sources.listи добавьте соответствующую строку для вашего дистрибутива, как указано здесь: http://www.deb-multimedia.org/

Чтобы добавить тестирование Debian, либо отредактируйте файл вручную, либо запустите ..

Пример только для тестирования Debian:

sudo echo deb http://www.deb-multimedia.org testing main non-free \
                  >>/etc/apt/sources.list

После добавления строки для deb-multimedia обновите пакет, добавьте связку ключей и установите ffmpeg.

sudo apt-get update
sudo apt-get install deb-multimedia-keyring
sudo apt-get update
sudo apt-get install ffmpeg

Вы должны будете установить брелок как неаутентифицируемый пакет, используя этот метод.

Вариант 2: установить ffmpeg из исходного кода

Кроме того, вы можете установить из источника. Это как создать файл .deb с помощью checkinstall, который затем можно удалить снова. Установите эти пакеты, yasm или nasm необходимы специально для ffmpeg, остальные обычно полезны для сборки пакетов:

sudo apt-get install yasm nasm \
                build-essential automake autoconf \
                libtool pkg-config libcurl4-openssl-dev \
                intltool libxml2-dev libgtk2.0-dev \
                libnotify-dev libglib2.0-dev libevent-dev \
                checkinstall

Затем клонируйте пакет ffmpeg или загрузите последний снимок:

git clone git://git.videolan.org/ffmpeg.git

или

wget https://www.ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar jxvf ffmpeg-snapshot.tar.bz2

Скомпилируйте ffmpeg:

cd ffmpeg
./configure --prefix=/usr
time make -j 8
cat RELEASE
sudo checkinstall

Большинство значений по умолчанию для checkinstall в порядке, но требуется номер версии. Текущая версия отображается как «cat RELEASE». Это должно создать файл deb в текущем каталоге.

Наконец, установите файл deb, который вы создали с помощью dpkg:

sudo dpkg --install ffmpeg_*.deb

2
+10 баллов. Этот ответ должен быть наверху, так как он самый актуальный.
Монетный двор

2
К сожалению, avconv, который поставляется с Джесси, часто не может заменить ffmpeg, поскольку в нем отсутствуют многие важные функции ffmpeg. Поэтому, если вы хотите избежать установки из источника, единственно допустимый вариант - получить его из deb-multimedia, что немного печально, так как deb-multimedia-keyring не распространяется Debain, поэтому цепочка доверия нарушена.
Тино

2
теперь они переключились обратно на ffmpeg в sid: lwn.net/Articles/650495
Сэм Уоткинс,

1
Ваши инструкции из исходного кода работают на Debian Jessie (от master 4c2244127631da592cb4d6bbdab1d6b050ff98cb). Однако checkinstallпроцедура, похоже, изменилась. Я должен был бежать sudo mkdir /usr/share/ffmpegпервым, чтобы избежать его прерывания. Затем после успешного запуска он автоматически установил сами пакеты, поэтому запускать не нужно sudo dpkg -i. В противном случае хорошо.
0__

Не нужно устанавливать пакет deb, на последнем шаге просто сделайте sudo make install.
it_is_a_literature

26

Теперь он доступен для Джесси в качестве бэкпорта: 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

Ницца. Я создаю образ Docker, и он уже довольно сложный. Этот метод является самым чистым из возможных.
Густавохенке

4
ура, это прекрасно работает и самый актуальный ответ. просто отправляю сообщение Debian 8 jessy, чтобы другие могли найти это GooglingPackage 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
georgiecasey

8

Вы можете установить его через apt-get. Если пакет просто называется "ffmpeg".

sudo apt-get update
sudo apt-get install ffmpeg

Если это не сработает, вы можете попробовать найти его:

sudo apt-cache search ffmpeg

Обратите внимание, что это установит упакованную версию FFmpeg, поэтому она всегда будет немного устаревшей. Если вы столкнулись с ошибками, скомпилируйте FFmpeg из исходного кода.


7

FFMPEG использует git, поэтому вам нужно будет использовать терминал. Смотрите здесь для текущего местоположения

Там довольно всеобъемлющее прохождение игры делать это здесь . Извлекли соответствующий код для ленивых (включая меня).

Стоит отметить, что при настройке отсутствия пакетов вы можете получить некоторые ошибки. Мне нужно было использовать RPM, чтобы получить пару из них при запуске Fedora 14, но ваш пробег может отличаться от Debian.

Оформить заказ FFmpeg:

git clone git://git.videolan.org/ffmpeg.git
cd ffmpeg

Настройте [добавьте свои собственные настройки, если хотите]

./configure

Сборка и установка

make
sudo make install

3

статические сборки (работы)

Перейдите на эту страницу и выберите сборку для вашей архитектуры:

http://johnvansickle.com/ffmpeg/

Захватите URL к файлу сборки

# download it
wget <url>
# unpack it
tar xf <file>

# add path to $PATH
vi ~/.bashrc

# add the path to your unpacked build
export PATH="~/src/ffmpeg-2.8.3-src:$PATH"

# source your bashrc to update your path
. ~/.bashrc

довольно общепринятый Bash здесь. но я добавил несколько комментариев
chovy

Вы можете использовать ~/binили /usr/local/binвместо ~/srcи не нужно возиться с PATH. (Для ~/binвас нужно будет повторно войти или запустить source ~/.profileоднако).
Llogan

или просто ln -s / без упаковки / ffmpeg / usr / bin / ffmpeg
Hayden Thring

1

Я скачал последний снимок ffmpeg отсюда http://ffmpeg.org/download.html . Затем я следовал инструкциям по сборке ffmpeg в Kdenlive http://www.kdenlive.org - но запустил

sudo apt-get update

перед установкой зависимостей. Они есть:

sudo apt-get install subversion git cmake build-essential yasm libqt4-dev kdelibs5-dev libsdl1.2-dev libsdl-image1.2-dev libxml2-dev libx264-dev libtheora-dev libxvidcore-dev libogg-dev libvorbis-dev libschroedinger-dev libmp3lame-dev libfaac-dev libfaad-dev libgsm1-dev libopencore-amrnb-dev libopencore-amrwb-dev libsamplerate0-dev libjack-dev libsox-dev ladspa-sdk swh-plugins libmad0-dev libpango1.0-dev

0

Вот что я сделал к ноябрю 2017 года:

 apt-get update
 apt-get install libav-tools


#List all plugins associated with ffmpeg
apt-cache search ffmpeg 

#cmus-plugin-ffmpeg - lightweight ncurses audio player (FFmpeg plugin)
apt-get install -y cmus

#ffmpeg2theora - Theora video encoder using ffmpeg
apt-get install -y ffmpeg2theora

#ffmpegthumbnailer - fast and lightweight video thumbnailer
apt-get install -y ffmpegthumbnailer

#ffmpegthumbnailer-dbg - debugging informations for ffmpegthumbnailer
apt-get install -y ffmpegthumbnailer-dbg

#libffmpegthumbnailer-dev - development files for ffmpegthumbnailer
apt-get install -y libffmpegthumbnailer-dev

#libffmpegthumbnailer4 - shared library for ffmpegthumbnailer
apt-get install -y libffmpegthumbnailer4

#ffmpegthumbs - video thumbnail generator using ffmpeg
apt-get install -y ffmpegthumbs

#libffms2-3 - Cross platform ffmpeg wrapper library
apt-get install -y libffms2-3

#gmerlin-encoders-ffmpeg - ffmpeg encoders for Gmerlin
apt-get install -y gmerlin-encoders-ffmpeg

#libpostproc-dev - FFmpeg derived postprocessing library - development headers
apt-get install -y libpostproc-dev

#libpostproc52 - FFmpeg derived postprocessing library
apt-get install -y libpostproc52

#moc-ffmpeg-plugin - ncurses based console audio player - ffmpeg plugin
apt-get install -y moc-ffmpeg-plugin

#libtaoframework-ffmpeg-cil-dev - Tao CLI binding for FFmpeg - development files
apt-get install -y libtaoframework-ffmpeg-cil-dev

#libtaoframework-ffmpeg0.4-cil - Tao CLI binding for FFmpeg
apt-get install -y libtaoframework-ffmpeg0.4-cil

#winff - graphical video and audio batch converter using ffmpeg or avconv
apt-get install -y winff

#libxine2-ffmpeg - MPEG-related plugins for libxine2
apt-get install -y libxine2-ffmpeg

Для старых и стабильных libess-инструментов Джесси относится к инструментам, предлагаемым форком Libav, а не FFmpeg. Один из этих инструментов назывался «ffmpeg» (сейчас он мертв и вышел из апстрима), но это не ffmpeg из FFmpeg. Для более новых Debian libav-tools является переходным пакетом, и вы можете просто использовать пакет ffmpeg.
Llogan

-1

Этот репозиторий дает вам пакет:

sudo add-apt-repository ppa:mc3man/trusty-media

затем

sudo apt-get update
sudo apt-get install ffmpeg

1
Это специально для Ubuntu 14.04.
Llogan

-1

Я вижу, что это довольно старая ветка, но так как я только что натолкнулся на нее, я попытаюсь внести некоторую ясность. Я использовал комбинацию ответов, уже указанных, чтобы установить ffmpeg. Я отредактировал /etc/apt/sources.list, добавив deb http://ftp.uk.debian.org/debian jessie-backports main. Тогда apt-get update. Затем apt-get установите ffmpeg.

Это сработало для меня.


Добро пожаловать в Супер пользователя ! Это полезный комментарий, но на самом деле это не ответ. Как только у вас будет достаточно представителей, вы сможете оставлять комментарии к интересующим ответам или вопросам вместо того, чтобы добавлять не ответы.
jpaugh
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.