HLS协议(m3u8)

HLS(HTTP Live Streaming)是苹果提出的动态流传输协议,适用于音视频点播和直播。它包括服务器组件、分发组件和客户端三部分,通过.m3u8索引文件指导客户端智能切换不同码率的媒体流。m3u8文件包含关键标签如#EXT-X-TARGETDURATION和#EXT-X-ENDLIST,用于指示媒体片段时长和播放状态。HLS支持加密和多级索引文件,适应网络带宽变化,提供优质的流媒体体验。
摘要由CSDN通过智能技术生成

HLS(HTTP Live Streaming)是苹果公司提出的基于HTTP动态流传输协议。客户端可以根据网络带宽的变化,智能切换至对应码率、分辨率的媒体流进行播放,支持音视频的点播和直播。HLS可以通过HTTPS对媒体加密传输和身份认证。

HLS由服务器组件、分发组件、客户端三个部分组成。
在这里插入图片描述

服务器组件

将采集的音视频编码为MPEG-2传输流发送给流分段器,流分段器将编码后的媒体分成一系列时间持续时间相等的小媒体文件,以.ts文件(MPEG-2传输流文件)保存。同时流分段器还会创建一个.m3u8的索引文件,记录所有分片后小媒体文件的位置。分段器还可以对每个媒体段加密,并创建秘钥文件,目前HLS支持16个字节秘钥的AES-128加密。

分发组件

存储分片后的媒体文件(.m3u8文件和.ts文件),将客户端请求的媒体资源分发给客户端。

客户端

根据URL获取媒体索引文件(.m3u8),通过索引文件的内容获取相应的媒体流片段以及解密秘钥,当获取到的媒体片段数量足够多时,客户端便开始渲染呈现给用户。

m3u8文件

规范
  • #EXT-X-TARGETDURATION: 每片最大时长(秒)
  • #EXT-X-MEDIA-SEQUENCE: 起始播放位置,默认0。
  • #EXT-X-KEY: 加密信息
  • #EXT-X-VERSION: 版本
  • #EXTINF: 播放时长&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值