Трансляция камер на сайте с HTTPS
Автор:
Reen, в Настройка и функционирование системы
-
Похожий контент
-
Автор: Const
Добрый день.
Возможна ли работа web и мобильных клиентов через https? Сейчас все запросы к api от web и андроид клиента идут через http. Попробовал с помощью nginx все запросы завернуть на https 301-м редиректом, но не сработало. В tcpdump видно, что на запрос, например, "/cameras" в ответ уходит правильный редирект, но подключения к https порту не появляется, похоже, клиент не обрабатывает такие ответы.
-
Автор: Const
Добрый день.
Планируется ли поддержка https со стороны веб и андроид клиента?
Уже задавал такой вопрос про версию 7.7, этот вопрос по 8-й версии.
Уточню, не требуется реализация всей работы с ssl/tls, ключами, сертификатами и т.д. в сервере Линии. Обернуть http запросы к веб-серверу Линии в https можно с помощью того же nginx. Было бы достаточно, чтобы клиентские приложения поддерживали работу через https и редиректы.
-
Автор: Павел М.
Возникла задача организовать закрытую трансляцию камер на сайте. Ни один из стандартных вариантов (https://devline.ru/translation/) не подошёл, предложенные на форуме способы тоже не устроили. На скорую руку было набросано решение на nginx (нужен для корректной работы по HTTPS) и Video.js (собственно сам плеер).
Плюсы:
Полноценное HTML5 видео со всеми вытекающими. Поддерживается Internet Explorer (по меньшей мере Windows 7/IE11 или новее, на более старых не проверял). Поддержка работы по HTTPS без каких-либо предупреждений. Скрыт реальный адрес сервера с «Линия IP». Не используются сторонние сайты. Разграничение доступа по пользователям. Минусы:
Весь трафик идёт через ваш сервер.
В конфиг nginx надо будет добавить:
server { listen 443 ssl http2; root /usr/local/www/video; server_name video.example.com; ssl_certificate fullchain.pem; ssl_certificate_key privkey.pem; location / { auth_basic "My video server"; auth_basic_user_file htpasswd; } location /cameras/ { proxy_pass http://devline.server.local:9786/cameras/; } } Вместо devline.server.local указываем имя или IP-адрес вашего сервер «Линия IP». В файле htpasswd необходимо прописать имена пользователей и пароли (по паролям читаем документацию), которые совпадают с соответствующими пользователями на сервере «Линия IP» и которым необходимо дать доступ к трансляции.
Для работы потокового вещания потребуется библиотека HLS для Video.js. Пример кода:
<!doctype html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Видеонаблюдение</title> <link href="css/video-js.min.css" rel="stylesheet"> <script src="js/videojs-ie8.min.js"></script> <script src="js/video.js"></script> <script src="js/lang/ru.js"></script> <script src="js/videojs-flash.min.js"></script> <script src="js/videojs-http-streaming.min.js"></script> </head> <body> <video id="video" class="video-js vjs-default-skin" width="640" height="360" poster="//video.example.com/cameras/0/image?resolution=640x360" preload="none" controls data-setup='{"language": "ru"}'> <source src="//video.example.com/cameras/0/streaming/main.m3u8" type="application/x-mpegURL" /> <p class="vjs-no-js">Для просмотра этого видео, пожалуйста, включите JavaScript и убедитесь, что ваш браузер поддерживает HTML5-видео.</p> </video> </body> </html>
-
Автор: AlexanderA
Есть сайт на https на нем отображается видео ссылкой на
http://admin:admin@111.222.333.444:77777/cameras/5/image?resolution=360x280&quality=60&rand=Fri%20May%2016%202014%2013:56:43%20GMT+0400%20(MSK) параметр rand использует текущее время,используется для того чтобы картинка не кешировалась.
Проблема в следующем. На ios версии 5. Так же старые версии firefox и chrome все работает, а так же если по прямой ссылке зайти.
Но не работает если загрузить страницу в современном браузере, в данном случае Chrome выдает такую ошибку
The page at 'https://site.site/test.html' was loaded over HTTPS, but displayed insecure content from 'http://admin:admin@111.222.333.444:77777/cameras/4/image?resolution=360x280&quality=60&rand=Fri%20May%2016%202014%2014:11:31%20GMT+0400%20(MSK': this content should also be loaded over HTTPS. test.html:1 Failed to load resource: the server responded with a status of 401 (Unauthorized) Как обойти данную проблему. Было бы идеально, если бы можно было забрать видео потом не картинкой а в формате rtsp, rtp и прочими, которые кушает wowza
-