所以我要做的是让一个html视频播放器播放一个m3u8流。我已经尝试了多个球员,他们似乎没有一个能够发挥流。通常,我会认为流不起作用,但是VLC播放得很好。
下面是我尝试过的一个片段:
<html>
<head>
<link href="https://cdnjs.cloudflare.com/ajax/libs/video.js/5.10.2/alt/video-js-cdn.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/video.js/5.10.2/video.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/3.0.2/videojs-contrib-hls.js"></script>
</head>
<body>
<video class="video-js vjs-default-skin" controls autoplay>
<source src="https://list.iptvcat.com/my_list/s/be001cbd19007cd3d1da1cf3e39b425a.m3u8" type="application/x-mpegURL">
</video>
</body>
</html>
有没有人知道我做错了什么,或者我没有做什么?
发布于 2022-06-13 03:09:48
“我尝试过多个球员,但他们似乎都不能播放流”。
您的视频来自HTTP链接,但是您的播放器/服务器在HTTPS中运行。
浏览器不喜欢在同一页面中处理混合内容(安全与非安全URL)。
解释了
http://tvalb.xyz:8080/9rht8uKGJs/sBN1pWJUhQ/3456?checkedby:iptvcat.com
解决方案是使用从HTTPS服务器运行的PHP脚本来readFile
视频链接,返回到MPEG-TS视频播放器。您的播放器将看到.src
来自您的服务器(是PHP ),但是很明显,相同的PHP脚本只是返回它从另一个HTTP读取的视频字节。
PHP并不关心HTTPS,它只读取文件字节(如果存在的话)。
(2)你的代码不完整.您需要将视频标记(按其ID)分配给VideoJS。
<html>
<head>
<link href="https://cdnjs.cloudflare.com/ajax/libs/video.js/5.10.2/alt/video-js-cdn.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/video.js/5.10.2/video.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/3.0.2/videojs-contrib-hls.js"></script>
</head>
<body>
<video id="myVideo" class="video-js vjs-default-skin" controls autoplay>
<source src="https://list.iptvcat.com/my_list/s/be001cbd19007cd3d1da1cf3e39b425a.m3u8" type="application/x-mpegURL">
</video>
</body>
<script>
var player = videojs("myVideo");
//player.play(); //# test playback
</script>
</html>
https://stackoverflow.com/questions/72582617
复制相似问题