本发明涉及数据业务技术领域,尤其涉及一种视频混播的实现方法、装置及系统。
背景技术:
随着互联网通信技术和多媒体技术的不断发展,以及宽带网络的不断普及,互联网视频业务也随之快速兴起。对于互联网视频直播业务,现有的主流技术包括单播和组播两种形式,即,终端侧在接收直播流时,可以单播形式接收直播流,也可以组播形式接收直播流。但是,如果终端侧以组播形式接收直播流,则因终端侧设备支持情况的限制,可能会导致基于组播部署的直播难以实现,这时就需要解决组播无流时转单播的问题以实现组播、单播的混合部署。
具体地,现有的组播无流转单播的方法是基于RTP(Real-time Transport Protocol,实时传输协议)实现的,即基于RTP的组播无流时,仍转换成基于RTP的单播,如当RTP组播无流时,建立新的RTP单播通道,待单播通道建好后,退出组播通道,并请求新的RTP单播数据。具体地,终端可根据记录的通过组播通道最后收到的RTP数据包的时戳和编号,经处理后,向流媒体服务器请求从所述组播通道最后收到的RTP数据包的时戳所对应的播放时间点开始的新的RTP单播数据。
但是,基于RTP的单播实时性要求较高,自终端与流媒体服务器建立起相应连接起,一直到终端断掉与流媒体服务器之间的连接,流媒体服务器一直保持着与终端的连接状态,因而使得视频内容缓存较小,受网络状况的影响很大,无法为用户在无保障的网络上提供良好的视频直播业务,导致用户体验不佳。另外,由于RTP普遍是基于UDP(User Datagram Protocol,用户数据报协议) 实现的,易被防火墙或代理服务器阻断,因而还会存在进一步降低视频直播业务的质量,降低用户体验的问题。
也就是说,现有的组播无流转单播的实现方法存在由于基于RTP的单播实时性要求较高,而导致的无法保障互联网视频直播业务的质量的问题,因此,亟需提供一种新的组播无流转单播的实现方法,来解决目前存在的上述问题。
技术实现要素:
本发明实施例提供了一种视频混播的实现方法、装置及系统,用以解决目前存在的由于基于RTP的单播实时性要求较高,而导致无法保障互联网视频直播业务的质量的问题。
本发明实施例提供了一种视频混播的实现方法,包括:
终端在确定RTP组播无流时,退出组播通道并记录通过组播通道最后接收到的RTP数据包的时间戳和编号;
根据预置的单播地址向中心内容分发管理平台发送单播播放请求,所述单播播放请求中携带有所述RTP数据包的时间戳和编号,以由所述中心内容分发管理平台根据所述单播播放请求向校正控制器下发时戳校正指令,由所述校正控制器根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为超文本直播流HLS快进快退索引并发送给所述中心内容分发管理平台,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系;
接收所述中心内容分发管理平台根据所述HLS快进快退索引下发的HLS单播流数据,并根据接收到的HLS单播流数据实现HLS单播流的播放。
进一步地,接收所述中心内容分发管理平台根据所述HLS快进快退索引下发的HLS单播流数据,并根据接收到的HLS单播流数据实现HLS单播流的播放,包括:
接收所述中心内容分发管理平台根据所述HLS快进快退索引发送的主索引文件,并根据接收到的所述主索引文件向所述中心内容分发管理平台请求相应码率对应的子索引文件;
接收所述中心内容分发管理平台发送的所述相应码率对应的子索引文件,并根据接收到的所述相应码率对应的子索引文件向所述中心内容分发管理平台请求所述相应码率对应的第一个编号的分片文件;
接收所述中心内容分发管理平台发送的所述相应码率对应的第一编号的分片文件并播放;
陆续请求所述相应码率对应的下一个编号的分片文件并播放,直至播放到所述相应码率的最后一个分片文件或接收到相应的停止观看指令。
进一步地,所述方法还包括:
确定自身当前播放状态,并将所述当前播放状态告知所述中心内容分发管理平台。
进一步地,本发明实施例还提供了一种视频混播的实现方法,包括:
中心内容分发管理平台接收终端发送的单播播放请求,所述单播播放请求为所述终端在确定RTP组播无流时,根据预置的单播地址向所述中心内容分发管理平台发送的,且,所述单播播放请求中携带有所述终端通过组播通道最后接收到的RTP数据包的时间戳和编号;
根据接收到的所述单播播放请求向校正控制器下发时戳校正指令,所述时戳校正指令中携带有终端上报的通过组播通道最后接收到的所述RTP数据包的时间戳和编号,以由所述校正控制器根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系;
接收所述校正控制器发送的所述HLS快进快退索引,并根据所述HLS快进快退索引向所述终端下发HLS单播流数据,以由所述终端根据接收到的所述HLS单播流数据实现HLS单播流的播放。
进一步地,根据所述HLS快进快退索引向所述终端下发HLS单播流数据,以由所述终端根据接收到的所述HLS单播流数据实现HLS单播流的播放,包括:
根据所述HLS快进快退索引向所述终端下发主索引文件;
接收所述终端根据接收到的所述主索引文件发送的用于请求相应码率对应的子索引文件的第一请求,并根据所述第一请求向所述终端下发所述相应码率对应的子索引文件;
接收所述终端根据接收到的所述相应码率对应的子索引文件发送的用于请求所述相应码率对应的第一个编号的分片文件的第二请求,并根据所述第二请求向所述终端下发所述相应码率对应的第一编号的分片文件,以由所述终端播放接收到的所述相应码率对应的第一编号的分片文件;
陆续接收所述终端发送的用于请求所述相应码率对应的下一个编号的分片文件的请求,并根据相应请求向所述终端下发所述相应码率对应的下一个编号的分片文件,直至下发完最后一个分片文件或不再接收到所述终端发送的用于请求所述相应码率对应的下一个编号的分片文件的请求。
进一步地,所述方法还包括:
接收所述终端上报的所述终端的当前播放状态信息,并根据所述当前播放状态信息获知所述终端的当前播放状态。
进一步地,本发明实施例还提供了一种视频混播的实现方法,包括:
校正控制器接收中心内容分发管理平台下发的时戳校正指令,所述时戳校正指令中携带有终端在确定RTP组播无流时,通过组播通道最后接收到的RTP数据包的时间戳和编号;
根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系;
向所述中心内容分发管理平台发送所述HLS快进快退索引,以由所述中 心内容分发和管理平台根据所述HLS快进快退索引向所述终端下发HLS单播流数据,由所述终端根据接收到的HLS单播流数据实现HLS单播流的播放。
进一步地,本发明实施例还提供了一种终端,包括:
记录单元,用于在确定RTP组播无流时,退出组播通道并记录通过组播通道最后接收到的RTP数据包的时间戳和编号;
发送单元,用于根据预置的单播地址向中心内容分发管理平台发送单播播放请求,所述单播播放请求中携带有所述RTP数据包的时间戳和编号,以由所述中心内容分发管理平台根据所述单播播放请求向校正控制器下发时戳校正指令,由所述校正控制器根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引并发送给所述中心内容分发管理平台,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系;
处理单元,用于接收所述中心内容分发管理平台根据所述HLS快进快退索引下发的HLS单播流数据,并根据接收到的HLS单播流数据实现HLS单播流的播放。
进一步地,所述处理单元,具体用于接收所述中心内容分发管理平台根据所述HLS快进快退索引发送的主索引文件,并根据接收到的所述主索引文件向所述中心内容分发管理平台请求相应码率对应的子索引文件;以及,
接收所述中心内容分发管理平台发送的所述相应码率对应的子索引文件,并根据接收到的所述相应码率对应的子索引文件向所述中心内容分发管理平台请求所述相应码率对应的第一个编号的分片文件;以及,
接收所述中心内容分发管理平台发送的所述相应码率对应的第一编号的分片文件并播放;以及,
陆续请求所述相应码率对应的下一个编号的分片文件并播放,直至播放到所述相应码率的最后一个分片文件或接收到相应的停止观看指令。
进一步地,所述发送单元,还用于确定自身当前播放状态,并将所述当前播放状态告知所述中心内容分发管理平台。
进一步地,本发明实施例还提供了一种中心内容分发管理平台,包括:
接收单元,用于接收终端发送的单播播放请求,所述单播播放请求为所述终端在确定RTP组播无流时,根据预置的单播地址向所述中心内容分发管理平台发送的,且,所述单播播放请求中携带有所述终端通过组播通道最后接收到的RTP数据包的时间戳和编号;
发送单元,用于根据接收到的所述单播播放请求向校正控制器下发时戳校正指令,所述时戳校正指令中携带有终端上报的通过组播通道最后接收到的所述RTP数据包的时间戳和编号,以由所述校正控制器根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系;
处理单元,用于接收所述校正控制器发送的所述HLS快进快退索引,并根据所述HLS快进快退索引向所述终端下发HLS单播流数据,以由所述终端根据接收到的所述HLS单播流数据实现HLS单播流的播放。
进一步地,所述处理单元,具体用于根据所述HLS快进快退索引向所述终端下发主索引文件;以及,
接收所述终端根据接收到的所述主索引文件发送的用于请求相应码率对应的子索引文件的第一请求,并根据所述第一请求向所述终端下发所述相应码率对应的子索引文件;以及,
接收所述终端根据接收到的所述相应码率对应的子索引文件发送的用于请求所述相应码率对应的第一个编号的分片文件的第二请求,并根据所述第二请求向所述终端下发所述相应码率对应的第一编号的分片文件,以由所述终端播放接收到的所述相应码率对应的第一编号的分片文件;以及,
陆续接收所述终端发送的用于请求所述相应码率对应的下一个编号的分片文件的请求,并根据相应请求向所述终端下发所述相应码率对应的下一个编号的分片文件,直至下发完最后一个分片文件或不再接收到所述终端发送的用于请求所述相应码率对应的下一个编号的分片文件的请求。
进一步地,所述接收单元,还用于接收所述终端上报的所述终端的当前播放状态信息,并根据所述当前播放状态信息获知所述终端的当前播放状态。
进一步地,本发明实施例还提供了一种校正控制器,包括:
接收单元,用于接收中心内容分发管理平台下发的时戳校正指令,所述时戳校正指令中携带有终端在确定RTP组播无流时,通过组播通道最后接收到的RTP数据包的时间戳和编号;
处理单元,用于根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系;
发送单元,用于向所述中心内容分发管理平台发送所述HLS快进快退索引,以由所述中心内容分发和管理平台根据所述HLS快进快退索引向所述终端下发HLS单播流数据,由所述终端根据接收到的HLS单播流数据实现HLS单播流的播放。
进一步地,本发明实施例还提供了一种视频混播的实现系统,包括:
终端,用于在确定RTP组播无流时,退出组播通道并记录通过组播通道最后接收到的RTP数据包的时间戳和编号,以及,根据预置的单播地址向中心内容分发管理平台发送单播播放请求,所述单播播放请求中携带有所述RTP数据包的时间戳和编号,以及,接收所述中心内容分发管理平台根据HLS快进快退索引下发的HLS单播流数据,并根据接收到的HLS单播流数据实现HLS单播流的播放;
所述中心内容分发管理平台,用于接收所述终端发送的单播播放请求,并根据接收到的所述单播播放请求向校正控制器下发时戳校正指令,所述时戳校正指令中携带有终端上报的通过组播通道最后接收到的所述RTP数据包的时间戳和编号,以及,接收所述校正控制器发送的所述HLS快进快退索引,并根据所述HLS快进快退索引向所述终端下发HLS单播流数据;
所述校正控制器,用于接收所述中心内容分发管理平台下发的时戳校正指 令,并根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为所述HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系,以及,向所述中心内容分发管理平台发送所述HLS快进快退索引。
本发明有益效果如下:
本发明实施例提供了一种视频混播的实现方法、装置及系统,终端确定RTP组播无流时,退出组播通道并记录通过组播通道最后接收到的RTP数据包的时间戳和编号,并根据预置的单播地址向中心内容分发管理平台发送单播播放请求,所述单播播放请求中携带有所述RTP数据包的时间戳和编号,以由所述中心内容分发管理平台根据所述单播播放请求向校正控制器下发时戳校正指令,由所述校正控制器根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引并发送给所述中心内容分发管理平台,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系,以及,接收所述中心内容分发管理平台根据所述HLS快进快退索引下发的HLS单播流数据,并根据接收到的HLS单播流数据实现HLS单播流的播放。
也就是说,在本发明实施例所述技术方案中,终端在确定RTP组播无流时,可根据接收到的中心内容分发管理平台基于HLS快进快退索引下发的HLS单播流数据实现HLS单播流的播放,所述HLS快进快退索引是校正控制器对终端通过组播通道最后接收到的RTP数据包的时间戳和编号进行校准所得到的,其中包含HLS时间戳与分片以及分片字节偏移量的对应关系,从而实现了RTP组播无流时向HLS单播的转换,从而相对于现有的基于RTP传输技术实现的组播无流转换的方案来说,能够根据终端用户带宽的实际情况实现对码率的切换,为用户在无保障的网络上提供了良好的视频播放体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例一所述的一种视频混播的实现方法的流程示意图;
图2所示为本发明实施例二所述的一种视频混播的实现方法的流程示意图;
图3所示为本发明实施例三所述的一种视频混播的实现方法的流程示意图;
图4所示为本发明实施例四所述的一种视频混播的实现方法的流程示意图;
图5所示为本发明实施例五所述的一种终端的结构示意图;
图6所示为本发明实施例五所述的一种中心内分发管理平台的结构示意图;
图7所示为本发明实施例五所述的一种校正控制器的结构示意图;
图8所示为本发明实施例五所述的一种视频混播的实现系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
本发明实施例一提供了一种视频混播的实现方法,如图1所示,其为本发明实施例一所述视频混播的实现方法的流程示意图,所述方法可包括以下步 骤:
步骤101:终端在确定RTP组播无流时,退出组播通道并记录通过组播通道最后接收到的RTP数据包的时间戳和编号。
需要说明的是,所述终端可为机顶盒终端等任意终端,只要其可支持IGMP(Internet Group Management Protocol,网际组管理协议)、RTSP(Real Time Streaming Protocol,实时传输协议)/TS、HLS协议等均可,本发明实施例对此不作赘述。
步骤102:根据预置的单播地址向中心内容分发管理平台发送单播播放请求,所述单播播放请求中携带有所述RTP数据包的时间戳和编号,以由所述中心内容分发管理平台根据所述单播播放请求向校正控制器下发时戳校正指令,由所述校正控制器根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引并发送给所述中心内容分发管理平台,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系。
也就是说,终端在退出RTP组播通道之后,可根据预置的单播地址(该地址可根据实际情况进行设置)向中心内容分发管理平台发送携带有所述RTP数据包的时间戳和编号的单播播放请求,以申请单播播放。
相应地,中心内容分发管理平台在接收到终端发送的单播播放请求时,可通过向校正控制器发送携带有所述RTP数据包的时间戳和编号的时戳校正指令的方式,指示校正控制器对所述RTP数据包的时间戳和编号进行校准,以得到相应的HLS快进快退索引,并进而接收校正控制器返回的所述HLS快进快退索引。
需要说明的是,校正控制器除了可返回HLS快进快退索引给中心内容分发管理平台之外,还可返回对应的HLS码率给中心内容分发管理平台,其中,对应的HLS码率可为终端接入网络实际带宽对应的码率,本发明实施例对此不作赘述。
步骤103:接收所述中心内容分发管理平台根据所述HLS快进快退索引下 发的HLS单播流数据,并根据接收到的HLS单播流数据实现HLS单播流的播放。
也就是说,在本发明实施例所述技术方案中,终端在确定RTP组播无流时,可根据中心内容分发管理平台基于HLS快进快退索引下发的HLS单播流数据实现HLS单播流的播放,所述HLS快进快退索引是校正控制器对终端通过组播通道最后接收到的RTP数据包的时间戳和编号进行校准所得到的,其中包含HLS时间戳与分片以及分片字节偏移量的对应关系,从而实现了RTP组播无流时向HLS单播的转换,从而相对于现有的基于RTP实现的组播无流转换的方案来说,能够根据终端用户带宽的可用性在终端而不是在前端视频服务上,实现对码率的切换,为用户在无保障的网络上提供了良好的单播体验。
需要说明的是,在步骤101之前,还可包括以下操作:
终端接收中心内容分发管理平台通过边缘CDN下发的RTP组播视频流,所述RTP组播视频流可以是内容牌照方对视频内容进行视频质量的预检测后,注入至中心内容分发管理平台的。
也就是说,在本发明所述实施例中,首先可由内容牌照方对视频直播业务的视频片源进行审核,在进行视频质量的预检测后,再将视频内容注入中心内容分发管理平台,由中心内容分发管理平台将视频内容二级分发至边缘CDN,再由边缘CDN将RTP组播视频流下发至终端,之后,在终端下拉组播流无效时,可执行步骤101,即,退出组播通道并记录通过组播通道最后接收到的RTP数据包的时间戳和编号,本发明实施例对此不作赘述。
进一步地,接收所述中心内容分发管理平台根据所述HLS快进快退索引下发的HLS单播流数据,并根据接收到的HLS单播流数据实现HLS单播流的播放,可具体实施为以下步骤A1-A4:
步骤A1:接收所述中心内容分发管理平台根据所述HLS快进快退索引发送的主索引文件,并根据接收到的所述主索引文件向所述中心内容分发管理平台请求相应码率对应的子索引文件。
具体地,所述主索引文件即为index.m3u8主索引文件。另外,可选地,主索引文件可以是中心内容分发管理平台根据之前校正控制器返回的HLS码率以及所述HLS快进快退索引向终端发送的。
具体地,终端在接收到所述中心内容分发管理平台根据所述HLS快进快退索引发送的index.m3u8主索引文件的数据后,可对接收到的index.m3u8主索引文件的数据进行解析,得到媒体播放列表,并根据得到的媒体播放列表向所述中心内容分发管理平台请求相应码率对应的子索引文件。
步骤A2:接收所述中心内容分发管理平台发送的所述相应码率对应的子索引文件,并根据接收到的所述相应码率对应的子索引文件向所述中心内容分发管理平台请求所述相应码率对应的第一个编号的分片文件。
具体地,所述子索引文件即为index.m3u8子索引文件。
另外,终端可通过向中心内容分发管理平台发送HTTP请求,请求所述相应码率对应的第一个编号的分片文件(即,TS文件)。
步骤A3:接收所述中心内容分发管理平台发送的所述相应码率对应的第一编号的分片文件并播放。
可选地,终端可提供终端无关统一调用方法,供牌照方APK调用以进行视频内容的播放。
步骤A4:陆续请求所述相应码率对应的下一个编号的分片文件并播放,直至播放到所述相应码率的最后一个分片文件或接收到相应的停止观看指令。
同样地,终端可通过向中心内容分发管理平台发送HTTP请求,请求所述相应码率对应的下一个编号的分片文件(TS文件)。
另外,播放到最后一个分片文件(TS文件)或接收到相应的停止观看指令(即用户停止观看时),终端可关闭所有TCP连接。
再有,需要说明的是,中心内容分发管理平台在下发主索引文件、子索引文件以及分片文件等给终端时,通常可经由边缘CDN转发至终端,本发明实施例对此不作赘述。
进一步地,所述方法还可包括:
确定自身当前播放状态,并将所述当前播放状态告知所述中心内容分发管理平台。
可选地,终端可通过自身配置的播放器状态获取接口,将所述终端的当前播放状态告知所述中心内容分发管理平台,比如组播无流转单播是否成功等,以使得中心内容分发管理平台能够及时准确地了解终端状态,本发明实施例对此不作赘述。
本发明实施例一提供了一种视频混播的实现方法,终端确定RTP组播无流时,退出组播通道并记录通过组播通道最后接收到的RTP数据包的时间戳和编号,并根据预置的单播地址向中心内容分发管理平台发送单播播放请求,所述单播播放请求中携带有所述RTP数据包的时间戳和编号,以由所述中心内容分发管理平台根据所述单播播放请求向校正控制器下发时戳校正指令,由所述校正控制器根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引并发送给所述中心内容分发管理平台,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系,以及,接收所述中心内容分发管理平台根据所述HLS快进快退索引下发的HLS单播流数据,并根据接收到的HLS单播流数据实现HLS单播流的播放。
也就是说,在本发明实施例所述技术方案中,终端在确定RTP组播无流时,可根据中心内容分发管理平台基于HLS快进快退索引下发的HLS单播流数据实现HLS单播流的播放,所述HLS快进快退索引是校正控制器对终端通过组播通道最后接收到的RTP数据包的时间戳和编号进行校准所得到的,其中包含HLS时间戳与分片以及分片字节偏移量的对应关系,从而实现了RTP组播无流时向HLS单播的转换,从而相对于现有的基于RTP实现的组播无流转换的方案来说,能够根据终端用户带宽的可用性在终端而不是在前端视频服务上,实现对码率的切换,为用户在无保障的网络上提供了良好的单播体验。
实施例二
本发明实施例二以中心内容分发管理平台执行为例,对本发明实施例一中所述视频混播的实现方法进行进一步说明,如图2所示,其为本发明实施例二所述的视频混播的实现方法的流程示意图,所述方法可包括以下步骤:
步骤201:中心内容分发管理平台接收终端发送的单播播放请求,所述单播播放请求为所述终端在确定RTP组播无流时,根据预置的单播地址向所述中心内容分发管理平台发送的,且,所述单播播放请求中携带有所述终端通过组播通道最后接收到的RTP数据包的时间戳和编号。
需要说明的是,中心内容分发管理平台主要可由中心视频分发系统、中心资源调度系统、中心媒体服务系统、中心业务管理系统组成,且含全局调度、内容中心、服务节点、运营管理、网络管理、访问控制等多个子系统,可用于接收内容牌照方的视频内容,完成视频内容的向边缘CDN的分发,完成系统的业务和计费管理等功能,本发明实施例对此不作赘述。
步骤202:根据接收到的所述单播播放请求向校正控制器下发时戳校正指令,所述时戳校正指令中携带有终端上报的通过组播通道最后接收到的所述RTP数据包的时间戳和编号,以由所述校正控制器根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为超文本直播流HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系。
也就是说,中心内容分发管理平台在接收到终端发送的单播播放请求时,可通过向校正控制器发送携带有所述RTP数据包的时间戳和编号的时戳校正指令的方式,指示校正控制器对所述RTP数据包的时间戳和编号进行校准,以得到相应的HLS快进快退索引。
步骤203:接收所述校正控制器发送的所述HLS快进快退索引,并根据所述HLS快进快退索引向所述终端下发HLS单播流数据,以由所述终端根据接收到的所述HLS单播流数据实现HLS单播流的播放。
需要说明的是,校正控制器除了可返回HLS快进快退索引给中心内容分 发管理平台之外,还可返回对应的HLS码率给中心内容分发管理平台,其中,对应的HLS码率可为终端接入网络实际带宽对应的码率,本发明实施例对此不作赘述。
也就是说,在本发明实施例所述技术方案中,中心内容分发管理平台可根据接收到的终端在确定组播无流时发送的单播播放请求以及校正控制器发送的所述HLS快进快退索引,向所述终端下发HLS单播流数据,所述HLS快进快退索引是校正控制器对终端通过组播通道最后接收到的RTP数据包的时间戳和编号进行校准所得到的,其中包含HLS时间戳与分片以及分片字节偏移量的对应关系,以由终端实现HLS单播流的播放,从而实现了RTP组播无流时向HLS单播的转换,从而相对于现有的基于RTP传输技术实现的组播无流转换的方案来说,能够根据终端用户带宽的实际情况实现对码率的切换,为用户在无保障的网络上提供了良好的视频播放体验。
进一步地,根据所述HLS快进快退索引向所述终端下发HLS单播流数据,以由所述终端根据接收到的所述HLS单播流数据实现HLS单播流的播放,可具体实施为以下步骤B1-B4:
步骤B1:根据所述HLS快进快退索引向所述终端下发主索引文件。
具体地,所述主索引文件即为index.m3u8主索引文件。另外,可选地,主索引文件可以是中心内容分发管理平台根据之前校正控制器返回的HLS码率以及所述HLS快进快退索引向终端发送的,以由终端对接收到的index.m3u8主索引文件的数据进行解析,得到媒体播放列表,并根据得到的媒体播放列表向所述中心内容分发管理平台请求相应码率对应的子索引文件。
步骤B2:接收所述终端根据接收到的所述主索引文件发送的用于请求相应码率对应的子索引文件的第一请求,并根据所述第一请求向所述终端下发所述相应码率对应的子索引文件。
具体地,所述子索引文件即为index.m3u8子索引文件。另外,所述第一请求可为终端根据得到的媒体播放列表和自身所支持的相应码率向所述中心内 容分发管理平台发送的、用于请求所述相应码率对应的index.m3u8子索引文件的请求,相应的,所述中心内容分发管理平台可根据该第一请求向所述终端下发所述相应码率对应的index.m3u8子索引文件。
步骤B3:接收所述终端根据接收到的所述相应码率对应的子索引文件发送的用于请求所述相应码率对应的第一个编号的分片文件的第二请求,并根据所述第二请求向所述终端下发所述相应码率对应的第一编号的分片文件,以由所述终端播放接收到的所述相应码率对应的第一编号的分片文件。
具体地,所述第二请求可为HTTP请求,中心内容分发管理平台根据该HTTP请求向所述终端发送所述相应码率对应的第一个编号的分片文件(TS文件)。
步骤B4:陆续接收所述终端发送的用于请求所述相应码率对应的下一个编号的分片文件的请求,并根据相应请求向所述终端下发所述相应码率对应的下一个编号的分片文件,直至下发完最后一个分片文件或不再接收到所述终端发送的用于请求所述相应码率对应的下一个编号的分片文件的请求。
同样地,中心内容分发管理平台可根据接收到的下一HTTP请求,向所述终端发送所述相应码率对应的下一个编号的分片文件(TS文件),直至未接收到下一HTTP请求或接收到停止请求等指令时终止发送,本发明实施例对此不作赘述。
再有,需要说明的是,中心内容分发管理平台下发主索引文件、子索引文件以及分片文件等给终端时,通常可经由边缘CDN转发至终端,本发明实施例对此不作赘述。
进一步地,所述方法还可包括:
接收所述终端上报的所述终端的当前播放状态信息,并根据所述当前播放状态信息获知所述终端的当前播放状态。
本发明实施例二提供了一种视频混播的实现方法,在本发明实施例所述技术方案中,中心内容分发管理平台可根据接收到的终端在确定组播无流时发送 的单播播放请求以及校正控制器发送的所述HLS快进快退索引,向所述终端下发HLS单播流数据,所述HLS快进快退索引是校正控制器对终端通过组播通道最后接收到的RTP数据包的时间戳和编号进行校准所得到的,其中包含HLS时间戳与分片以及分片字节偏移量的对应关系,以由终端实现HLS单播流的播放,从而实现了RTP组播无流时向HLS单播的转换,从而相对于现有的基于RTP传输技术实现的组播无流转换的方案来说,能够根据终端用户带宽的实际情况实现对码率的切换,为用户在无保障的网络上提供了良好的视频播放体验。
实施例三
本发明实施例三以校正控制器执行为例,对本发明实施例一中所述视频混播的实现方法进行进一步说明,如图3所示,其为本发明实施例三所述的视频混播的实现方法的流程示意图,所述方法可包括以下步骤:
步骤301:校正控制器接收中心内容分发管理平台下发的时戳校正指令,所述时戳校正指令中携带有终端在确定RTP组播无流时,通过组播通道最后接收到的RTP数据包的时间戳和编号。
步骤302:根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系。
需要说明的是,校正控制器可用于存储系统绝对时间,以在接收到中心内容分发管理平台的时间戳校准指令时,根据该系统绝对时间,将中心内容分发管理平台传送来的终端记录其最后收到的RTP数据包时间戳和编号,校准为对应的HLS快进快退索引,本发明实施例对此不作赘述。
步骤303:向所述中心内容分发管理平台发送所述HLS快进快退索引,以由所述中心内容分发和管理平台根据所述HLS快进快退索引向所述终端下发HLS单播流数据,由所述终端根据接收到的HLS单播流数据实现HLS单播流的播放。
需要说明的是,校正控制器除了可返回HLS快进快退索引给中心内容分发管理平台之外,还可返回对应的HLS码率给中心内容分发管理平台,其中,对应的HLS码率可为终端接入网络实际带宽对应的码率,本发明实施例对此不作赘述。
也就是说,在本发明实施例所述技术方案中,校正控制器可根据接收到的携带有终端通过组播通道最后接收到的RTP数据包的时间戳和编号的时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引,所述HLS快进快退索引包含HLS时间戳与分片以及分片字节偏移量的对应关系,并将所述HLS快进快退索引发送给所述中心内容分发管理平台,以由中心内容分发管理平台根据所述HLS快进快退索引,向所述终端下发HLS单播流数据,由终端实现HLS单播流的播放,从而实现了RTP组播无流时向HLS单播的转换,从而相对于现有的基于RTP传输技术实现的组播无流转换的方案来说,能够根据终端用户带宽的实际情况实现对码率的切换,为用户在无保障的网络上提供了良好的视频播放体验。
实施例四:
本发明实施例四以终端、中心内容分发管理平台以及校正控制器交互执行为例,对本发明实施例一至三中所述视频混播的实现方法进行进一步说明,如图4所示,其为本发明实施例四所述的视频混播的实现方法的流程示意图,所述方法可包括以下步骤:
步骤401:终端确定RTP组播无流时,退出组播通道并记录通过组播通道最后接收到的RTP数据包的时间戳和编号。
步骤402:终端根据预置的单播地址向中心内容分发管理平台发送单播播放请求,所述单播播放请求中携带有所述RTP数据包的时间戳和编号。
步骤403:中心内容分发管理平台接收所述单播播放请求,并根据接收到的所述单播播放请求向校正控制器下发时戳校正指令,所述时戳校正指令中携带有终端上报的通过组播通道最后接收到的所述RTP数据包的时间戳和编号。
步骤404:校正控制器接收所述时戳校正指令,并根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系。
步骤405:校正控制器向所述中心内容分发管理平台发送所述HLS快进快退索引。
步骤406:中心内容分发管理平台接收所述HLS快进快退索引,并根据所述HLS快进快退索引向所述终端下发HLS单播流数据。
步骤407:终端接收所述HLS单播流数据,并根据所述HLS单播流数据实现HLS单播流的播放。
具体地,终端根据所述HLS单播流数据实现HLS单播流的播放的具体实施可如本发明实施例一中步骤A1-A4所述,本发明实施例对此不作赘述。
也就是说,在本发明实施例所述技术方案中,终端在确定RTP组播无流时,可根据接收到的中心内容分发管理平台基于HLS快进快退索引下发的HLS单播流数据实现HLS单播流的播放,所述HLS快进快退索引是校正控制器对终端通过组播通道最后接收到的RTP数据包的时间戳和编号进行校准所得到的,其中包含HLS时间戳与分片以及分片字节偏移量的对应关系,从而实现了RTP组播无流时向HLS单播的转换,从而相对于现有的基于RTP传输技术实现的组播无流转换的方案来说,能够根据终端用户带宽的实际情况实现对码率的切换,为用户在无保障的网络上提供了良好的视频播放体验。
实施例五
基于与本发明实施例一相同的发明构思,本发明实施例五提供了一种终端,该终端的具体实施可参见上述方法实施例一中的相关描述,重复之处不再赘述,其结构示意图如图5所示,该设备主要可包括:
记录单元51,可用于在确定RTP组播无流时,退出组播通道并记录通过组播通道最后接收到的RTP数据包的时间戳和编号;
发送单元52,可用于根据预置的单播地址向中心内容分发管理平台发送单 播播放请求,所述单播播放请求中携带有所述RTP数据包的时间戳和编号,以由所述中心内容分发管理平台根据所述单播播放请求向校正控制器下发时戳校正指令,由所述校正控制器根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引并发送给所述中心内容分发管理平台,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系;
处理单元53,可用于接收所述中心内容分发管理平台根据所述HLS快进快退索引下发的HLS单播流数据,并根据接收到的HLS单播流数据实现HLS单播流的播放。
进一步地,所述处理单元53,可具体用于接收所述中心内容分发管理平台根据所述HLS快进快退索引发送的主索引文件,并根据接收到的所述主索引文件向所述中心内容分发管理平台请求相应码率对应的子索引文件;以及,
接收所述中心内容分发管理平台发送的所述相应码率对应的子索引文件,并根据接收到的所述相应码率对应的子索引文件向所述中心内容分发管理平台请求所述相应码率对应的第一个编号的分片文件;以及,
接收所述中心内容分发管理平台发送的所述相应码率对应的第一编号的分片文件并播放;以及,
陆续请求所述相应码率对应的下一个编号的分片文件并播放,直至播放到所述相应码率的最后一个分片文件或接收到相应的停止观看指令。
进一步地,所述发送单元52,还可用于确定自身当前播放状态,并将所述当前播放状态告知所述中心内容分发管理平台。
可选地,终端可通过自身配置的播放器状态获取接口,将所述终端的当前播放状态告知所述中心内容分发管理平台,比如组播无流转单播是否成功等,以使得中心内容分发管理平台能够及时准确地了解终端状态,本发明实施例对此不作赘述。
进一步地,基于与本发明实施例二相同的发明构思,本发明实施例五还提 供了一种中心内容分发管理平台,该设备的具体实施可参见上述方法实施例二中的相关描述,重复之处不再赘述,其结构示意图如图6所示,该设备主要可包括:
接收单元61,可用于接收终端发送的单播播放请求,所述单播播放请求为所述终端在确定RTP组播无流时,根据预置的单播地址向所述中心内容分发管理平台发送的,且,所述单播播放请求中携带有所述终端通过组播通道最后接收到的RTP数据包的时间戳和编号;
发送单元62,可用于根据接收到的所述单播播放请求向校正控制器下发时戳校正指令,所述时戳校正指令中携带有终端上报的通过组播通道最后接收到的所述RTP数据包的时间戳和编号,以由所述校正控制器根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系;
处理单元63,可用于接收所述校正控制器发送的所述HLS快进快退索引,并根据所述HLS快进快退索引向所述终端下发HLS单播流数据,以由所述终端根据接收到的所述HLS单播流数据实现HLS单播流的播放。
进一步地,所述处理单元63,可具体用于根据所述HLS快进快退索引向所述终端下发主索引文件;以及,
接收所述终端根据接收到的所述主索引文件发送的用于请求相应码率对应的子索引文件的第一请求,并根据所述第一请求向所述终端下发所述相应码率对应的子索引文件;以及,
接收所述终端根据接收到的所述相应码率对应的子索引文件发送的用于请求所述相应码率对应的第一个编号的分片文件的第二请求,并根据所述第二请求向所述终端下发所述相应码率对应的第一编号的分片文件,以由所述终端播放接收到的所述相应码率对应的第一编号的分片文件;以及,
陆续接收所述终端发送的用于请求所述相应码率对应的下一个编号的分片文件的请求,并根据相应请求向所述终端下发所述相应码率对应的下一个编 号的分片文件,直至下发完最后一个分片文件或不再接收到所述终端发送的用于请求所述相应码率对应的下一个编号的分片文件的请求。
进一步地,所述接收单元61,还可用于接收所述终端上报的所述终端的当前播放状态信息,并根据所述当前播放状态信息获知所述终端的当前播放状态。
进一步地,基于与本发明实施例三相同的发明构思,本发明实施例五还提供了一种校正控制器,该设备的具体实施可参见上述方法实施例三中的相关描述,重复之处不再赘述,其结构示意图如图7所示,该设备主要可包括:
接收单元71,可用于接收中心内容分发管理平台下发的时戳校正指令,所述时戳校正指令中携带有终端在确定RTP组播无流时,通过组播通道最后接收到的RTP数据包的时间戳和编号;
处理单元72,可用于根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系;
发送单元73,可用于向所述中心内容分发管理平台发送所述HLS快进快退索引,以由所述中心内容分发和管理平台根据所述HLS快进快退索引向所述终端下发HLS单播流数据,由所述终端根据接收到的HLS单播流数据实现HLS单播流的播放。
进一步地,基于与本发明实施例一和三相同的发明构思,本发明实施例五还提供了一种视频混播的实现系统,该系统的具体实施可参见上述方法实施例一和三中的相关描述,重复之处不再赘述,其结构示意图如图8所示,该视频混播的实现系统主要可包括:
终端81,可用于在确定RTP组播无流时,退出组播通道并记录通过组播通道最后接收到的RTP数据包的时间戳和编号,以及,根据预置的单播地址向中心内容分发管理平台82发送单播播放请求,所述单播播放请求中携带有所述RTP数据包的时间戳和编号,以及,接收所述中心内容分发管理平台82根 据HLS快进快退索引下发的HLS单播流数据,并根据接收到的HLS单播流数据实现HLS单播流的播放;
所述中心内容分发管理平台82,可用于接收所述终端81发送的单播播放请求,并根据接收到的所述单播播放请求向校正控制器83下发时戳校正指令,所述时戳校正指令中携带有终端81上报的通过组播通道最后接收到的所述RTP数据包的时间戳和编号,以及,接收所述校正控制器83发送的所述HLS快进快退索引,并根据所述HLS快进快退索引向所述终端81下发HLS单播流数据;
所述校正控制器83,可用于接收所述中心内容分发管理平台82下发的时戳校正指令,并根据所述时戳校正指令,将所述RTP数据包的时间戳和编号校准为所述HLS快进快退索引,所述HLS快进快退索引中包含HLS时间戳与分片以及分片字节偏移量的对应关系,以及,向所述中心内容分发管理平台82发送所述HLS快进快退索引。
也就是说,在本发明实施例所述技术方案中,终端在确定RTP组播无流时,可根据接收到的中心内容分发管理平台基于HLS快进快退索引下发的HLS单播流数据实现HLS单播流的播放,所述HLS快进快退索引是校正控制器对终端通过组播通道最后接收到的RTP数据包的时间戳和编号进行校准所得到的,其中包含HLS时间戳与分片以及分片字节偏移量的对应关系,从而实现了RTP组播无流时向HLS单播的转换,从而相对于现有的基于RTP传输技术实现的组播无流转换的方案来说,能够根据终端用户带宽的实际情况实现对码率的切换,为用户在无保障的网络上提供了良好的视频播放体验。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。