Youtube m3u8 url not playing with video js and hls

2k views Asked by At

I have created an API in PHP in which through URL , we can get live streaming urls (Twitch and YouTube) having m3u8 files in response. My response will have m3u8 urls.

Sample live streaming urls -

Twitch - https://www.twitch.tv/esl_csgo

Youtube - https://www.youtube.com/watch?v=_Ojv8bOa1Gs

And here is how I play my m3u8 link.

<!DOCTYPE html>
    <html>
    <head>
    <meta charset=utf-8 />
    <title>Your title</title>
      
    
      <link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">
      <script src="https://unpkg.com/video.js/dist/video.js"></script>
      <script src="https://unpkg.com/videojs-contrib-hls/dist/videojs-contrib-hls.js"></script>
       
    </head>
    <body>
      <video id="my_video_1" class="video-js vjs-fluid vjs-default-skin" controls preload="auto"
      data-setup='{}'>
        <source src="https://video-weaver.cdg02.hls.ttvnw.net/v1/playlist/CucDGIOS2yxm4UFRr4FVg1PjxJRaQW0WYXmZwv8WJ_-pEsi133hf3RGjXG7kHFPuRTsOdhGTIsEXdFlgJzl7DqyuLZ8NbWBIIfaScwy13CbM2IngkOc5et87Wmlws22Uf4XtnvIGxrIlhXkjULdc8mOmRNl0DDhE1OG3MQL2D1zNIySPcT0H0GdVGXYuBW-IyHDXkHOzvEqjSjSztCfQWv2thCLHhN99xOT4XcRZrRezbpR-OlpezC8r0svUsbioABdYiS-LY9oBl86ObM48TbvfQOec4ju8SAW603GOI0bU614CZpthHf0lTchWi6DAmyTNgsre8ICarkqJ_UrSRc3V2gExDoj1FkUjoN0qpd7oHYk196J7OwXSrfMYnxmQfqXCCVK139NASKGFTGeMfy8JLUYEvnRH1vnUvLKhBsJ7vbMgLmccLLHl6rq5K2zpXq9DZlOjIe4wJHG5wA33nW36rnv1e6Sr4sjBGJbGZqjVYA_uIz3SPk_nVFwjN3waA0K1Hcv7uNXHJxuDy0A8fqS3zc99SBMYw2dGYeF4boIMXwfekabL9WpgtZ2km72xKItU6LnPeufgNVQxaIK9ObhyM0Amd8zsjWtsaJ3UhVrd4mdv6PEaqkJwVMx3pC7CkgQdZW4msKjF3hIQxpkK3CxmqD9sSB4scgA1zRoMw9RP45NnK_dgYB1x.m3u8" type="application/x-mpegURL">
      </video>
      
    <script>
    var player = videojs('my_video_1');
    player.play();
    </script>
      
    </body>
    </html>

As you can see here, I have used video.js and hls to make this demo working.

But the problem is, My Youtube m3u8 files are not working. It keeps telling me...

The media could not be loaded, either because the server or network failed or because the format is not supported.

I have researched and It saying something like this - https://support.drugtestingcourses.com/article/157-video-playback-error-media-could-not-be-loaded-either-because-the-server-or-network-failed-or-because-the-format-is-not-supported

But I have tested this and it seems everything is fine .. I even try to test this their online testing urls here

https://codepen.io/furkankinyas/pen/PpXKwO https://hls-js.netlify.app/demo/

But it seems same thing happening ..

Can someone help me how can I make my m3u8 youtube urls play ? Do I need to use another player or what ?

1

There are 1 answers

0
bobolecoco On

Did you try :

 <video id="my_video_1" class="video-js vjs-fluid vjs-default-skin" controls preload="auto"
  data-setup='{}' src="https://video-weaver.cdg02.hls.ttvnw.net/v1/playlist/CucDGIOS2yxm4UFRr4FVg1PjxJRaQW0WYXmZwv8WJ_-pEsi133hf3RGjXG7kHFPuRTsOdhGTIsEXdFlgJzl7DqyuLZ8NbWBIIfaScwy13CbM2IngkOc5et87Wmlws22Uf4XtnvIGxrIlhXkjULdc8mOmRNl0DDhE1OG3MQL2D1zNIySPcT0H0GdVGXYuBW-IyHDXkHOzvEqjSjSztCfQWv2thCLHhN99xOT4XcRZrRezbpR-OlpezC8r0svUsbioABdYiS-LY9oBl86ObM48TbvfQOec4ju8SAW603GOI0bU614CZpthHf0lTchWi6DAmyTNgsre8ICarkqJ_UrSRc3V2gExDoj1FkUjoN0qpd7oHYk196J7OwXSrfMYnxmQfqXCCVK139NASKGFTGeMfy8JLUYEvnRH1vnUvLKhBsJ7vbMgLmccLLHl6rq5K2zpXq9DZlOjIe4wJHG5wA33nW36rnv1e6Sr4sjBGJbGZqjVYA_uIz3SPk_nVFwjN3waA0K1Hcv7uNXHJxuDy0A8fqS3zc99SBMYw2dGYeF4boIMXwfekabL9WpgtZ2km72xKItU6LnPeufgNVQxaIK9ObhyM0Amd8zsjWtsaJ3UhVrd4mdv6PEaqkJwVMx3pC7CkgQdZW4msKjF3hIQxpkK3CxmqD9sSB4scgA1zRoMw9RP45NnK_dgYB1x.m3u8"></video>

?

By the way, how do you get the m3u8 from a live streaming from Twitch (I only access it from devtools/network in my browsers, how do you get it "automatically" ?)