Bagaimana cara memutar streaming langsung rtmp menggunakan videojs?

Saya menggunakan OBS untuk mendorong streaming langsung ke server rtmp lokal saya (node-rtsp-rtmp-server), dan bekerja dengan baik dengan pemutar media VLC. Saya hanya ingin memasukkannya ke halaman web dan saya menemukan videojs. Itu tidak bekerja dan mengembalikan Atribut "tipe" yang ditentukan "rtmp/mp4" tidak didukung. Sepertinya server rtmp saya tidak menerima permintaan dari halaman web ini. Jadi apa yang saya lewatkan? ini kode saya:

<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>


   Stream Player 

  <script src="video.js"></script>
  <script>videojs.options.flash.swf = "video-js.swf";</script>



   <amp-video 
     id="livestream" 
     class="video-js vjs-default-skin vjs-big-play-centered"
     controls 
     autoplay
     preload="auto" 
     data-setup='{"techorder" : ["flash","html5] }'>

   </amp-video>


Parameter data-setup techorder tampaknya diperlukan agar videojs menggunakan flash.

Jika hal itu tidak berhasil, maka pastikan bahwa file javascript Anda semuanya baik. Mulai versi 6 dari video.js tidak lagi mendukung flash secara default. https://docs.videojs.com/tutorial-faq.html#q-how-can-i-play-rtmp-video-in-videojs

Saya menggunakan nginx untuk server saya.

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

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

Jika Anda lebih suka menggunakan CDN untuk file video.js dan video-js.css, ganti head dengan



<script src="https://vjs.zencdn.net/5.19/video.js"></script>

Catatan: Waktu Anda lebih baik dihabiskan untuk mempelajari HLS atau DASH daripada flash

Komentar (0)

Untuk mempublikasikan stream dari server RTMP ke halaman web, Anda memiliki 2 opsi:

  1. menyematkan stream RTMP dalam pemutar Flash (Strobe, JwPlayer, FlowPlayer)
  2. menayangkan stream dalam format HTML5 (HLS atau MPEG DASH) menggunakan server streaming yang mendukungnya seperti Wowza Streaming Engine; ini mungkin juga memerlukan transcoding jika stream Anda belum dikodekan dengan H264 dan AAC
Komentar (1)

Browser tidak mendukung RTMP. Satu-satunya cara untuk menyambung ke RTMP stream dalam browser adalah dengan menggunakan Flash.

Pertimbangkan untuk menggunakan protokol distribusi yang lebih kompatibel, seperti DASH, yang didukung dengan Media Source Extensions.

Komentar (1)