加入rtp组播_一种RTP组播直播与HLS单播时移相结合的实现方法_2015110089976_说明书_专利查询_专利网_钻瓜专利网...

一种RTP组播直播与HLS单播时移相结合的实现方法,涉及互联网多媒体领域,包括:头端系统将RTP报头扩展,添加媒体分片时间与媒体分片序列号信息,将RTP报头和RTP负载内容以RTP数据包发送给服务器;服务器加入RTP组播地址并接收RTP组播,根据RTP报头的扩展信息,将RTP负载内容录制成HLS协议媒体格式,存储时移时长内所有RTP负载内容;终端加入RTP组播地址,进行直播内容播放;终端从直播切换到时移,向服务器请求时移内容;服务器收到请求后,给出对应的时移内容,提供时移服务;终端从时移切回直播,重新加入组播进行直播内容播放。本发明既保证直播实时又能进行时移,实现直播和时移功能之间自由转换。

技术领域

本发明涉及互联网多媒体领域,具体来讲涉及一种RTP组播直播与HLS单播时移相结合的实现方法。

背景技术

随着多媒体技术的发展,OTT(Over The Top)业务应用已经变得非常广泛,与IPTV(交互式网络电视)业务相比,基于HLS(Http Live Streaming)实现的OTT业务已经越来越常见。

HLS协议由苹果公司开发,是在HTTP协议上面将媒体内容切片成若干小分片,并组织相应的M3U8(分片索引文件)文件。直播业务通过#EXT-X-MEDIA-SEQUENCE标签来实现,直播源给出的分片序列号是不断累加更新的,每个更新的分片都会分配递增的序列号,终端播放时也是根据#EXT-X-MEDIA-SEQUENCE标签来决定下一个要播放的分片。当服务器端一次给出的分片快要播放完时,终端继续请求新的分片列表以获取新的分片,达到直播的顺序流畅播放。

因此,基于HLS的直播,终端请求时一般都从倒数第2-3个分片来,而每个分片基本都有10秒左右的内容,造成HLS的直播与头端直播点的内容相差很久,在一些实时内容直播时,直播出现时延。

而一般的组播业务,基本都只有直播业务,但是并不能提供时移服务,导致用户无法在实时直播和时移功能之间自由转换,降低了用户体验度。

发明内容

针对现有技术中存在的缺陷,本发明的目的在于提供一种RTP组播直播与HLS单播时移相结合的实现方法,避免出现时延,既保证直播实时又能进行时移,实现直播和时移功能之间自由转换。

为达到以上目的,本发明提供一种RTP组播直播与HLS单播时移相结合的实现方法,包括步骤:

S1.启用RTP组播直播的头端系统,将RTP组播的RTP报头进行扩展,添加媒体分片时间与媒体分片序列号信息,将RTP报头和RTP负载内容以RTP数据包的形式发送给服务器,其中,所述媒体分片时间表示当前RTP负荷所在的HLS媒体分片的绝对播放时间,所述媒体分片序列号信息表示当前RTP负荷中的视频数据所在的HLS媒体分片序列号;

S2.服务器加入RTP组播地址并接收所述RTP组播,根据RTP数据包中RTP报头的扩展信息,将RTP负载内容录制成HLS协议媒体格式,并根据预先设定的时移时长,存储该时长内的所有RTP负载内容;

S3.终端加入RTP组播地址,并接收RTP组播,进行直播内容播放;

S4.终端从直播切换到时移时,终端退出组播,并向服务器请求时移内容;

S5.服务器收到请求后,给出对应的时移内容,提供时移服务;

S6.终端从时移切回直播时,按照步骤S3,重新加入组播进行直播内容播放。

在上述技术方案的基础上,步骤2中,将RTP负载内容录制成HLS协议媒体格式,具体为,将RTP负载内容录制成切片HLS格式的媒体分片,相同的媒体分片时间和媒体分片序列号信息的RTP数据包录制在同一分片。

在上述技术方案的基础上,步骤S4中,终端从直播切换到时移时,根据RTP组播的RTP报头中的媒体分片时间与媒体分片序列号信息,找到时移的时间,向服务器对应时间点的时移请求,请求时移内容。

在上述技术方案的基础上,步骤S5中,服务器收到请求后,根据媒体分片时间准确给出时移时间点的时移内容。

在上述技术方案的基础上,步骤S6中,终端从时移切回直播时,先要立即停止时移内容的请求,清空时移内容,再按照步骤S3,重新加入组播进行直播内容播放。

本发明的有益效果在于:通过在RTP组播直播的头端系统中,对RTP报头进行扩展,根据RTP数据包中RTP报头的扩展信息,由服务器根据RTP报文头的扩展信息,将RTP负载内容录制成HLS媒体内容格式并存贮。在组播直播的业务上同时实现HLS的时移功能;系统采用组播直播,播放的为直播点的内容,解决了HLS直播延迟的缺点并同时能提供时移服务。

附图说明

图1为本发明实施例RTP组播直播与HLS单播时移相结合的实现方法流程图;

图2为本发明实施例在RTP报头扩展两个字段的示意图;

图3为本发明实施例RTP数据包与录制HLS格式的媒体分片对应关系示意图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

如图1所示,本发明RTP组播直播与HLS单播时移相结合的实现方法,具体包括如下步骤:

S1.启用RTP组播直播的头端系统,准备好RTP组播,将RTP组播的RTP报头进行扩展,本实施例中添加媒体分片时间与媒体分片序列号信息两个字段,然后将RTP报头和RTP负载内容以RTP数据包的形式发送给服务器。

如图2所示,添加的两个字段具体为:

hls media sequence(媒体分片序列号信息),采用32-bit无符号整数定义保存,表示当前RTP负荷中的视频数据所在的HLS媒体分片序列号,对应HLS规范中的标签#EXT-X-MEDIA-SEQUENCE表示的值。

hls program date time(媒体分片时间),采用64-bit无符号整数定义保存,表示当前RTP负荷所在的HLS媒体分片的绝对播放时间。从公元1970年1月1日的UTC时间,由0时0分0秒算起到现在所经过的毫秒秒数,对应HLS规范中的#EXT-X-PROGRAM-DATE-TIME表示的值。

S2.服务器加入RTP组播地址并接收所述RTP组播,根据RTP数据包中RTP报头的扩展信息,将RTP数据包中的负载内容录制成HLS协议媒体格式,并根据预先设定的时移时长,存储该时长内的所有RTP负载内容。

如图3所示,为RTP组播与HLS格式的媒体分片对应关系图。图3中的PDT1、PDT2、PDT3均表示分片绝对播放日期和时间,即RTP报头的扩展信息中的hls program date time字段;TS1、TS2、TS3均为录制的HLS媒体分片内容;相同hls media sequence与hls programdate time的RTP数据包将录制在同一媒体分片。三个不同序列号的RTP数据包RTP1、RTP2和RTP3的hls program datetime时间相同都是PDT1,所以三个RTP数据包生成同一个媒体分片文件TS1。同理TS2、TS3由其他相同hls program datetime的RTP数据包生成。

S3.终端加入RTP组播地址,并接收来RTP组播,进行直播内容播放。

S4.终端从直播切换到时移时,终端退出组播,根据RTP组播的RTP报头中的媒体分片时间与媒体分片序列号信息,找到时移的时间,并向服务器请求时移内容,具体的是服务器对应时间点的时移请求,请求时移内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值