Як створити потік з веб-камери на Raspberry Pi з ffmpeg
User Rating: / 1
PoorBest 
There are no translations available.

ffmpegБагато користувачів мали проблеми з потоковим відео для Raspberry Pi, тому пропонуємо ще одне керівництво, щоб допомогти Вам переглядати відео з веб-камери віддалено через браузер.
Компіляція ffmpeg для Webcam Streaming
Перш за все, ми повинні отримати версію ffmpeg, яка може передавати. Тому почнемо з установки git, як Raspbian Server Edition (RSE), але не виконувати git.
Автор мав права адміністратора, коли виконував решту наведених нижче команд, тому, якщо Ви не маєте таких прав, то скористайтеся sudo bash, щоб стати адміністратором. Ми просто додамо sudo до всього:
sudo apt-get install git
Після того, як git був встановлений, автор перейшов в /usr/src, щоб завантажити код:
cd /usr/src
sudo git clone git://git.videolan.org/ffmpeg.git
Git витягне первинний код, з якого треба побудувати ffmpeg з нуля.
Примітка. Якщо Вам треба звук з ffmpeg, то встановіть також пакет libasound2-dev, який дозволить ALSA.
cd ffmpeg
sudo ./configure
sudo make && make install
Примітка. Компіляція ffmpeg на Pi триває близько 5 годин, тому автор залишив працювати Pi на всю ніч, щоб закінчити її.
Після компіляції необхідно зробити наступне:
Додайте наступні рядки в /etc/apt/sources.list:
deb-src http://www.deb-multimedia.org sid main
deb http://www.deb-multimedia.org wheezy main non-free
Виконайте команди:
sudo apt-get update
sudo apt-get install deb-multimedia-keyring
• Видаліть другий рядок з /etc/apt/sources.list:
deb http://www.deb-multimedia.org wheezy main non-free
Виконайте команду:
sudo apt-get source ffmpeg-dmo
Тепер Ви вже повинні мати папку з ім'ям ffmpeg-dmo-2.2  <- Номер версії може змінитися з плином часу
• Перейдіть в папку, яка містить джерело, наприклад:
sudo cd ffmpeg-dmo-2.2
• Налаштуйте джерело:
sudo ./configure
• Зберіть і встановіть ffmpeg:
sudo make && make install
І знову набирайтеся терпіння: зачекайте закінчення близько 5 годин.
Налаштування ffmpeg
Після установки ffmpeg, нам потрібно створити файл конфігурації для включення потоку ffmpeg на ffserver (ffserver - це те, через що проходитеме потік).
Створимо файл конфігурації для ffserver, який розмістимо в /etc/ з назвою ffserver.conf:
Port 81
BindAddress 0.0.0.0
MaxClients 10
MaxBandwidth 50000
<Feed webcam.ffm>
file /tmp/webcam.ffm
FileMaxSize 10M
</Feed>
<Stream webcam.avi>
Feed webcam.ffm
Format avi
VideoSize 176x128
VideoFrameRate 15
VideoBufferSize 40
VideoBitRate 64
AudioBitRate 32
AudioChannels 1
AudioSampleRate 11025
VideoQMin 1
VideoQMax 20
</Stream>
Останні рядки визначають розмір потоку, бітрейт. Якщо параметри не підходять один до одного, то потік не буде плавним. Крім того, при наведеній вище конфігурації ffmpeg буде запускатися з аудіо і потоковим відео.
Наступна команда повинна бути розміщена в файлі сценарію .sh. Це дозволить Вам запускати потік просто визвавши файл .sh. Давайте назвемо його webcam.sh і розмістимо в /usr/sbin як файл, який необхідно запускати з правами суперкористувача:
ffserver -f /root/ff.conf & ffmpeg -vcodec mjpeg -v verbose -r 15 -s 176x128 -f video4linux2 -i /dev/video0  http://localhost:81/webcam.ffm
Після того як файл .sh створений, і наведений вище код розміщений в ньому, необхідно зробити файл виконуваним, запустивши:
sudo chmod +x /usr/sbin/webcam.sh
Запуск потокового відео через браузер
Оскільки файли сценарію і конфігурація створені, то можете почати приймати потік, запустивши:
/usr/sbin/webcam.sh
Після запуску сценарію, Ви повинні отримати в результаті щось типу:
** 1 dup!2 fps= 5 q=2.6 size= 51136kB time=00:06:56.40 bitrate=1006.0kbits/s dup=359 drop=0
ffmpeg тепер генерує потік, до якого Ви зможете отримати доступ з браузера за веб-адресою:
http://<IP-адреса сервера Вашої камери>:81/webcam.avi
(За матеріалами EN: sirlagz.net)
 
>
BookNewsPractice SearchPartnersAbout
Підтримка та дизайн: Могильний С.С. Шаблон: Joomla Templates by BuyHTTP Joomla Hosting