实现低延时HLS直播的系统及方法与流程

文档序号:12493293阅读:1465来源:国知局
实现低延时HLS直播的系统及方法与流程

本发明涉及互联网多媒体领域,具体涉及一种实现低延时HLS直播的系统及方法。



背景技术:

HLS(Http Live Streaming)协议具有简单、自适应等诸多优势,是全球使用最广泛的互联网传输协议,HLS直播技术更是普遍应用于移动互联网流媒体的各个领域。但相对于常见的流媒体直播协议,例如RTMP协议、RTSP协议、MMS协议等,传统的HLS协议直播系统并不是真正的实时流媒体直播系统。传统的HLS直播系统中,服务器将从头端编码器获取到的媒体信息切分为若干个短而连续的ts格式的媒体分片文件,不断更新对应的m3u8格式的索引文件及最新的媒体分片文件,然后将最新的多个媒体分片文件连续不断地发送给客户端,客户端下载这些媒体分片文件并播放媒体数据。HLS的这种技术特点,决定了它的延迟一般会超过一个媒体分片文件时长,因此,HLS直播的延时总是会高于普通的流媒体直播协议。



技术实现要素:

本发明的目的是为了克服传统HLS协议直播系统存在高延时的不足,提供一种实现低延时HLS直播的系统及方法,该系统和方法能够弥补传统HLS直播系统的高延时缺陷,最大限度降低时延,使HLS直播更接近直播点。

本发明提供一种实现低延时HLS直播的系统,该系统包括头端编码器、服务器和客户端,

所述头端编码器用于:提供动态更新的原始直播源;

所述服务器用于:向头端编码器获取原始直播源,根据原始直播源实时动态更新索引文件并动态生成若干媒体分片文件,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件输出为HLS单播直播源;实时发送更新后的索引文件和至少三个媒体分片文件,距直播点最近的一个媒体分片文件采用分块传输编码的方式发送;

所述客户端用于:解析接收到的索引文件和媒体分片文件,并根据需要选择其中一个媒体分片文件的任意位置开始播放。

在上述技术方案的基础上,所述原始直播源为用户数据报协议UDP组播直播源;所述服务器包括第一转换网元,所述第一转换网元用于:

向头端编码器获取UDP组播直播源,根据UDP组播直播源实时动态更新索引文件并动态生成若干媒体分片文件,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件输出为HLS单播直播源;客户端请求播放直播时,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件实时发送给客户端,从直播点开始向前的至少三个媒体分片文件中,距直播点最近的一个媒体分片文件采用分块传输编码的方式发送。

在上述技术方案的基础上,所述原始直播源为HLS单播直播源;所述服务器包括第一存储网元,所述第一存储网元用于:

向头端编码器获取HLS单播直播源,根据HLS单播直播源实时动态更新索引文件并动态生成若干媒体分片文件,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件进行录制并存储为本地索引文件和本地媒体分片文件,将本地索引文件和本地媒体分片文件输出为本地HLS单播直播源,所述本地媒体分片文件的总个数≥所述从直播点开始向前的至少三个媒体分片文件的总个数;客户端请求播放直播时,将本地索引文件和本地媒体分片文件实时发送给客户端,本地媒体分片文件中,距直播点最近的一个媒体分片文件采用分块传输编码的方式发送。

在上述技术方案的基础上,所述原始直播源为UDP组播直播源;所述服务器包括第二转换网元和第二存储网元,其中,

所述第二转换网元用于:向头端编码器获取UDP组播直播源,根据UDP组播直播源实时动态更新索引文件并动态生成若干媒体分片文件,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件输出为HLS单播直播源;所述第二存储网元请求录制直播时,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件发送给第二存储网元,距直播点最近的一个媒体分片文件采用分块传输编码的方式发送;

所述第二存储网元用于:向第二转换网元请求录制直播,将第二转换网元发送的索引文件和媒体分片文件进行录制并存储为本地索引文件和本地媒体分片文件,所述本地媒体分片文件的总个数≥所述从直播点开始向前的至少三个媒体分片文件的总个数;将本地索引文件和本地媒体分片文件实时发送给客户端,本地媒体分片文件中,距直播点最近的一个媒体分片文件采用分块传输编码的方式发送。

在上述技术方案的基础上,所述距直播点最近的一个媒体分片文件为正在生成的一个媒体分片文件,除距直播点最近的一个媒体分片文件外,服务器发送的其余媒体分片文件均为已经生成的媒体分片文件;所述服务器还用于:所述已经生成的媒体分片文件采用非分块传输编码的方式发送。

本发明提供一种应用于上述系统的实现低延时HLS直播的方法,包括以下步骤:

所述头端编码器提供动态更新的原始直播源;

所述服务器向头端编码器获取原始直播源,根据原始直播源实时动态更新索引文件并动态生成若干媒体分片文件,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件输出为HLS单播直播源;实时发送更新后的索引文件和至少三个媒体分片文件,距直播点最近的一个媒体分片文件采用分块传输编码的方式发送;

所述客户端解析接收到的索引文件和媒体分片文件,并根据需要选择其中一个媒体分片文件的任意位置开始播放。

在上述技术方案的基础上,所述原始直播源为用户数据报协议UDP组播直播源;所述服务器给客户端实时发送更新后的索引文件和从直播点开始向前的至少三个媒体分片文件,从直播点开始向前的至少三个媒体分片文件中,距直播点最近的一个媒体分片文件采用分块传输编码的方式发送。

在上述技术方案的基础上,所述原始直播源为HLS单播直播源;所述服务器向头端编码器获取HLS单播直播源,根据HLS单播直播源实时动态更新索引文件并动态生成若干媒体分片文件,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件进行录制并存储为本地索引文件和本地媒体分片文件,将本地索引文件和本地媒体分片文件输出为本地HLS单播直播源,所述本地媒体分片文件的总个数≥所述从直播点开始向前的至少三个媒体分片文件的总个数;给客户端实时发送本地索引文件和本地媒体分片文件,本地媒体分片文件中,距直播点最近的一个媒体分片文件采用分块传输编码的方式发送。

在上述技术方案的基础上,所述原始直播源为UDP组播直播源;所述服务器包括第二转换网元和第二存储网元,所述第二转换网元向头端编码器获取UDP组播直播源,根据UDP组播直播源实时动态更新索引文件并动态生成若干媒体分片文件,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件输出为HLS单播直播源;所述第二存储网元请求录制直播时,第二转换网元将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件发送给第二存储网元,距直播点最近的一个媒体分片文件采用分块传输编码的方式发送;

所述第二存储网元向第二转换网元请求录制直播,将第二转换网元发送的索引文件和媒体分片文件进行录制并存储为本地索引文件和本地媒体分片文件,所述本地媒体分片文件的总个数≥所述从直播点开始向前的至少三个媒体分片文件的总个数;给客户端实时发送本地索引文件和本地媒体分片文件,本地媒体分片文件中,距直播点最近的一个媒体分片文件采用分块传输编码的方式发送。

在上述技术方案的基础上,所述距直播点最近的一个媒体分片文件为正在生成的一个媒体分片文件,除距直播点最近的一个媒体分片文件外,服务器发送的其余媒体分片文件均为已经生成的媒体分片文件;所述已经生成的媒体分片文件采用非分块传输编码的方式发送。

与现有技术相比,本发明的优点如下:

(1)本发明中的服务器将距直播点最近的一个媒体分片文件采用分块传输编码(Chunked transfer encoding,chunked编码)的方式发送给客户端,距直播点最近的一个媒体分片文件是服务器中正在生成的媒体分片文件。将正在生成的媒体分片文件进行分块传输编码的方式发送,而不是等待媒体分片文件全部生成完之后才发送,能够最大限度加快直播最新媒体分片文件到达客户端的时效,最多能降低2~5s的延时。

(2)本发明对距直播点较远的已经生成的媒体分片文件可以采取非chunked编码的方式发送,从而减少编码和解码时间。本发明能够弥补传统HLS直播系统的高延时缺陷,最大限度降低时延,使HLS直播更接近直播点。

附图说明

图1为本发明实施例3中实现低延时HLS直播系统的拓扑结构图;

图2为本发明实施例3中实现低延时HLS直播方法的流程图;

图3为本发明实施例3中UDP组播转为HLS单播直播的示意图;

图4为本发明实施例3中服务器录制和存储HLS直播的示意图;

图5为本发明实施例3中客户端播放HLS单播直播的示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。为了描述简便,本发明实施例中,m3u8格式的索引文件均简称为m3u8文件,m3u8格式的主m3u8文件均简称为主m3u8文件,m3u8格式的子索引文件均简称为子m3u8文件;ts格式的媒体分片文件均简称为ts分片;分块传输编码均简称为chunked编码。本发明实施例中所称的直播点均指的是当前直播画面所对应的时间点。

实施例1:

本实施例提供一种实现低延时HLS直播的系统,该系统包括头端编码器、服务器和客户端,服务器包括第一转换网元;

头端编码器用于:提供动态更新的用户数据报协议UDP组播直播源;

第一转换网元用于将UDP组播直播源转换为HLS单播直播源,具体过程为:向头端编码器获取UDP组播直播源,根据UDP组播直播源实时动态更新m3u8文件并动态生成若干ts分片,保留从直播点开始向前的至少三个ts分片,将更新后的m3u8文件和从直播点开始向前的至少三个ts分片输出为输出HLS单播直播源;客户端向第一转换网元请求HLS单播直播源时,将m3u8文件和从直播点开始向前的至少三个ts分片实时发送给客户端,其中,距直播点最近的一个正在生成的ts分片采用chunked编码的方式发送;其余的已经生成的至少两个ts分片可以采用chunked编码或者非chunked编码方式发送;

客户端用于:向第一转换网元请求HLS单播直播源,解析m3u8文件和从直播点开始向前的至少三个ts分片,并根据需要选择其中一个ts分片的任意位置开始播放。

本实施例提供一种应用于上述系统的实现低延时HLS直播的方法,包括以下步骤:

头端编码器提供动态更新的UDP组播直播源,第一转换网元向头端编码器获取UDP组播直播源,根据UDP组播直播源实时动态更新m3u8文件并动态生成若干ts分片,保留从直播点开始向前的至少三个ts分片,将更新后的m3u8文件和从直播点开始向前的至少三个ts分片输出为输出HLS单播直播源;

客户端向第一转换网元请求HLS单播直播源,第一转换网元将m3u8文件和从直播点开始向前的至少三个ts分片实时发送给客户端,其中,距直播点最近的一个正在生成的ts分片采用chunked编码的方式发送;其余的已经生成的至少两个ts分片可以采用chunked编码或者非chunked编码方式发送;

客户端解析m3u8文件和从直播点开始向前的至少三个ts分片,并根据需要选择其中一个ts分片的任意位置开始播放。

实施例2:

本实施例提供第二种实现低延时HLS直播的系统,该系统包括头端编码器、服务器和客户端,服务器包括第一存储网元;

头端编码器用于:提供动态更新的HLS单播直播源;

第一存储网元用于:向头端编码器获取HLS单播直播源,根据HLS单播直播源生成动态更新的m3u8文件并动态生成若干ts分片,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件进行录制并存储为本地m3u8文件和本地ts分片,将本地m3u8文件和本地ts分片输出为本地HLS单播直播源;客户端向第一存储网元请求本地HLS单播直播源时,将本地m3u8文件和本地ts分片实时发送给客户端,发送的本地ts分片个数≥从直播点开始向前的至少三个ts分片个数;本地ts分片中,距直播点最近的一个正在生成的ts分片采用chunked编码的方式发送;其余的已经生成的本地ts分片可以采用chunked编码或者非chunked编码方式发送;

客户端用于:向第一存储网元请求本地HLS单播直播源,解析本地m3u8文件和本地ts分片,并根据需要选择其中一个ts分片的任意位置开始播放。

本实施例提供一种应用于上述第二种系统的实现低延时HLS直播的方法,包括以下步骤:

头端编码器提供动态更新的HLS单播直播源;

第一存储网元向头端编码器获取HLS单播直播源,根据HLS单播直播源生成动态更新的m3u8文件并动态生成若干ts分片,将更新后的索引文件和从直播点开始向前的至少三个媒体分片文件进行录制并存储为本地m3u8文件和本地ts分片,将本地m3u8文件和本地ts分片输出为本地HLS单播直播源;客户端向第一存储网元请求本地HLS单播直播源时,将本地m3u8文件和本地ts分片实时发送给客户端,发送的本地ts分片个数≥从直播点开始向前的至少三个ts分片个数;本地ts分片中,距直播点最近的一个正在生成的ts分片采用chunked编码的方式发送;其余的已经生成的本地ts分片可以采用chunked编码或者非chunked编码方式发送;

客户端解析本地m3u8文件和本地ts分片,并根据需要选择其中一个ts分片的任意位置开始播放。

实施例3:

参见图1所示,本实施例提供第三种实现低延时HLS直播的系统,该系统包括头端编码器、服务器和客户端,服务器包括第二转换网元和第二存储网元,第二转换网元和第二存储网元均具备chunked编码功能,客户端具备chunked解码功能;

第二转换网元用于:向头端编码器获取UDP组播直播源,根据UDP组播直播源实时动态更新m3u8文件并动态生成若干ts分片,将更新后的m3u8文件和从直播点开始向前的至少三个ts分片输出为HLS单播直播源;第二存储网元请求录制直播时,将更新后的m3u8文件和从直播点开始向前的至少三个ts分片发送给第二存储网元,距直播点最近的一个正在生成的ts分片采用chunked编码的方式发送;其余的已经生成的ts分片可以采用chunked编码或者非chunked编码方式发送;

第二存储网元用于:向第二转换网元请求录制直播,将第二转换网元发送的m3u8文件和ts分片进行录制并存储为本地m3u8文件和本地ts分片,本地ts分片的总个数≥从直播点开始向前的至少三个ts分片的总个数;将本地m3u8文件和本地ts分片实时发送给客户端,本地ts分片中,距直播点最近的一个正在生成的ts分片采用chunked编码的方式发送;其余的已经生成的本地ts分片可以采用chunked编码或者非chunked编码方式发送;

客户端用于:向第一存储网元请求本地HLS单播直播源,解析本地m3u8文件和本地ts分片,并根据需要选择其中一个ts分片的任意位置开始播放。

第二转换网元、第二存储网元和客户端均包括一个主m3u8文件和若干ts分片;主m3u8文件包含多个码率时,每个主m3u8文件中包括与码率个数相等的子m3u8文件的统一定位标识符url,每个子m3u8文件中包括多个ts分片的url。

参见图2所示,本实施例提供一种应用于上述第三种系统的实现低延时HLS直播的方法,包括以下步骤:

S1、头端编码器提供动态更新的UDP组播直播源;以两种码率为例,头端编码器提供的UDP组播直播源的组播地址分别为:udp://224.11.11.10:12306和udp://224.11.11.11:12306;前者为第一码率组播地址,后者为第二码率组播地址;

S2、服务器包括第二转换网元和第二存储网元,第二转换网元向头端编码器获取UDP组播直播源,根据UDP组播直播源实时动态更新m3u8文件并动态生成若干ts分片,将更新后的m3u8文件和从直播点开始向前的至少三个ts分片输出为HLS单播直播源,从而实现UDP组播直播源到HLS单播直播源的转换;更新后的m3u8文件包括主m3u8文件和两个子m3u8文件;

UDP组播直播源转换到HLS单播直播源的具体过程参见图3所示,服务器10:00加入两个UDP组播直播并接收组播数据,生成一个主m3u8文件main.m3u8以及对应的子m3u8文件1.m3u8和2.m3u8;然后以10s为单位对组播数据进行切片,第二转换网元内存只保留包含当前ts分片的最新三个ts分片1_1.ts、1_2.ts、1_3.ts和2_1.ts、2_2.ts、2_3.ts,其中1_3.ts和2_3.ts为当前正在生成的ts分片,也就是距离直播点最近的一个ts分片;子m3u8文件1.m3u8中包含1_1.ts、1_2.ts、1_3.ts三个ts分片的url,子m3u8文件2.m3u8中包含2_1.ts、2_2.ts、2_3.ts三个ts分片的url。

服务器第二转换网元将UDP组播直播转换为HLS单播直播后的主m3u8文件url为http://172.16.0.129:9001/main.m3u8,对应的两个子m3u8文件url分别为:http://172.16.0.191:9001/1.m3u8;和http://172.16.0.191:9002/2.m3u8,具体示例如下:

主m3u8文件示例如下:

GET/main.m3u8HTTP/1.1

Range:bytes=0-

User-Agent:CDN/1.0

Via:172.16.0.161

Host:172.16.0.129:9001

Connection:close

HTTP/1.1 200OK

Content-Type:application/vnd.apple.mpegurl

Content-Length:174

#EXTM3U

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=706428

http://172.16.0.129:9001/1.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2166662

http://172.16.0.129:9001/2.m3u8

名称为1.m3u8的子m3u8文件的示例如下:

GET/1.m3u8HTTP/1.1

Range:bytes=0-

User-Agent:CDN/1.0

Via:172.16.0.161

Host:172.16.0.129:9001

Connection:Keep-Alive

HTTP/1.1 200OK

Content-Type:application/vnd.apple.mpegurl

Content-Length:381

#EXTM3U

#EXT-X-TARGETDURATION:10

#EXT-X-VERSION:3

#EXT-X-MEDIA-SEQUENCE:5507313

#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:15Z

#EXTINF:10,

http://172.16.0.130:9001/1_5507313.ts

#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:25Z

#EXTINF:10,

http://172.16.0.129:9001/1_5507314.ts

#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:35Z

#EXTINF:10,

http://172.16.0.130:9001/1_5507315.ts

名称为2.m3u8的子m3u8文件的示例如下:

GET/2.m3u8HTTP/1.1

Range:bytes=0-

User-Agent:CDN/1.0

Via:172.16.0.161

Host:172.16.0.129:9001

Connection:Keep-Alive

HTTP/1.1 200OK

Content-Type:application/vnd.apple.mpegurl

Content-Length:381

#EXTM3U

#EXT-X-TARGETDURATION:10

#EXT-X-VERSION:3

#EXT-X-MEDIA-SEQUENCE:5507315

#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:25Z

#EXTINF:10,

http://172.16.0.130:9001/2_5507315.ts

#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:35Z

#EXTINF:10,

http://172.16.0.129:9001/2_5507316.ts

#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:45Z

#EXTINF:10,

http://172.16.0.130:9001/2_5507317.ts

第二存储网元请求录制直播时,第二转换网元将更新后的m3u8文件和从直播点开始向前的至少三个ts分片发送给第二存储网元,距直播点最近的一个ts分片采用chunked编码的方式发送;

S3、第二存储网元将第二转换网元发送的m3u8文件和ts分片进行录制并存储为本地m3u8文件和本地ts分片,本地ts分片的总个数≥从直播点开始向前的至少三个ts分片的总个数;

参见图4所示,服务器第二存储网元接收并存储转换后的m3u8文件及ts分片的过程为:第二存储网元收到第二转换网元的数据后生成自身对应的m3u8文件并存储在本地,根据第二转换网元的编码方式对数据进行解码并存储为本地m3u8文件和本地ts分片;本地m3u8文件包括主m3u8文件和两个子m3u8文件;

服务器第二存储网元存储的主m3u8文件及子m3u8文件示例如下:

主m3u8文件示例如下:

GET/fonsview_hls/hls_001?FvSeid=54e014f36b515f46&Fsv_filetype=0&Fsv_ctype=LIVES&Fsv_cid=1003

&Fsv_chan_hls_se_idx=0&Fsv_TBt=2874144&Fsv_ShiftEnable=1&Fsv_ShiftTsp=1&Fsv_SV_PARAM1=0&Fsv_otype=0

&Provider_id=fonsview_hls&Pcontent_id=hls_001HTTP/1.1

Host:172.16.0.161:8114

User-Agent:VLC/2.2.4LibVLC/2.2.4

Range:bytes=0-

Connection:close

Icy-MetaData:1

HTTP/1.1 200OK

Server:FonsView SS/1.0

Date:Thu,29Sep 2016 02:07:53GMT

Content-Type:application/vnd.apple.mpegurl

Cache-Control:no-cache

Pragma:no-cache

Accept-Ranges:bytes

Content-Length:628

Content-Range:bytes 0-627/628

Connection:close

#EXTM3U

#EXT-X-STREAM-INF:PROGRAM-ID=1003,BANDWIDTH=2167715

http://172.16.0.161:8114/fonsview_hls/hls_001?FvSeid=54e014f36b515f46&Fsv_filetype=1&Fsv_ctype=LIVES

&Fsv_cid=1003&Fsv_chan_hls_se_idx=0&Fsv_rate_id=0&Fsv_SV_PARAM1=0&Fsv_ShiftEnable=1&Fsv_ShiftTsp=1&

Provider_id=fonsview_hls&Pcontent_id=hls_001&Fsv_otype=0

#EXT-X-STREAM-INF:PROGRAM-ID=1003,BANDWIDTH=706428

http://172.16.0.161:8114/fonsview_hls/hls_001?FvSeid=54e014f36b515f46&Fsv_filetype=1&Fsv_ctype=LIVES

&Fsv_cid=1003&Fsv_chan_hls_se_idx=0&Fsv_rate_id=1&Fsv_SV_PARAM1=0&Fsv_ShiftEnable=1&Fsv_ShiftTsp=1

&Provider_id=fonsview_hls&Pcontent_id=hls_001&Fsv_otype=0

其中第一码率对应的包含最后三个ts分片url的子m3u8文件示例如下:

GET/fonsview_hls/hls_001?FvSeid=54e014f36b515f46&Fsv_filetype=1&Fsv_ctype=LIVES&Fsv_cid=1003

&Fsv_chan_hls_se_idx=0&Fsv_rate_id=0&Fsv_SV_PARAM1=0&Fsv_ShiftEnable=1&Fsv_ShiftTsp=1

&Provider_id=fonsview_hls&Pcontent_id=hls_001&Fsv_otype=0HTTP/1.1

Host:172.16.0.161:8114

User-Agent:VLC/2.2.4LibVLC/2.2.4

Range:bytes=0-

Connection:close

Icy-MetaData:1

HTTP/1.1 200 OK

Server:FonsView SS/1.0

Date:Thu,29 Sep 2016 02:07:53 GMT

Content-Type:application/vnd.apple.mpegurl

Cache-Control:no-cache

Pragma:no-cache

Accept-Ranges:bytes

Content-Length:2976

Content-Range:bytes 0-2975/2976

Connection:close

#EXTM3U

#EXT-X-VERSION:3

#EXT-X-TARGETDURATION:10

#EXT-X-MEDIA-SEQUENCE:5507304

#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:15Z

#EXTINF:10,883036

http://172.16.0.161:8114/LIVES/1475114775_0010000028_0000000005.ts?FvSeid=54e014f36b515f46

&Fsv_filetype=2&Provider_id=fonsview_hls&Pcontent_id=hls_001&Fsv_Sd=10&Fsv_otype=0

#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:25Z

#EXTINF:10,883036

http://172.16.0.161:8114/LIVES/1475114785_0010000028_0000000006.ts?FvSeid=54e014f36b515f46

&Fsv_filetype=2&Provider_id=fonsview_hls&Pcontent_id=hls_001&Fsv_Sd=10&Fsv_otype=0

#EXT-X-PROGRAM-DATE-TIME:2016-09-29T02:06:35Z

#EXTINF:10,881720

http://172.16.0.161:8114/LIVES/1475114795_0010000028_0000000007.ts?FvSeid=54e014f36b515f46

&Fsv_filetype=2&Provider_id=fonsview_hls&Pcontent_id=hls_001&Fsv_Sd=10&Fsv_otype=0

第二存储网元给客户端实时发送本地m3u8文件和本地ts分片,本地ts分片中,距直播点最近的一个ts分片采用chunked编码的方式发送;

S4、客户端解析本地m3u8文件和本地ts分片,并根据需要选择其中一个ts分片的任意位置开始播放,具体过程如下:

如图5所示,客户端向服务器发直播请求,第二存储网元将当前录制的最新几个ts分片发送给客户端,此处最新几个ts分片的个数可以为12个;

第二存储网元根据当前分片的录制情况选择不同的编码方式发送媒体信息给客户端:对于正在录制的ts分片1475114785_0000000028_0000000007.ts数据进行chunked编码并发送数据给客户端,其他ts分片可以采用chunked编码或者非chunked编码方式发送;客户端解析本地m3u8文件和本地ts分片,并根据网络状况选择其中一个ts分片的任意位置开始播放。

本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。

说明书中未详细描述的内容为本领域技术人员公知的现有技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1