Я из тех людей, которые любят изобретать велосипед. Но в этот раз решил задачу, используя уже существующие утилиты. Технологии, которые использованы: vlc, vpn, iptables. Для получения конечного результата необходимо решить три задачи.
Хочу отметить, что я поражён утилитой vlc - кроссплатформенный видеопроиграватель со своими кодеками. Единственное разочарование, что на iphone попросил денежку, с другими платформами проблем не было: Ubuntu Linux, Windows, Android. Кроме этого данный видеопроигрыватель выполняет много других задач, неприсущи простому видеопроигрывателю из коробки.
- Захват данных.
- Передача данных.
- Транспортирование данных.
Захват данных.
Выполним данную команду в командной строке. Вы можете самостоятельно узнать, как сделать тоже самое используя UI VLC.
Данная команда поднимает сервер, который раздаёт видеотрафик захваченный с видео камеры.
Обратите внимание, что вам необходимо указать ip адрес локального интерфеса(Так как их может быть несколько, если вы поднимите VPN) и порт.
Данное выражение:
говорит с какого интерфеса смотрим видео. Есть возможность подключить несколько видеокамер.
Проверить работоспособность вы можете локально. Запустите VLC проигрыватель, следуйте Media > Open network stream в строке меню. Введите:
Задача может выполняться различными путями. Зависит от структуры сети.
- Если машина с камерой доступна из внешней сети, тогда достаточно
тунельное проксирование портов, используя утилиту ssh.
Запустите VLC проигрыватель, следуйте Media > Open network stream в строке меню. Введите:
- Если машина недоступна из внешней сети, тогда необходимо организовать vpn, но для этого всё равно понадобиться машина с выделенным ip.
Достаточно будет указать адресс машины во внутренней сети VPN.
- Если желаете, чтоб канал был доступен из внешней сети, не забудьте про форвардинг и проброс портов.
Проброс портов Ubuntu.
cvlc v4l:///dev/video0 --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:standard{access=http,mux=ogg,dst=10.10.10.2:12345}
Данная команда поднимает сервер, который раздаёт видеотрафик захваченный с видео камеры.
Обратите внимание, что вам необходимо указать ip адрес локального интерфеса(Так как их может быть несколько, если вы поднимите VPN) и порт.
dst=10.10.10.2:12345
Данное выражение:
v4l:///dev/video0
говорит с какого интерфеса смотрим видео. Есть возможность подключить несколько видеокамер.
Проверить работоспособность вы можете локально. Запустите VLC проигрыватель, следуйте Media > Open network stream в строке меню. Введите:
http://localhost:12345
Транспортирование данных
Задача может выполняться различными путями. Зависит от структуры сети.
- Если машина с камерой доступна из внешней сети, тогда достаточно
тунельное проксирование портов, используя утилиту ssh.
ssh -L 12345:localhost:12345 user@remotehost.com
Воспроизведение данных
Запустите VLC проигрыватель, следуйте Media > Open network stream в строке меню. Введите:
http://localhost:12345
- Если машина недоступна из внешней сети, тогда необходимо организовать vpn, но для этого всё равно понадобиться машина с выделенным ip.
Достаточно будет указать адресс машины во внутренней сети VPN.
- Если желаете, чтоб канал был доступен из внешней сети, не забудьте про форвардинг и проброс портов.
Проброс портов Ubuntu.
Комментариев нет:
Отправить комментарий