面向互联网的基于分片传输的大尺度直播时移方法及系统技术方案

技术编号:9671902 阅读:133 留言:0更新日期:2014-02-14 19:35
本发明专利技术提供一种面向互联网的基于分片传输的大尺度直播时移方法,包括:客户端发出时移请求以获取切片索引文件;时移服务端由时移时间点得到时移状态标记;客户端接收到时移服务端的反馈后,向时移服务端发出切片索引文件获取请求;时移服务端对切片索引文件获取请求进行处理,以得到该次时移请求的切片序列;时移服务端通过切片序列,生成相应的直播切片索引文件,并返回给客户端;客户端从索引文件中取得具体的切片序列,进行实际切片文件的下载和播放,并重复发出相同的切片索引文件获取请求。实施上述方法的系统,包括时移服务端与客户端。本发明专利技术的客户端简单并易于实现,无需计算需要获取的时移索引范围,无需保留并合并各次获取时移索引。

【技术实现步骤摘要】
面向互联网的基于分片传输的大尺度直播时移方法及系统
本专利技术涉及视频传输
,尤其涉及一种面向互联网的基于分片传输的大尺度直播时移方法及系统。
技术介绍
近年来,互联网视频业务在国内外均处于一个蓬勃发展的时期,而互联网视频服务中广泛采用了分片传输模式,以便于搭建或利用已有的CDN服务。具体的,包括适用于ios终端的HTTPLiveStreaming(HLS)协议、适用于flashplayer的HTTPDynamicStreaming(HDS)协议,有可能作为下一代国际标准的DynamicAdaptiveStreamingoverHTTP(DASH)协议,此外还有一些基于flv切片格式的私有协议,等等。HLS是苹果公司提出的流媒体网络传输协议,工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extendedM3U(m3u8)文件,即切片索引文件,用于寻找可用的媒体切片。HDS是Adobe公司的传统流媒体解决方案RTMP+FLV的结合,在互联网视频行业得到了广泛的应用。它包含了多个部件来完成内容的准备工作,并通过HTTP将内容传送给终端的FlashPlayer。内容准备模块包括了面向VOD和面向Live直播的模块,VOD打包模块将媒体文件分片,并以F4F的格式存储,Live直播打包模块将直播流实时地写入到F4F文件当中。同时均会产生媒体对应的F4M格式的索引文件,索引文件中包含了编码、分辨率以及码率等参数信息。DASH也称为MPEG-DASH,类似于HLS、HDS等协议,DASH也将视频内容切片为多个视频小片段,每个片段包含一小段视频内容。DASH是第一个基于HTTP的自适应码率的国际标准。综合而言,此类协议的基本特点为:均采用了索引文件加实际视频切片的模式。区分为点播、直播不同的服务形式:采用分片传输模式来提供点播视频服务时,通常客户端将一次性获得包含所有视频切片索引信息的索引文件,进而再依据播放内容动态获取视频切片内容。HLS、HDS协议均是如此。采用分片传输模式来提供直播视频服务时,通常客户端将定期刷新下载包含当前若干视频切片索引信息的索引文件,进而依据索引文件的内容,以及当前需要播放的内容,决定是否获取以及获取哪些视频切片内容。如HLS协议时,客户端不停的下载更新m3u8索引文件,从中获得新产生的切片URL后,再下载相应切片文件并进行播放。通常直播、点播服务时,索引文件的格式略有不同,客户端以此区分服务的形式,如HLS协议时,点播服务的m3u8尾部一般会有如下标记“#EXT-X-ENDLIST”,而直播服务的m3u8则一般没有这个标记。如HDS协议时,则索引f4m文件则通过“<streamType>”为recorded或live来区分点播还是直播。随着视频直播业务的开展,直播时移的需求也越来越强烈。直播时移的功能,是指用户在观看直播时,可通过拖动播放器进度条等形式,定位到当前直播点之前的某个时间点进行观看,视频直播时视频数据是永远存在的,没有结尾,所以直播时移观看过程也同样是可一直持续的,如同用户从那个时间点开始收看直播一样。在传统的流媒体
,客户端和服务器之间通常采用rtsp、rtmp、flv-http等面向连接的传输和交互协议,通过这些协议实现时移的基本方法是:1)在客户端和服务器建立连接后,即开始接收流数据,在直播的过程中,该连接不会中断。2)在客户端要求访问时移数据时,通过已建立的连接,将希望跳转到的时间值传递给服务端,服务端定位到该时间值继续发送流数据。3)客户端收到流数据后,从该时间点开始按视频流的时间戳开始播放。此后客户端的播放视频内容将始终与当前最新的视频内容保持一个恒定的差值。4)客户端还可进行快进、快退、跳回当前直播点等操作,服务器端接收到客户端请求后,调整相应的视频数据发送策略,以达到不同的效果。如果采用分片传输机制来实现直播时移服务,特别是基于HLS、HDS等通用协议时,面临不少问题:采用点播的模式来实现一种近似但不等价于直播时移的功能。如针对HLS协议,通过在获取m3u8的URL中携带时间点参数的方法来访问服务端,服务端接收到客户端携带时间参数的获取m3u8访问请求后,回应一个点播类型的m3u8文件给客户端,文件中的最旧切片为请求时间参数对应切片,最新切片为当前时间对应切片。客户端收到这样的m3u8,遵循处理点播类型m3u8的规则,将播放从该m3u8中的最旧切片到该m3u8中的最新切片,然后结束播放,这样将无法获取并播放随着时间的推移而新生成出来的切片。也有采用专门客户端软件来实现基于分片传输的直播时移,但这样通常是基于标准的HLS、HDS等协议做适当的修改,如在前述点播模式实现近似直播时移服务时,当播放结束后,从结束时间点再启动一个新的菜单回看,并循环往复下去,以此模拟持续不断地时移直播。但这种模式,标准的iosplayer、flashplayer无法直接使用,限制了直播时移应用的推广。有的时移服务,将较大范围的视频切片索引信息以直播的形式全部发送到客户端,如整个服务端的可时移范围,客户端在此范围内可进行拖动操作,即时移操作,同时因为采用了直播形式,所以客户端会定期更新索引文件以获取新的切片信息。这样也可实现直播时移服务,但每次获取索引信息的数据量较大,即使采用HTTP-Gzip等压缩算法,当采用HLS协议时,在7天时移的大尺度时移范围下,索引文件的大小仍将达到几百K字节。可见,问题的关键在于,当采用HLS、HDS等互联网主流的分片传输播放协议时,在点播模式下客户端不会主动更新索引文件,无法实现直播时移内容的持续播放,在直播模式下,由于采用了客户端被动请求索引信息的模式,即客户端每次发出的索引信息获取的URL均是一样的,不会依据自身的播放状态向服务端指定获取一个特定范围内的索引信息,这样在直播时服务端仅能依据当前直播点为客户端提供最近的一段索引信息,通常HLS为最近的10个切片文件的索引信息,但时移服务时,每个用户在不同时间点所需要的索引信息均是不同的。
技术实现思路
针对上述问题中存在的不足之处,本专利技术提供一种客户端简单并易于实现,无需计算需要获取的时移索引范围,无需保留并合并各次获取时移索引的面向互联网的基于分片传输的大尺度直播时移方法及系统。为实现上述目的,本专利技术提供一种面向互联网的基于分片传输的大尺度直播时移方法,包括以下步骤:S100、客户端发出时移请求R以获取切片索引文件;S200、时移服务端接到客户端请求后,由时移时间点TR得到时移状态标记TF,若时移时间点TR与时移状态标记TF相同,则跳转执行步骤S400,若二者不同,则向客户端反馈直播内容标识CH和时移状态标记TF;S300、客户端接收到时移服务端的反馈后,向时移服务端发出切片索引文件获取请求,并将时移请求R重定义为该请求;S400、时移服务端依据时移状态标记TF,并依据当前物理时间或当前直播流时间戳,对切片索引文件获取请求进行处理,以得到该次时移请求R的切片序列;S500、时移服务本文档来自技高网
...
面向互联网的基于分片传输的大尺度直播时移方法及系统

【技术保护点】
一种面向互联网的基于分片传输的大尺度直播时移方法,包括以下步骤:S100、客户端发出时移请求(R),以获取切片索引文件;S200、时移服务端接到客户端请求后,由时移时间点(TR)得到时移状态标记(TF),若时移时间点(TR)与时移状态标记(TF)相同,则跳转执行步骤S400,若二者不同,则向客户端反馈直播内容标识(CH)和时移状态标记(TF);S300、客户端接收到时移服务端的反馈后,向时移服务端发出切片索引文件获取请求,并将时移请求(R)重定义为该请求;S400、时移服务端依据时移状态标记(TF)或时移点相对于当前直播时间的偏移值(TC),并依据当前物理时间或当前直播流时间戳,对切片索引文件获取请求进行处理,以得到该次时移请求(R)的切片序列;S500、时移服务端通过切片序列,生成相应的直播切片索引文件,并返回给客户端;S600、客户端从索引文件中取得具体的切片序列,进行实际切片文件的下载和播放,并重复向时移服务端发出和时移请求(R)相同的切片索引文件获取请求,以不断获得新的切片序列、下载新的切片文件并播放。

【技术特征摘要】
1.一种面向互联网的基于分片传输的大尺度直播时移方法,包括以下步骤:S100、客户端发出时移请求R,以获取切片索引文件;S200、时移服务端接到客户端请求后,由时移时间点TR得到时移状态标记TF,若时移时间点TR与时移状态标记TF相同,则跳转执行步骤S400,若二者不同,则向客户端反馈直播内容标识CH和时移状态标记TF;若时移时间点TR为时移点物理时间TA,则时移状态标记TF为TFA,TFA为时移点的流时间戳信息和当前物理时间信息的元组;若时移时间点TR为时移点流时间戳TB,则时移状态标记TF为TFB,TFB为时移点的流时间戳信息和当前物理时间信息的元组;若时移时间点TR是时移点相对于当前直播时间的偏移值TC,则时移状态标记TF为TFC,TFC为时移点相对于当前直播时间的偏移值TC;S300、客户端接收到时移服务端的反馈后,向时移服务端发出切片索引文件获取请求,并将时移请求R重定义为该切片索引文件获取请求;S400、时移服务端依据时移状态标记TF,并依据当前物理时间T或当前流时间戳S,对时移请求R进行处理,计算本次时移请求R对应的流时间戳ST,以得到该次时移请求R的切片序列;若时移状态标记TF是TFA,则:流时间戳ST=TFA1+(T-TFA2);若时移状态标记TF是TFB,则:流时间戳ST=TFB1+(T-TFB2);若时移状态标记TF是TFC,则:流时间戳ST=S-TFC;式中:TFA1、TFB1为时移点的流时间戳信息,TFA2、TFB2为当前物理时间信息;S500、时移服务端通过切片序列,生成相应的直播切片索引文件,并返回给客户端;S600、客户端从索引文件中取得具体的切片序列,进行实际切片文件的下载和播放,并重复向时移服务端发出切片索引文件获取请求,以不断获得新的切片序列、下载新的切片文件并播放。2.根据权利要求1所述的面向互联网的基于分片传输的大尺度直播时移方法,其特征在于,在步骤S100中,客户端发出时移请求R中包括直播内容标识CH与时移时间点TR,其中,直播内容标识CH包括频道名称、频道URL或频道ID;时移时间点TR为时移点物理时间TA、时移点流时间戳TB、或时移点相对于当前直播时间的偏移值TC中的一种。3.根据权利要求1所述的面向互联网的基于分片传输的大尺度直播时移方法,其特征在于,在步骤S200中,若时移时间点TR是时移点物理时间TA或时移点流时间戳TB,向客户端反馈直播内容标识CH和时移状态标记TF,将客户端请求进行HTTP重定向,重定向的URL中包含直播内容标识CH和时移状态标记TF,包括:情况a、若时移时间点TR为时移点物理时间TA,则时移状态标记TF为时移点的流时间戳信息和当前物理时间信息的元组;情况b、若时移时间点TR为时移点流时间戳TB,则时移状态标记TF为时移点的流时间戳信息和当前物理时间信息的元组。4.根据权利要求1所述的面向互联网的基于分片传输的大尺度直播时移方法,其特征在于,在步骤S300中,客户端发出的切片索引文件获取请求中包括直播内容标识CH和时移状态标记TF。5.根据权利要求1所述的面向互联网的基于分片传输的大尺度直播时移方法,其特征在于,在步骤S500中,包括:情况a:当协议为HLS协议时,按照m3u8文件格式规范,时移服务基于预设的切片时间间隔D、切片序列和存储的时移数据,生成m3u8格式的切片索引文件;情况b:当协议为HDS协议时,按照bootstrap文件格式规范,时移服务基于预设的切片时间间隔D、切片序列和存储的时移数据,生成bootstrap格式的切片索引文件。6.根据权利要求1所述的面向互联网的基于分片传输的大尺度直播时移方法,其特征在于,在步骤S600中,还包括:客户端向时移服务端重复发出的切片索引文件获取请求中,包含直播内容标识CH和时移状态标记TF。7.根据权利要求1至6中任一所述的面向互联网的基于分片传输的大尺度直播时移方法,其特征在于,在步骤S100实施前,还包括在时移服务端中建立时移数据存储区的步骤S10,其步骤如下:S11、定义时移时间长度为L,则时移服务器保证存储从时间戳S-L到当前流时间戳S的音、视频数据,且随着当前流时间戳S的推移,不断删除旧的时移数据和存储新的时移数据,进行滚动存储;S12、对直播视频数据和时移视频数据,建立时间戳和切片序列的映射规则。8.根据权利要求7所述的面向互联网的基于分片传输的大尺度直播时移方法,其特征在于,在步骤S10中,预设的索引文件中需包含的切片个数C是常量,与时移时间长度L无关。9.根据权利要求8所述的面向互联网的基于分片传输的大尺度直播时移方法,其特征在于:当协议为HLS协议时,预设的索引文件中需包含的切片个数C比较常见取值为3<=C<=20;当协议为HDS协议时...

【专利技术属性】
技术研发人员:李伟华李毅要文涛
申请(专利权)人:北京清源新创科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1