最近在做直播功能,客户端用ffmpeg rtmp的方式推flv封装流到cdn,然后web端也用rtmp播放flv封装流,但是不能成功,这是浏览器不再支持flash的缘故。

故改成web端拉取m3u8直播流,说明下,客户端rtmp推流到cdn后,cdn有转封装,支持m3u8直播流拉取。

由于公司的拉流url不好直接给出,找到了央视的m3u8直播拉流地址:
http://cctvalih5ca.v.myalicdn.com/live/cctv1_2/index.m3u8

对应的index.html如下:

<!DOCTYPE html>
<html>
 
<head>
    <meta charset=utf-8 />
    <title>fz-live</title>
    <link href="./js/video-js.min.css" rel="stylesheet">
    <script src="./js/video.min.js"></script>
    <script src="./js/liveplayer-element.min.js"></script>
	<script src="./js/liveplayer-lib.min.js"></script>
	
</head>
 
<body>
    <video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" width="1920" height="1080" data-setup='{}'>
    </video>
    <script>
		var liveUrl  =  'http://cctvalih5ca.v.myalicdn.com/live/cctv1_2/index.m3u8';
        var player = videojs('my_video_1');
 
        player.ready(function() {
            this.src({
                src: liveUrl,
                type: 'application/x-mpegURL',
            });
        });
 
    </script>
</body>
 
</html>

本人采取本机部署nginx服务器的方式,将此index.html替换nginx默认的html,如下所示:
在这里插入图片描述
其中index_bak.html是原有的nginx自带的。

js的目录内容如下:
在这里插入图片描述
启动nginx,chrome浏览器上输入localhost,视频画面如下:
在这里插入图片描述
现在是2022年1月13号,19:27分,对应的是新闻联播的国际新闻部分。

本人将js和html文件都上传了,免费的,目前在审核中

为此本人上传了百度网盘,如下:
链接:https://pan.baidu.com/s/1sQOzDs7VLhotS_hDB5xyhA
提取码:1234

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐