Ретрансляция видео с ip-камер с помощью cvlc
Имеются ip-камеры (ACTI E31) в удаленном офисе. Необходимо организовать онлайн просмотр видео с камер в главном офисе на нескольких компьютерах. Сети главного и удаленного офисов объединены с помощью OpenVPN. Более одного потока с каждой камеры ширина интернет канала не позваляла, поэтому встала необходимость брать поток с камер удаленного офиса и раздавать уже в локалке клиентам главного офиса. На всех камерах был настроен второй rtsp-поток с небольшим разрешением 640х480 (для экономии трафика), который нужно было ретранслировать. Для ретрансляции решил попробовать vlc, который установил на сервере главного офиса.
Установка:
apt-get install vlcНастройка ретрансляции:
touch /home/it/video_nov.shchmod +x /home/it/video_nov.shnano /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