HLS学习笔记(二):点播m3u8解析

        现实中的播放一般分为直播和点播,两种播放方式获取的m3u8和相关的解析有所区别。

对于点播:
#EXTM3U
#EXT-X-TARGETDURATION:10        >>>>>>        指定最大的媒体段时间长:10秒
#EXT-X-MEDIA-SEQUENCE:0          >>>>>>         每一个media URI 在 PlayList中只有唯一的序号,相邻之间序号+1
#EXT-CHUNKSIZE:652548                >>>>>>         文件块大小
#EXTINF:10,0                                        >>>>>>         文件编号信息
http://112.29.141.150:6610/120000000003/gslb/program/_ahbyfh-1_/FDN/FDNB4921197/6062839_142911184_0002911184_0000000000_0000652547.ts?Fsv_CMSID=120000000003&ts_min=1&UserID=023160005059523&Fsv_Sd=10&Fsv_MBt=0&srcurl=aHR0cDovLzEyMC4yM

#EXT-CHUNKSIZE:997904
#EXTINF:10,1
http://112.29.141.150:6610/120000000003/gslb/program/_ahbyfh-1_/FDN/FDNB4921197/6062839_142911184_0002911184_0000652548_0001650451.ts?Fsv_CMSID=120000000003&ts_min=1&UserID=023160005059523&Fsv_Sd=10&Fsv_MBt=0&srcurl=aHR0cDovLzEyMC4yM

#EXT-BESTV-CHUNKSIZE:1073856
#EXTINF:10,2
http://112.29.141.150:6610/120000000003/gslb/program/_ahbyfh-1_/FDN/FDNB4921197/6062839_142911184_0002911184_0001650452_0002724307.ts?Fsv_CMSID=120000000003&ts_min=1&UserID=023160005059523&Fsv_Sd=10&Fsv_MBt=0&srcurl=aHR0cDovLzEyMC4yM

.....


#EXT-BESTV-CHUNKSIZE:434092
#EXTINF:10,661
http://112.29.141.150:6610/120000000003/gslb/program/_ahbyfh-1_/FDN/FDNB4921197/6062839_142911184_0002911280_0000966508_0001400599.ts?Fsv_CMSID=120000000003&ts_min=1&UserID=023160005059523&Fsv_Sd=10&Fsv_MBt=0&srcurl=aHR0cDovLzEyMC4yM

#EXT-BESTV-CHUNKSIZE:614948
#EXTINF:7,662
http://112.29.141.150:6610/120000000003/gslb/program/_ahbyfh-1_/FDN/FDNB4921197/6062839_142911184_0002911280_0001400600_0002015547.ts?Fsv_CMSID=120000000003&ts_min=1&UserID=023160005059523&Fsv_Sd=7&Fsv_MBt=0&srcurl=aHR0cDovLzEyMC4yMT
#EXT-X-ENDLIST        >>>>>>        表示PlayList的末尾,点播关键的判断点

我们可以看到在点播的方式中,我们会在起播的时候去下载对应的一级m3u8,在一级m3u8中包含了对应该m3u8的所有的ts流片段,具体下载方式要看各自代码的实现方式了,目前有两种比较主流:

(1)起播下载所有ts切片     优点:后续的播控操作会比较流畅,seek,快进快退等

                                                  缺点:对系统内存要求比较大,对网速要求较高

(2)边播放边下载                优点:可以有效的降低系统负载和网络的要求

                                                  缺点:对播放seek等其他操作会有相应的延迟

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Uniapp项目中引入dplayer.js和hls.js可以实现解析和播放m3u8直播流视频文件,具体步骤如下: 1. 首先,将dplayer.js和hls.js的相关文件引入到Uniapp项目中。可以通过npm安装这些库文件,也可以将它们下载到本地然后引入。 2. 在需要使用dplayer的页面中,使用uni.require将dplayer.js引入进来。例如,可以在页面的script标签中使用以下代码: ```javascript import DPlayer from '@/path/to/dplayer.js'; ``` 注意,@/path/to/指的是dplayer.js文件所在的路径。 3. 在页面中创建一个容器元素,用于渲染播放器。可以在template标签中添加一个div元素,例如: ```html <template> <div id="dplayer-container"></div> </template> ``` 这里给div元素设置一个id,以便之后使用。 4. 在页面的mounted钩子函数中,创建并初始化DPlayer实例。可以在mounted函数中添加以下代码: ```javascript mounted() { const container = document.getElementById('dplayer-container'); const options = { // 设置DPlayer的配置选项 }; const player = new DPlayer(options); player.init(); // 其他相关配置和操作 }, ``` 这里需要根据具体项目的需求,设置DPlayer的相关配置选项,比如视频的url、控制栏样式等。可以参考DPlayer的官方文档进行设置。 5. 使用hls.js解析m3u8直播流视频文件。在设置DPlayer的配置选项时,可以通过设置type为'hls'来启用hls.js的解析功能。例如: ```javascript const options = { // 其他配置选项 type: 'hls', url: 'http://example.com/video.m3u8', }; ``` 这里的url需要替换为实际的m3u8直播流视频文件的地址。 通过以上步骤,在Uniapp项目中成功引入dplayer.js和hls.js,并使用DPlayer来解析和播放m3u8直播流视频文件。修改相应的配置选项,可以根据需求进行定制化操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值