Протокол RTMPS, Videojs, HTML5, прямая трансляция
Я занимаюсь созданием видеопотоков в прямом эфире.
Но у меня есть проблема. T_T
Прямые трансляции rtmps не воспроизводятся. (Rtmp работает хорошо.)
Даже если вы используете другой флэш-плеер, он не будет воспроизводиться. (бывший) jwplayer
<video ...
data-setup='{ "techOrder":["html5", "flash"]}'>
...
<source src = " ** RTMPS_URL ** " type ="rtmp/flv"/>
</video>
- RTMPS_URL: rtmps: // {SERVER_URL} /? {PARAMETER}
- SERVER_URL: IP: PORT / args1 / args2
- ПАРАМЕТР: ключ = значение
Сообщение об ошибке videojs.
"FLASH: rtmpconnectfailure"
Подозреваемая часть заключается в следующем.
Сервер rtmps пишет персональный сертификат (сертификат не сертифицирован государственными учреждениями). Поэтому я установил персональный сертификат на свой компьютер, и ошибка идентична.
Говорят, что блоги VideoJS предлагают RTMP. Вы уверены?
Что я делаю неправильно?
Мне нужна ваша помощь.
Спасибо:-)
0 ответов
Надеюсь, вы решили эту проблему, но я все еще публикую решение для тех, у кого такие же проблемы, как у меня.
Моя рабочая среда:nginx с модулем rtmp, ffmpeg получает RTSP с ip-камеры и нажимает на nginx в формате flv, отображает эту потоковую передачу в Интернете.
videojs сильно изменился, поэтому я поместил здесь свой html:
<html>
<script src="./video.min.js"></script> //download the videojs from npm or use the online url one
<link rel="stylesheet" type="text/css" href="./video-js.css">
<script src="https://cdn.jsdelivr.net/npm/videojs-flash@2/dist/videojs-flash.min.js></script>
<body>
<video id="liveVideo" class="video-js" controls autoplay preload="auto" width="320" height="240" data-setup="{}">
<!-- <source src="rtmp://ns8.indexforce.com/home/mystream" type="rtmp/flv">-->
<!-- the above rtmp link is for testing your videojs works or not -->
<source src="rtmp://192.168.1.180/cam1/" type="rtmp/flv">
</video>
</body>
</html>
########################
rtmp://192.168.1.180/cam1/ is my nignx server ip address (both my server and client are in the same local network)
ffmpeg -i <Your video/stream> -f flv <Your RTMP url>
########################
Сначала я получаю FLASH: rtmpconnectfailure, VIDEOJS: ERROR: (CODE:0 MEDIA_ERR_CUSTOM) FLASH: rtmpconnectfailure.
I solved by just adding a '/' at the end in "<video....><source src="rtmp://.../.../ <----this one '/' "></video>" in my html file
Поэтому убедитесь, что вы добавили '/' в конце исходного URL.
Успешный запуск в Chrome, Opera и Edge (необходимо включить flash в настройках браузера) в декабре 2020 г.
Удачи: о)