Raspberry Pi + USB Web-камера. Потоковое видео (стрим).

“Малинка” Raspberry Pi способна очень хорошо работать с достаточно большим количеством USB веб-камер.
Сегодня мы рассмотрим как можно подключить одну из таких камер к нашей Raspberry Pi и настроим стрим видео, который можно будет просматривать через локальную сеть либо интернет. Для этого нам необходимо иметь:

1. Raspberry Pi с установленной ОС Raspbian Whezzy и включенной в сеть с выходом в интернет.
2. Собственно USB веб-камера.
3. IP адрес нашей Raspberry Pi (можно посмотреть с помощью команды ifconfig или в настройках скажем роутера)

raspberry_pi_usb_webcam
Рисунок 1 – Веб-камера Logitech подключена к Raspberry Pi

(adsbygoogle = window.adsbygoogle || []).push({});

Работаем с Raspberry Pi в командной строке (кто через терминал графического интерфейса, кто удаленно по ssh). Я подключаюсь к малинке с Windows, поэтому использую putty.

raspberry_pi_login

raspberry_pi_login1

Войдя, выполняем команды:

sudo apt-get update && sudo apt-get upgrade

raspberry_pi_apt-get_update

Для того, чтобы мы могли работать с нашей веб-камерой, нам необходимо установить из репозитория программное обеспечение motion. Делается это с помощью команды:

sudo apt-get install motion

raspberry_pi_apt-get_install

После инсталляции программы motion, необходимо осуществить ее настройку. Открываем файл motion.conf с помощью команды:

sudo nano /etc/motion/motion.conf

Этот файл является достаточно большим, но нас интересуют только две строчки:

DAEMON = OFF (меняем на ON)
Webcam_localhost = ON (меняем на OFF)

raspberry_pi_conf

Сохраняем изменения (CTRL + O и клавиша Enter) и закрываем файл (CTRL + X).

Далее вводим:

sudo nano /etc/default/motion

И в нем:

start_motion_daemon = no (меняем на yes)

raspberry_pi_deamon

Запустить трансляцию видео:

sudo service motion start

Остановить трансляцию:

sudo service motion stop

Для того, чтобы стрим транслировался автоматически после выключения или перезагрузки малинки набираем:

sudo nano /etc/rc.local

і в конце над строкой exit 0 добавляем motion. Примерно вид файла rc.local такой:


#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi

# Start motion
motion

exit 0

Теперь наш стрим доступен по локальной сети по адресу http://IP_адрес_вашей_raspberri_pi:8081.
:8081 – это порт для трансляции видео.

Если необходимо транслировать видео через интернет, предварительно надо открыть данный порт для внутреннего IP адреса вашей Raspbery Pi на роутере. И обращаться к стриму из интернета через http://IP_адрес_вашего_роутера:8081.

raspberry_pi_stream


6 комментариев

  1. Спасибо, хороший гайд, но у меня почему-то не заработало, не грузится страница ( хотя веб сервер вроде встал, потому что когда просто ввожу ИП своей RPi то вываливается страница с фразой типа “Its Work”, а вот когда добавляю порт, то все, страница недоступна, и кстати тоже самое и с mjpg-streamer, в чем может быть проблема?((

    1. Поздний ответ, но все же – вы до этого Apache не пробовали поднимать и прописывать на автозагрузку? Вот скорее всего он у вас и ругается

  2. В догонку к прошлой статье, коротко напишу о том, как на платформе Raspberry PI транслировать изображение с обычной USB-камеры в сеть.

  3. Спасибо!!! Все заработало!!! Сделал по инструкции, только немного все поменялось в конфиге.
    DAEMON = OFF (меняем на ON) – так и осталось
    Webcam_localhost = ON (меняем на OFF) ->стало -> stream_localhost on
    В конце нужно перезагрузить малину -> sudo reboot
    Стартует стрим с малиной без доп настроек
    На малине стоит линукс образ под majordomo, без графической оболочки. Апач по хоже поднят уже по умолчанию.

  4. Стрим работает, но не передает изображение CSI камеры. Просто черный экран, светодиод на камере не горит. В чем проблема?

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.