1、HLS协议
HTTP Live Streaming(HLS)是美国 Apple 公司推出的一项媒体流码率可以动态发生变化的技术,MAC 操作系统的 PC 和 Apple 终端的视音频服务也是基于这项技术的。它是以 HTTP 协议为基础的流媒体传输协议,能够在客户端进行视频的直播和点播功能。
特点:用HTTP协议发送,客户端播放器得到的不是一段连续的视频流,而是一小段一小段,足够短的一小段。
HLS直播系统
主要由三阶段组成:媒体流的准备、媒体流的分发和媒体流的播放。
1)媒体流的准备(将视频格式转换成可以切割的格式??(有个切割服务器))
分为采集、编码、封装三部分。网络摄像机内部系统具有一个编码器,可以将摄像头采集到的数据进行压缩和编码。使其成为符合一定标准的基本流(目前只支持H.264),再将基本流封装成 传输刘(TS),最终编码器输出MPEG-2 TS流。切割服务器会将MPEG2 TS切割成TS片段。并且生成索引,索引里按顺序放着TS片段的指针,当有一个新的片段进来的时候,就会除去最老的那一条片段及其指针。
2)媒体流的分发
3)媒体流的播放
客户发送HTTP请求获取到特定时间的索引列表(索引列表是动态的,根据时间变化,以我的理解?),然后根据索引列表开始下载TS片段,当达到一定缓存数量时就拼起来,浏览器(基于HTML5)会解码播放。