一种rtp组播直播与hls单播时移相结合的实现方法

文档序号:9814863阅读:1057来源:国知局
一种rtp组播直播与hls单播时移相结合的实现方法
【技术领域】
[0001 ]本发明涉及互联网多媒体领域,具体来讲涉及一种RTP组播直播与HLS单播时移相结合的实现方法。
【背景技术】
[0002]随着多媒体技术的发展,0TT(0ver The Top)业务应用已经变得非常广泛,与IPTV(交互式网络电视)业务相比,基于HLS(Http Live Streaming)实现的OTT业务已经越来越常见。
[0003]HLS协议由苹果公司开发,是在HTTP协议上面将媒体内容切片成若干小分片,并组织相应的M3U8(分片索引文件)文件。直播业务通S#EXT-X-MEDIA-SEQUENCE标签来实现,直播源给出的分片序列号是不断累加更新的,每个更新的分片都会分配递增的序列号,终端播放时也是根据#EXT-X-MEDIA-SEQUENCE标签来决定下一个要播放的分片。当服务器端一次给出的分片快要播放完时,终端继续请求新的分片列表以获取新的分片,达到直播的顺序流畅播放。
[0004]因此,基于HLS的直播,终端请求时一般都从倒数第2-3个分片来,而每个分片基本都有10秒左右的内容,造成HLS的直播与头端直播点的内容相差很久,在一些实时内容直播时,直播出现时延。
[0005]而一般的组播业务,基本都只有直播业务,但是并不能提供时移服务,导致用户无法在实时直播和时移功能之间自由转换,降低了用户体验度。

【发明内容】

[0006]针对现有技术中存在的缺陷,本发明的目的在于提供一种RTP组播直播与HLS单播时移相结合的实现方法,避免出现时延,既保证直播实时又能进行时移,实现直播和时移功能之间自由转换。
[0007]为达到以上目的,本发明提供一种RTP组播直播与HLS单播时移相结合的实现方法,包括步骤:
[0008]S1.启用RTP组播直播的头端系统,将RTP组播的RTP报头进行扩展,添加媒体分片时间与媒体分片序列号信息,将RTP报头和RTP负载内容以RTP数据包的形式发送给服务器;
[0009]S2.服务器加入RTP组播地址并接收所述RTP组播,根据RTP数据包中RTP报头的扩展信息,将RTP负载内容录制成HLS协议媒体格式,并根据预先设定的时移时长,存储该时长内的所有RTP负载内容;
[0010]S3.终端加入RTP组播地址,并接收RTP组播,进行直播内容播放;
[0011 ] S4.终端从直播切换到时移时,终端退出组播,并向服务器请求时移内容;
[0012 ] S5.服务器收到请求后,给出对应的时移内容,提供时移服务;
[0013]S6.终端从时移切回直播时,按照步骤S3,重新加入组播进行直播内容播放。
[0014]在上述技术方案的基础上,步骤SI中,所述媒体分片序列号信息,表示当前RTP负荷中的视频数据所在的HLS媒体分片序列号。
[0015]在上述技术方案的基础上,步骤SI中,所述媒体分片时间,表示当前RTP负荷所在的HLS媒体分片的绝对播放时间。
[0016]在上述技术方案的基础上,步骤2中,将RTP负载内容录制成HLS协议媒体格式,具体为,将RTP负载内容录制成切片HLS格式的媒体分片,相同的媒体分片时间和媒体分片序列号信息的RTP数据包录制在同一分片。
[0017]在上述技术方案的基础上,步骤S4中,终端从直播切换到时移时,根据RTP组播的RTP报头中的媒体分片时间与媒体分片序列号信息,找到时移的时间,向服务器对应时间点的时移请求,请求时移内容。
[0018]在上述技术方案的基础上,步骤S5中,服务器收到请求后,根据媒体分片时间准确给出时移时间点的时移内容。
[0019]在上述技术方案的基础上,步骤S6中,终端从时移切回直播时,先要立即停止时移内容的请求,清空时移内容,再按照步骤S3,重新加入组播进行直播内容播放。
[0020]本发明的有益效果在于:通过在RTP组播直播的头端系统中,对RTP报头进行扩展,根据RTP数据包中RTP报头的扩展信息,由服务器根据RTP报文头的扩展信息,将RTP负载内容录制成HLS媒体内容格式并存贮。在组播直播的业务上同时实现HLS的时移功能;系统采用组播直播,播放的为直播点的内容,解决了 HLS直播延迟的缺点并同时能提供时移服务。
【附图说明】
[0021 ]图1为本发明实施例RTP组播直播与HLS单播时移相结合的实现方法流程图;
[0022]图2为本发明实施例在RTP报头扩展两个字段的示意图;
[0023]图3为本发明实施例RTP数据包与录制HLS格式的媒体分片对应关系示意图。
【具体实施方式】
[0024]以下结合附图及实施例对本发明作进一步详细说明。
[0025]如图1所示,本发明RTP组播直播与HLS单播时移相结合的实现方法,具体包括如下步骤:
[0026]S1.启用RTP组播直播的头端系统,准备好RTP组播,将RTP组播的RTP报头进行扩展,本实施例中添加媒体分片时间与媒体分片序列号信息两个字段,然后将RTP报头和RTP负载内容以RTP数据包的形式发送给服务器。
[0027]如图2所示,添加的两个字段具体为:
[0028]his media sequence(媒体分片序列号信息),采用32-bit无符号整数定义保存,表示当前RTP负荷中的视频数据所在的HLS媒体分片序列号,对应HLS规范中的标签#EXT-X-MEDIA-SEQUENCE 表示的值。
[0029]his program date time(媒体分片时间),采用64_bit无符号整数定义保存,表示当前RTP负荷所在的HLS媒体分片的绝对播放时间。从公元1970年I月I日的UTC时间,由O时O分O秒算起到现在所经过的毫秒秒数,对应HLS规范中的#EXT-X-PROGRAM-DATE-??ME表示的值。
[0030]S2.服务器加入RTP组播地址并接收所述RTP组播,根据RTP数据包中RTP报头的扩展信息,将RTP数据包中的负载内容录制成HLS协议媒体格式,并根据预先设定的时移时长,存储该时长内的所有RTP负载内容。
[0031]如图3所示,为RTP组播与HLS格式的媒体分片对应关系图。图3中的PDTl、PDT2、Η)Τ3均表示分片绝对播放日期和时间,即RTP报头的扩展信息中的his program date time字段;TS1、TS2、TS3均为录制的HLS媒体分片内容;相同his media sequence与his programdate time的RTP数据包将录制在同一媒体分片。三个不同序列号的RTP数据包RTPl、RTP2和1?丁?3的1118 program datetime时间相同都是I3DTl,所以三个RTP数据包生成同一个媒体分片文件TS1。同理TS2、TS3由其他相同his program datetime的RTP数据包生成。
[0032 ] S3.终端加入RTP组播地址,并接收来RTP组播,进行直播内容播放。
[0033]S4.终端从直播切换到时移时,终端退出组播,根据RTP组播的RTP报头中的媒体分片时间与媒体分片序列号信息,找到时移的时间,并向服务器请求时移内容,具体的是服务器对应时间点的时移请求,请求时移内容。
[0034]S5.服务器收到请求后,给出对应的时移内容,具体的,根据媒体分片时间准确给出时移时间点的时移内容,提供时移服务。并且,服务器需要保存足够的时移内容(大于时移时长时间所存储的媒体内容)供终端完成时移,服务器需要保存媒体分片时间的信息,以备时移请求时,正确根据请求的时移点时间与媒体分片内容时间给出时移点内容。
[0035]S6.终端从时移切回直播时,先要立即停止时移内容的请求,清空时移内容,退出组播,并计算时移时间转到服务器请求HLS时移内容,时移时间可以通过RTP报头的扩展信息中的媒体分片时间来计算。然后按照步骤S3,重新加入RTP组播进行直播内容播放。在时移状态下切换时需要重新计算时移时间,并且当终端暂停/跳转< 3秒时,建议继续播放RTP组播。
[0036]本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【主权项】
1.一种RTP组播直播与HLS单播时移相结合的实现方法,其特征在于,包括步骤: 51.启用RTP组播直播的头端系统,将RTP组播的RTP报头进行扩展,添加媒体分片时间与媒体分片序列号信息,将RTP报头和RTP负载内容以RTP数据包的形式发送给服务器; 52.服务器加入RTP组播地址并接收所述RTP组播,根据RTP数据包中RTP报头的扩展信息,将RTP负载内容录制成HLS协议媒体格式,并根据预先设定的时移时长,存储该时长内的所有RTP负载内容; 53.终端加入RTP组播地址,并接收RTP组播,进行直播内容播放; 54.终端从直播切换到时移时,终端退出组播,并向服务器请求时移内容; 55.服务器收到请求后,给出对应的时移内容,提供时移服务; 56.终端从时移切回直播时,按照步骤S3,重新加入组播进行直播内容播放。2.如权利要求1所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤SI中,所述媒体分片序列号信息,表示当前RTP负荷中的视频数据所在的HLS媒体分片序列号。3.如权利要求1所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤SI中,所述媒体分片时间,表示当前RTP负荷所在的HLS媒体分片的绝对播放时间。4.如权利要求1所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤2中,将RTP负载内容录制成HLS协议媒体格式,具体为,将RTP负载内容录制成切片HLS格式的媒体分片,相同的媒体分片时间和媒体分片序列号信息的RTP数据包录制在同一分片。5.如权利要求1所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤S4中,终端从直播切换到时移时,根据RTP组播的RTP报头中的媒体分片时间与媒体分片序列号信息,找到时移的时间,向服务器对应时间点的时移请求,请求时移内容。6.如权利要求5所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤S5中,服务器收到请求后,根据媒体分片时间准确给出时移时间点的时移内容。7.如权利要求1所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤S6中,终端从时移切回直播时,先要立即停止时移内容的请求,清空时移内容,再按照步骤S3,重新加入组播进行直播内容播放。
【专利摘要】一种RTP组播直播与HLS单播时移相结合的实现方法,涉及互联网多媒体领域,包括:头端系统将RTP报头扩展,添加媒体分片时间与媒体分片序列号信息,将RTP报头和RTP负载内容以RTP数据包发送给服务器;服务器加入RTP组播地址并接收RTP组播,根据RTP报头的扩展信息,将RTP负载内容录制成HLS协议媒体格式,存储时移时长内所有RTP负载内容;终端加入RTP组播地址,进行直播内容播放;终端从直播切换到时移,向服务器请求时移内容;服务器收到请求后,给出对应的时移内容,提供时移服务;终端从时移切回直播,重新加入组播进行直播内容播放。本发明既保证直播实时又能进行时移,实现直播和时移功能之间自由转换。
【IPC分类】H04N21/6408, H04N21/845, H04N21/6405, H04N21/6437
【公开号】CN105578308
【申请号】CN201511008997
【发明人】吕晓洪
【申请人】武汉市烽视威科技有限公司
【公开日】2016年5月11日
【申请日】2015年12月29日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1