Задача: для следующей заметки касающейся работы платы Raspberry Pi 3 Model B и USB камеры мне необходимо чтобы в системе Raspbian была установлена утилита ffmpeg, но т. к. ее нет в дефолтных репозитариях я разберу все шаги для ее установки.
Текущая система настроена по заметке:
pi@raspberrypi:~ $ uname -a && lsb_release -a
Linux raspberrypi 4.4.48-v7+ #964 SMP Mon Feb 13 16:57:51 GMT 2017 armv7l GNU/Linux
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 8.0 (jessie)
Release: 8.0
Codename: jessie
У меня 4 ядра это особенность имеющейся у меня платы Raspberry Pi 3 Model B:
pi@raspberrypi:~ $ cat /proc/cpuinfo | grep processor | wc -l
4
pi@raspberrypi:~ $ sudo apt-get install libx264-dev -y
pi@raspberrypi:~ $ cd /usr/src
pi@raspberrypi:/usr/src $ sudo git clone git://source.ffmpeg.org/ffmpeg.git
Cloning into 'ffmpeg'...
remote: Counting objects: 498805, done.
remote: Compressing objects: 100% (110204/110204), done.
remote: Total 498805 (delta 398230), reused 486863 (delta 387674)
Receiving objects: 100% (498805/498805), 84.68 MiB | 3.18 MiB/s, done.
Resolving deltas: 100% (398230/398230), done.
Checking connectivity... done.
Checking out files: 100% (6352/6352), done.
pi@raspberrypi:/usr/src $ cd ffmpeg/
Читаем справку по опциям конфигурирования:
pi@raspberrypi:/usr/src $ sudo ./configure --help
pi@raspberrypi:/usr/src/ffmpeg $ sudo ./configure --arch=armv7l --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
-j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg.
pi@raspberrypi:/usr/src/ffmpeg $ sudo make -j4
дабы плата не грелась в момент компиляции следует подключить кулер для охлаждения.
pi@raspberrypi:/usr/src/ffmpeg $ sudo make install
pi@raspberrypi:/usr/src/ffmpeg $ cd ~/
pi@raspberrypi:~ $ ff<TAB>
ffmpeg ffprobe ffserver
pi@raspberrypi:~ $ ffmpeg -version
ffmpeg version N-83651-gd34bf88 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.9.2 (Raspbian 4.9.2-10)
configuration: --arch=armv7l --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
libavutil 55. 47.100 / 55. 47.100
libavcodec 57. 81.100 / 57. 81.100
libavformat 57. 66.102 / 57. 66.102
libavdevice 57. 2.100 / 57. 2.100
libavfilter 6. 74.100 / 6. 74.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
Либо же можно установить утилиту ffmpeg из уже скомпилированного, т. е. Пакет, что в одних условиях лучше меньше засорять систему самосбором, но с другой стороны возможно не все функции будут актуальными:
pi@raspberrypi:~ $ cd /usr/src/ffmpeg/
pi@raspberrypi:/usr/src/ffmpeg $ sudo make uninstall
pi@raspberrypi:/usr/src/ffmpeg $ cd ~/
pi@raspberrypi:~ $ wget https://github.com/ccrisan/motioneye/wiki/precompiled/ffmpeg_3.1.1-1_armhf.deb
pi@raspberrypi:~ $ sudo dpkg -i ffmpeg_3.1.1-1_armhf.deb
pi@raspberrypi:~ $ ffmpeg -version
ffmpeg version 3.1.1 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.2 (Raspbian 4.9.2-10)
configuration: --prefix=/usr --enable-gpl --enable-libx264 --enable-nonfree --enable-shared --disable-static
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 48.101 / 57. 48.101
libavformat 57. 41.100 / 57. 41.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 47.100 / 6. 47.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Итого, утилита ffmpeg успешно установлена на операционную систему Raspbian платы Raspberry Pi 3 Model B как и было задумано. Если же мне потребуются еще какие-либо возможности утилиты ffmpeg, то я перекомпилирую ее с учетом необходимых возможностей. Либо же установлю deb пакет который я теперь знаю где можно скачать и установить.
На этом я прощаюсь, с уважением Олло Александр aka ekzorchik.