目录
一、协议概述
1、写在前面:学习的时候一定要对照官方文档及背景知识(ts、m3u8、http)、结合分析工具,才能深入理解
(1)HLS官方文档:RFC 8216 - HTTP Live Streaming
(2)背景知识补充文档:TS格式详解、M3U8格式详解、HTTP协议详解之HTTP/1.1
(3)其它参考资料:HTTP Live Streaming (HLS) - Apple Developer、Apple官方对于Http Live Streaming 的常见问题回答
(4)学习HLS的时候可以配合抓包工具wireshark或chrome抓包工具,去分析收发的消息类型及消息内容。
2、HLS(HTTP Live Streaming)是苹果公司基于HTTP提出来的一种自适应码率的流媒体传输协议。尤其是在移动端,由于ios/h5不支持flash,使得HLS成了移动端实时音视频流传输的首选。HLS经常应用在直播领域,一些国内的直播云通常使用HLS拉流。但是HLS延迟严重,通常延迟都在10-30s之间。
3、HLS主要内容由HTTP + M3U8 + TS这三个部分共同组成
(1)HTTP是最常见的应用层协议,我们日常基本的浏览器上网就是基于HTTP协议。在HLS中,客户端通过HTTP请求获取m3u8内容。HTTP的详细内容可以参考作者的另一篇博文:HTTP协议详解之HTTP/1.1
(2)M3U8是一个UTF-8文本文件,不包含音视频数据,其内容是一个播放列表,告诉播放器如何播放一个个ts文件,相当于一个索引文件。M3U8的详细内容可以参考作者的另一篇博文:M3U8格式详解
(3)TS文件是一个媒体段,包含一部分音视频数据,一个完整的视频会包含很多个ts文件,直播场景下会不断的产生新的ts文件,播放HLS时实际上播放的就是ts。TS封装格式的详细内容可以参考作者的另一篇博文:TS格式详解
4、HLS(HTTP Live Streaming)允许播放器根据当前网络条件自适应媒体的比特率,以保持最佳质量的无间断播放。它支持插入式内容边界,可以在媒体流中插入广告、节目信息等内容。它提供了灵活的媒体加密框架,可以保护媒体内容的安全性。它可以高效地提供多个版本的同一内容,例如音频翻译。上述内

最低0.47元/天 解锁文章
23万+

被折叠的 条评论
为什么被折叠?



