Jump to content
Reen

Трансляция камер на сайте с HTTPS

Recommended Posts

Здравствуйте. Подскажите, пожалуйста, как можно встроить трансляцию потока FLV на сайт с HTTPS? Загрузка видеопотока блокируется из-за отсутствия SSL на хосте-источнике транляции, в dev-консоли браузера кидает ошибку:

Цитата

Mixed Content: The page at 'https://<WEBSITE_HOST>/path' was loaded over HTTPS, but requested an insecure resource 'http://<CAMERA_IP>:<PORT>/cameras/7/streaming/main.flv?authorization=Basic%20XXXXXX'. This request has been blocked; the content must be served over HTTPS.

Использую для встраивания тег 'video' и библиотеку flv.js (для возможности воспроизведения без Flash). На локальном тестовом хосте без SSL проблем нет.

Пробовала код встраивания отсюда, но при отмеченной галке "ssl" не дает ввести порт.

Share this post


Link to post
Share on other sites

Спасибо за ответ. К сожалению, пока не могу проверить вариант с ретранслятором, т.к. нет доступа к кабинету сервиса "Линия Облако" - если удастся получить код встраивания, отпишусь

Share this post


Link to post
Share on other sites

Здравствуйте!
Как зарегистрироваться, можно посмотреть здесь
 

Если Вам требуется удаленная помощь, необходимо обеспечить доступ к серверу с помощью программы TeamViewer (7/8/9 версии)  https://devline.ru/soft/tv.exe. Данные отправьте личным сообщением.

Share this post


Link to post
Share on other sites

1. HTTPS по умолчанию используется TCP-порт 443 .
2. Если для трансляции используется сервер с  Dynamic Dns Line через turn - сервис, то сервер доступен как по http так и по https.
3. Используйте nginx как прокси сервер с ssl 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Павел М.
      Возникла задача организовать закрытую трансляцию камер на сайте. Ни один из стандартных вариантов (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>  
    • By 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 
×