Протокол 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"

Подозреваемая часть заключается в следующем.

  1. Сервер rtmps пишет персональный сертификат (сертификат не сертифицирован государственными учреждениями). Поэтому я установил персональный сертификат на свой компьютер, и ошибка идентична.

  2. Говорят, что блоги 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 г.

Удачи: о)

Другие вопросы по тегам