wake-up-neo.net

Wie spielt man RTMP-Livestream mit videojs ab?

Ich benutze OBS, um Live-Stream auf meinen lokalen RTMP-Server (node-rtsp-rtmp-server) zu übertragen........................ Ich möchte es nur in eine Webseite einfügen, und ich found videojs . Es hat nicht funktioniert und gibt zurück. Das angegebene Typattribut „rtmp/mp4“ wird nicht unterstützt. Es scheint, dass mein RTMP-Server keine Anfragen von dieser Webseite erhalten hat. Was ich vermisst habe?. Hier ist mein Code:

<head>
    <meta charset="utf-8">
    <link href="./video-js-6.0.0/video-js.css" rel="stylesheet">
    <script src="./video-js-6.0.0/video.js"></script>
    <script src="./video-js-6.0.0/videojs-flash.min.js"></script>
    <script>
        videojs.options.flash.swf = "./video-js-6.0.0/video-js.swf"
    </script>
</head>
<body>
   <video  id='vid' class='video-js' controls height=300 width=600>
      <source src="rtmp://127.0.0.1:1935/live/pokemon" type="rtmp/mp4"/>
    </video>
    <script>
        var player = videojs('vid');
    </script>
</body>
7
Natsu
<html>
<head>
  <title> Stream Player </title>
  <link href="video-js.css" rel="stylesheet" type="text/css">
  <script src="video.js"></script>
  <script>videojs.options.flash.swf = "video-js.swf";</script>
</head>
<body>
 <center>
   <video 
     id="livestream" 
     class="video-js vjs-default-skin vjs-big-play-centered"
     controls 
     autoplay
     preload="auto" 
     data-setup='{"techorder" : ["flash","html5] }'>
     <source src="rtmp://127.0.0.1:1935/live/test" type="rtmp/mp4">
   </video>
 </center>
</body>
</html>

Der Data-Setup-Techorder-Parameter scheint für Videojs erforderlich zu sein, um Flash zu verwenden. 

Wenn dies nicht funktioniert, stellen Sie sicher, dass Ihre Javascript-Dateien alle gut sind. Ab Version 6 von video.js wird Flash standardmäßig nicht mehr unterstützt. https://docs.videojs.com/tutorial-faq.html#q-how-can-i-play-rtmp-video-in-videojs

Ich verwende Nginx für meinen Server. 

https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.50/

https://github.com/arut/nginx-rtmp-module

Wenn Sie lieber eine CDN für die Dateien video.js und video-js.css verwenden, ersetzen Sie den Kopf durch

<!--The latest versions of video.js no longer support flash or rtmp-->
<link href="https://vjs.zencdn.net/5.19/video-js.css" rel="stylesheet">
<script src="https://vjs.zencdn.net/5.19/video.js"></script>

Hinweis: Ihre Zeit ist besser als das Erlernen von HLS oder DASH

4
SuiriuS

Um einen Stream von einem RTMP-Server auf einer Webseite zu veröffentlichen, haben Sie zwei Möglichkeiten:

  1. einbetten eines RTMP-Streams in einen Flash-Player (Strobe, JwPlayer, FlowPlayer)
  2. bereitstellung eines Streams in einem HTML5-Format (HLS oder MPEG DASH) mithilfe eines Streaming-Servers, der Wowza Streaming Engine unterstützt Dies kann auch eine Transkodierung erfordern, wenn Ihr Stream nicht bereits mit H264 und AAC codiert ist
1
TopReseller

Wenn es mit dem vlc media player funktioniert, bedeutet dies, dass Ihr RTMP-Server in Ordnung ist. Sie müssen prüfen, ob der Browser Flash unterstützt oder nicht. Seit wir festgestellt haben, dass die neuesten Versionen von chrome und Firefox Flash standardmäßig automatisch blockieren. Wir konnten das Problem durch einfaches Zulassen von Flash auf der Website beheben. An video.js und videojs- war nichts falsch. Flash. Bitte beachten Sie den beigefügten Screenshot. enter image description here

0
Qijin

Browser unterstützen kein RTMP. Die einzige Möglichkeit, eine Verbindung zu RTMP-Streams im Browser herzustellen, ist die Verwendung von Flash.

Erwägen Sie die Verwendung eines kompatibleren Verteilungsprotokolls, z. B. DASH, das von Media Source Extensions unterstützt wird.

0
Brad