Задача: для следующей заметки касающейся работы платы 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.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru