.m3u8 视频源仅在 macOS 上运行

Posted

技术标签:

【中文标题】.m3u8 视频源仅在 macOS 上运行【英文标题】:.m3u8 video source only running on macos 【发布时间】:2020-08-22 18:03:02 【问题描述】:

自从几天以来,我试图在浏览器中以 html 的形式运行 m3u8 格式的视频源。我研究了很多,找不到可行的解决方案。 当我即将退出时,我意外地发现我的代码正在我的 macbook 上运行(在我在 Windows 机器上开发和测试之前)......在每个浏览器上。 所以我再次开始研究,但仍然没有解决方案。我知道有一个解决方案,因为我尝试播放的视频源是从我可以在任何平台上观看视频的网站上抓取的。 因此,我尝试对源网站进行更多调查,发现它正在使用 jwplayer。仍然无法运行。

这就是我当前的 HTML 代码(在 macos -> Chrome、Safari 和 Firefox 中运行:

<!DOCTYPE html>
<html>
<head>
  <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
  <style>
    LEFT OUT BECAUSE OF LINE LIMIT AT ***
  </style>
</head>
<body>
  <video id="video" style="width: 100%; height: 100%;" controls></video>
  <script>
    function playM3u8(url)
      if(Hls.isSupported()) 
        var video = document.getElementById('video');
        video.volume = 1.0;
        var hls = new Hls();
        var m3u8Url = decodeURIComponent(url)
        hls.loadSource(m3u8Url);
        hls.attachMedia(video);
        hls.on(Hls.Events.MANIFEST_PARSED,function() 
          video.play();
        );
       else if (video.canPlayType('application/vnd.apple.mpegurl')) 
        video.src = url;
        video.addEventListener('loadedmetadata', function() 
          video.play();
        );
      
    
    playM3u8("https://load.hdfilme.ws/hls/9618d6f005e7bf049e324b543727184e/9618d6f005e7bf049e324b543727184e.m3u8")
  </script>
</body>
</html>

研究:

How do i embed this m3u8 into jw player

How do we download a blob url video

Playing m3u8 Files with HTML Video Tag

还有更多,但不想在这里发送垃圾邮件...

有人知道如何解决这个问题并让视频在每个平台上播放吗?使用哪个播放器以及该播放器的代码如何?非常感谢!

【问题讨论】:

只用 hls.js @szatmary 感谢您的回复,但我正在使用它或者您的意思是什么? 【参考方案1】:

参考您的其他问题:Why is link only working from macos operating system

其中一个问题是您无法访问您试图让视频播放器播放的资源。我不确定您是否以及如何从我的回答中添加缺少的 headers 属性,但这是要走的路。

【讨论】:

以上是关于.m3u8 视频源仅在 macOS 上运行的主要内容,如果未能解决你的问题,请参考以下文章

视频云转码源码PHP|m3u8切片程序双码率+秒切

m3u8格式的视频文件怎么转成Mp4在电脑上播放?

ts文件、m3u8文件 key文件

VideoView 在 Fragment 中播放 .m3u8 不会在 Nexus 7 中播放。在 HTC1 M8 中播放正常

在iOS上播放.m3u8文件

海康视频回放,rtsp视频接口转换成.m3u8格式文件