我有一个 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/