HLS协议是什么?
HLS简介
先简单介绍一些背景。最近在做hls点播的质量优化工作,这里整理一下对HLS协议的学习笔记。工作完成后也会对优化工作进行总结记录。
HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。可以实现流媒体的点播和直播播放,同时大多数的移动设备也都实现了该功能。H5直接支持该协议。
那么常见的流媒体传输协议有哪些呢?主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议。
两者的区别在于:
1、一种是分段进行渐近下载,一种是基于实时流来实现播放。
2、协议不同,HTTP 协议的渐近下载可以基于一台普通的 HTTP 的应用服务器,直接提供点播和直播服务。
3、延迟有差异。渐进式下载延迟会高一些。
4、HTTP 协议的渐近下载,需要依据索引文件,进行多次请求。
HLS协议
HLS协议规定:
1、视频的封装格式是TS。
2、视频的编码格式为H264,音频编码格式为MP3、AAC或者AC-3。
3、除了TS视频文件本身,还定义了用来控制播放的m3u8文件(文本文件)。
HLS播放流程
- 服务端:将采集到的视频流,分成不同的片段(ts文件),并根据片段生成相应的索引文件(m3u8文件)。HLS 还支持多码率的切换,所以分割片段时会生成不同码率的片