javascript - video.js 的 m3u8 源错误 : "No compatible source and playback technology were found."

标签 javascript video.js m3u8

我有一个 m3u8 源代码,我正在尝试通过 video.js 播放器播放它。当我尝试时,我看到黑屏,并且控制台日志显示消息““未找到兼容的源和播放技术。”这是 HTML:

<html>
  <head>
    <title>Test Player</title>
    <link href="http://vjs.zencdn.net/c/video-js.css" rel="stylesheet"
type="test/css">
    <script src="http://vjs.zencdn.net/c/video.js"></script>
  </head>
  <body>
    <h3>Using m3u8 source</h3>
    <video id="example_video_1" class="video-js vjs-default-skin" controls
    autoplay width="640" height="360" data-setup="{}">
       <source
        src="http://184.72.239.149/vod/smil:BigBuckBunny.smil/playlist.m3u8"
        type="application/x-mpegURL" />
    </video>
  </body>
</html>

类型正确(即“application/x-mpegURL”),并且我没有看到任何 CORS 问题的迹象。我已经使用 Chrome 和 Firefox 浏览器进行了测试,结果相同。任何建议将不胜感激。

最佳答案

Specified "type" attribute of "application/x-mpegURL" is not supported.

我在 FF 中使用 video.js 7.10.2 和直播时遇到了这个问题。从 HTML 中的视频元素内部删除源元素并添加在 JS 中执行相同操作的逻辑后,它现在可以工作了(似乎在内部走了不同的路线,防止浏览器尝试加载源本身):

var player = videojs('livestream');
player.src({ type: "application/x-mpegurl", src: vidURL });
player.ready(function(){
  player.muted(true);
  player.play();
});

注意:其他答案中提到的 HLS 库不再需要,因为它现在包含在 video.js 中。

关于javascript - video.js 的 m3u8 源错误 : "No compatible source and playback technology were found.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36163500/

相关文章:

javascript - AngularJS单元测试: Module 'admin.module' is not available

javascript - Superscrollorame 到达某个 div 时播放声音

javascript - 在 JavaScript 响应上使用时 videojs 播放按钮不起作用

css - 顶部的 Video.js 控件和暂停不起作用

android - 在Android上流式传输m3u8 HLS音频

javascript - 如何让 hls.js 在请求加密 key 时在请求 header 中发送 cookie

android - 怎么用exoplayer玩m3u8,黑屏

javascript - 单击两次后无法在 iOS 上输入 html 输入字段

javascript - 如果填写字段=数组则为JAVASCRIPT

javascript - 如何访问版本 5 中的 videojs.SeekBar 和 ControlBar?