Ретрансляция видео с ip-камер с помощью cvlc


Имеются ip-камеры (ACTI E31) в удаленном офисе. Необходимо организовать онлайн просмотр видео с камер в главном офисе на нескольких компьютерах. Сети главного и удаленного офисов объединены с помощью OpenVPN. Более одного потока с каждой камеры ширина интернет канала не позваляла, поэтому встала необходимость брать поток с камер удаленного офиса и раздавать уже в локалке клиентам главного офиса. На всех камерах был настроен второй rtsp-поток с небольшим разрешением 640х480 (для экономии трафика), который нужно было ретранслировать. Для ретрансляции решил попробовать vlc, который установил на сервере главного офиса.

Установка:

apt-get install vlc

Настройка ретрансляции:

touch /home/it/video_nov.sh
chmod +x /home/it/video_nov.sh
nano /home/it/video_nov.sh


#!/bin/bash
cvlc -d rtsp://admin: pass@192.168.1.80:8080/stream2 --http-reconnect --loop --repeat --sout "#rtp{sdp=rtsp://10.10.10.10:8080}";
cvlc -d rtsp://admin: pass@192.168.1.81:8080/stream2 --http-reconnect --loop --repeat --sout "#rtp{sdp=rtsp://10.10.10.10:8081}";
cvlc -d rtsp://admin: pass@192.168.1.82:8080/stream2 --http-reconnect --loop --repeat --sout "#rtp{sdp=rtsp://10.10.10.10:8082}";

где rtsp://admin: pass@192.168.1.8Х:8080/stream2 - ссылки на потоки с ip-камер с именем пользователя и паролем;

rtsp://10.10.10.10:808Х - ссылка на rtsp-поток раздачи с сервера в главном офисе, на который ставим vlc;

-d - запускать в режиме демона;

--http-reconnect --loop --repeat - ключи для восстановления коннекта после разрыва при проблемах сети.

С этими параметрами потоки не конвертируются, а раздаются как есть, т.е. какими забираются с камер.

Созданный скрипт запускать из под root нельзя (vlc ругается), поэтому в автозагрузку добавляем из под обычного пользователя, в данном примере - пользователь "it". В /etc/rc.local пишем строчку:

sudo -u it /home/it/video_nov.sh;

Перезагружаемся.

Для просмотра видео создал простой html-файл: vlc.html

Т.е. на странице три окна с видео, одно побольше, два небольших, страница будет автоматически обновляться раз в 600 секунд.

Кладем этот файлик куда нибудь в общий доступ и на клиентах ставим vlc (нужен vlc-плагин для браузера), и через браузер (пробовал chrome и firefox) открываем созданный html-файлик.



March 10, 2015