什么是LHLS
LHLS(Low Latency HLS),顾名思义,是一种以降低HLS协议时延为目标的方案,但它还没有被写入标准协议中。
HLS简介
HLS流分为两部分,m3u8文件和多媒体数据文件(.m4s或.ts)。以TS文件为例,m3u8文件描述了每个TS的时长和url。在点播或直播时,客户端首先下载m3u8文件,然后根据m3u8文件下载TS,进行解析和播放。客户端通过m3u8文件有没有结尾标识来辨别点播流和直播流。在点播系统中,m3u8文件是已经写好的,会有一个结尾标识。客户端可以从一开始就获得总的播放时长,并按照m3u8文件中TS的顺序下载和播放;在直播系统中,m3u8文件是一直更新的,没有结尾标识,所以客户端需要重复下载它。
HLS直播时延产生的原因
HLS协议规定直播时,客户端不应该选择开始时间到最后一个segment结束时间间隔小于最后一个segment时长加两倍的目标时长的segment作为首个segment进行播放。也就是说,一般而言,客户端应该从m3u8文件中倒数第三个或倒数第四个segment开始播放。如下图所示,客户端应该选择标号为3的segment作为