Создание веб-сервера видео-трансляции на базе RaspberryPi за 5 минут
У вас есть RaspberryPi микрокомпьютер и вы хотите сделать сервер веб-трансляции.
Так же вы проделали процедуру настройки RPi (например на базе данного туториала
https://github.com/robotclass/robotclass/blob/master/articles/raspberry-pi-start/raspberry-pi-start.md)
Периферия
- USB Веб-камера (в качестве теста была взята самая дешёвая камера — Ritmix 640×480, за 250 руб.
Предусловие
USB Веб-камера подключена к RaspberryPi, который подключен к сети, и вы можете заходить по ssh.
(в случае захода на RPi консольно через ssh — монитор, клавитара и мышка не нужны)
Установка ПО
Входим на RPi через SSH, далее в консоли:
устанавливаем библиотеку:
sudo apt-get install libv4l-0
скачиваем программу для вывода потока с камеры, в файл
mjpg-streamer-rpi.tar.gz
:
wget http://www.bobtech.ro/get?download=36:mjpg-streamer-rpi -O mjpg-streamer-rpi.tar.gz
распаковываем архив:
tar -zxvf mjpg-streamer-rpi.tar.gz
переходим в папку:
cd mjpg-streamer/
запускаем:
./mjpg-streamer.sh start
Если стартовало, то открываем браузер по адресу:
http://raspberrypi:8080?action=stream
Где вместо raspberrypi — указываем IP адрес RPi.
Если не стартует, редактируем:
sudo nano ./mjpg-streamer.sh
В случае с моей камерой — я изменил параметр
YUV="false"
на
YUV="true"
это значит что камера не поддерживает аппаратное кодирование, и этим будет заниматься процессор (по команде top —
вы сможете увидеть сколько эта задача берёт процессорных мощностей, выход из просмотра top — клавиша «q»).
После этого я смог видеть трансляцию видео потока в веб-камеры через браузер — скорость кадрированя была меньше чем 15 на мой взгляд, специально не замерял, и задержка порядка секунды. Но думаю это можно оптимизировать.
Всё вместе — от подключения камеры к чистому дистрибутиву RPi до момента просмотра потокого видео — заняло порядка 5 минут.
Подробнее можно прочитать в этом обзоре:
http://www.poprobot.ru/home/raspberrypi-webcam
где рассказано о программах сохранения снимков, утилиты конфигурирования цветовых настроек камеры.
Скажу сразу что моя камера — не может «из коробки» наблюдать за улицей — на ней сразу происходит засветка — она
преднастроена для помещений — но не исключено, что это настривается.
Но всего за 250руб (веб-камера) — я получил опыт настройки, и работающий прототип системы видео трансляции через веб на базе микрокомпьютера RaspberryPi с операционной системой Debian (Linux).
Не распаковывается архив :(((
Что делать?
pi@raspberrypi:~ $ sudo tar -zxvf mjpg-streamer-rpi.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
А сколько весит архив? может он не скачался или не до конца.