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




Працюємо з 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

4 комментария

  1. Невірна команда в пункті:

    Для того, щоб стрім транслювався автоматично після вимкнення чи перезавантаження малинки набираємо:

    sudo nano /etc/init.d/motion

  2. Спробував налаштувати трансляцію, але при редагуванні файлу /etc/motion/motion.conf стрічки Webcam_localhost не знайшов. (як і в принципі DAEMON = OFF, лише daemon on, як у Вас на скріншоті). Дописав Webcam_localhost = OFF в кінець файлу, налаштував /etc/default/motion, запустив стрім sudo service motion start без помилок, але безуспішно. Перевірив nmap-ом – порт 8081 закритий.
    Чи не стикались з такою проблемою?

Оставить ответ

Обязательные поля помечены*

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