CN105578308A - 一种rtp组播直播与hls单播时移相结合的实现方法 - Google Patents
一种rtp组播直播与hls单播时移相结合的实现方法 Download PDFInfo
- Publication number
- CN105578308A CN105578308A CN201511008997.6A CN201511008997A CN105578308A CN 105578308 A CN105578308 A CN 105578308A CN 201511008997 A CN201511008997 A CN 201511008997A CN 105578308 A CN105578308 A CN 105578308A
- Authority
- CN
- China
- Prior art keywords
- rtp
- time
- live
- multicast
- hls
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6408—Unicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种RTP组播直播与HLS单播时移相结合的实现方法,涉及互联网多媒体领域,包括:头端系统将RTP报头扩展,添加媒体分片时间与媒体分片序列号信息,将RTP报头和RTP负载内容以RTP数据包发送给服务器;服务器加入RTP组播地址并接收RTP组播,根据RTP报头的扩展信息,将RTP负载内容录制成HLS协议媒体格式,存储时移时长内所有RTP负载内容;终端加入RTP组播地址,进行直播内容播放;终端从直播切换到时移,向服务器请求时移内容;服务器收到请求后,给出对应的时移内容,提供时移服务;终端从时移切回直播,重新加入组播进行直播内容播放。本发明既保证直播实时又能进行时移,实现直播和时移功能之间自由转换。
Description
技术领域
本发明涉及互联网多媒体领域,具体来讲涉及一种RTP组播直播与HLS单播时移相结合的实现方法。
背景技术
随着多媒体技术的发展,OTT(OverTheTop)业务应用已经变得非常广泛,与IPTV(交互式网络电视)业务相比,基于HLS(HttpLiveStreaming)实现的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数据包的形式发送给服务器;
S2.服务器加入RTP组播地址并接收所述RTP组播,根据RTP数据包中RTP报头的扩展信息,将RTP负载内容录制成HLS协议媒体格式,并根据预先设定的时移时长,存储该时长内的所有RTP负载内容;
S3.终端加入RTP组播地址,并接收RTP组播,进行直播内容播放;
S4.终端从直播切换到时移时,终端退出组播,并向服务器请求时移内容;
S5.服务器收到请求后,给出对应的时移内容,提供时移服务;
S6.终端从时移切回直播时,按照步骤S3,重新加入组播进行直播内容播放。
在上述技术方案的基础上,步骤S1中,所述媒体分片序列号信息,表示当前RTP负荷中的视频数据所在的HLS媒体分片序列号。
在上述技术方案的基础上,步骤S1中,所述媒体分片时间,表示当前RTP负荷所在的HLS媒体分片的绝对播放时间。
在上述技术方案的基础上,步骤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所示,添加的两个字段具体为:
hlsmediasequence(媒体分片序列号信息),采用32-bit无符号整数定义保存,表示当前RTP负荷中的视频数据所在的HLS媒体分片序列号,对应HLS规范中的标签#EXT-X-MEDIA-SEQUENCE表示的值。
hlsprogramdatetime(媒体分片时间),采用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报头的扩展信息中的hlsprogramdatetime字段;TS1、TS2、TS3均为录制的HLS媒体分片内容;相同hlsmediasequence与hlsprogramdatetime的RTP数据包将录制在同一媒体分片。三个不同序列号的RTP数据包RTP1、RTP2和RTP3的hlsprogramdatetime时间相同都是PDT1,所以三个RTP数据包生成同一个媒体分片文件TS1。同理TS2、TS3由其他相同hlsprogramdatetime的RTP数据包生成。
S3.终端加入RTP组播地址,并接收来RTP组播,进行直播内容播放。
S4.终端从直播切换到时移时,终端退出组播,根据RTP组播的RTP报头中的媒体分片时间与媒体分片序列号信息,找到时移的时间,并向服务器请求时移内容,具体的是服务器对应时间点的时移请求,请求时移内容。
S5.服务器收到请求后,给出对应的时移内容,具体的,根据媒体分片时间准确给出时移时间点的时移内容,提供时移服务。并且,服务器需要保存足够的时移内容(大于时移时长时间所存储的媒体内容)供终端完成时移,服务器需要保存媒体分片时间的信息,以备时移请求时,正确根据请求的时移点时间与媒体分片内容时间给出时移点内容。
S6.终端从时移切回直播时,先要立即停止时移内容的请求,清空时移内容,退出组播,并计算时移时间转到服务器请求HLS时移内容,时移时间可以通过RTP报头的扩展信息中的媒体分片时间来计算。然后按照步骤S3,重新加入RTP组播进行直播内容播放。在时移状态下切换时需要重新计算时移时间,并且当终端暂停/跳转≤3秒时,建议继续播放RTP组播。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (7)
1.一种RTP组播直播与HLS单播时移相结合的实现方法,其特征在于,包括步骤:
S1.启用RTP组播直播的头端系统,将RTP组播的RTP报头进行扩展,添加媒体分片时间与媒体分片序列号信息,将RTP报头和RTP负载内容以RTP数据包的形式发送给服务器;
S2.服务器加入RTP组播地址并接收所述RTP组播,根据RTP数据包中RTP报头的扩展信息,将RTP负载内容录制成HLS协议媒体格式,并根据预先设定的时移时长,存储该时长内的所有RTP负载内容;
S3.终端加入RTP组播地址,并接收RTP组播,进行直播内容播放;
S4.终端从直播切换到时移时,终端退出组播,并向服务器请求时移内容;
S5.服务器收到请求后,给出对应的时移内容,提供时移服务;
S6.终端从时移切回直播时,按照步骤S3,重新加入组播进行直播内容播放。
2.如权利要求1所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤S1中,所述媒体分片序列号信息,表示当前RTP负荷中的视频数据所在的HLS媒体分片序列号。
3.如权利要求1所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤S1中,所述媒体分片时间,表示当前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,重新加入组播进行直播内容播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511008997.6A CN105578308B (zh) | 2015-12-29 | 2015-12-29 | 一种rtp组播直播与hls单播时移相结合的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511008997.6A CN105578308B (zh) | 2015-12-29 | 2015-12-29 | 一种rtp组播直播与hls单播时移相结合的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105578308A true CN105578308A (zh) | 2016-05-11 |
CN105578308B CN105578308B (zh) | 2018-06-22 |
Family
ID=55887892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511008997.6A Active CN105578308B (zh) | 2015-12-29 | 2015-12-29 | 一种rtp组播直播与hls单播时移相结合的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105578308B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331763A (zh) * | 2016-09-12 | 2017-01-11 | 北京小度互娱科技有限公司 | 无缝播放分片媒体文件的方法及实现该方法的装置 |
CN107426629A (zh) * | 2017-06-19 | 2017-12-01 | 网宿科技股份有限公司 | 一种流媒体文件处理方法及直播系统 |
CN107666613A (zh) * | 2016-07-27 | 2018-02-06 | 中国电信股份有限公司 | 用于多点录制的时间同步方法、服务器以及系统 |
CN109511018A (zh) * | 2018-12-27 | 2019-03-22 | 贵州省广播电视信息网络股份有限公司 | 一种用于ott直播在复杂网络环境流畅播放的方法 |
CN109819266A (zh) * | 2017-11-20 | 2019-05-28 | 中兴通讯股份有限公司 | 一种cdn中心组网方法及系统 |
CN110536179A (zh) * | 2019-06-28 | 2019-12-03 | 三星电子(中国)研发中心 | 一种内容分发系统和方法 |
CN111343511A (zh) * | 2020-03-23 | 2020-06-26 | 烽火通信科技股份有限公司 | 一种通过组播实现的hls直播系统及方法 |
CN112714335A (zh) * | 2019-10-24 | 2021-04-27 | 中兴通讯股份有限公司 | 直播媒体流录制方法、系统及计算机可读存储介质 |
US11445000B2 (en) | 2018-11-30 | 2022-09-13 | British Telecommunications Public Limited Company | Multicast to unicast conversion |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003224839A (ja) * | 2002-01-30 | 2003-08-08 | Sony Corp | ストリーミングシステム及びストリーミング方法、ストリーミングサーバ及びデータ配信方法、クライアント端末及びデータ復号方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体 |
CN101969431A (zh) * | 2010-09-28 | 2011-02-09 | 广东威创视讯科技股份有限公司 | 一种实现流媒体播放单播、多播无缝切换的方法 |
CN102195955A (zh) * | 2010-03-18 | 2011-09-21 | 华为技术有限公司 | 一种直播业务和时移业务的切换方法以及相应设备 |
CN104333818A (zh) * | 2014-10-17 | 2015-02-04 | 中兴通讯股份有限公司 | 一种http实时流媒体分片的拼接方法及拼接系统 |
-
2015
- 2015-12-29 CN CN201511008997.6A patent/CN105578308B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003224839A (ja) * | 2002-01-30 | 2003-08-08 | Sony Corp | ストリーミングシステム及びストリーミング方法、ストリーミングサーバ及びデータ配信方法、クライアント端末及びデータ復号方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体 |
CN102195955A (zh) * | 2010-03-18 | 2011-09-21 | 华为技术有限公司 | 一种直播业务和时移业务的切换方法以及相应设备 |
CN101969431A (zh) * | 2010-09-28 | 2011-02-09 | 广东威创视讯科技股份有限公司 | 一种实现流媒体播放单播、多播无缝切换的方法 |
CN104333818A (zh) * | 2014-10-17 | 2015-02-04 | 中兴通讯股份有限公司 | 一种http实时流媒体分片的拼接方法及拼接系统 |
Non-Patent Citations (1)
Title |
---|
徐良基等: "《流媒体直播(时移)系统的设计》", 《中国图象图形学报》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666613A (zh) * | 2016-07-27 | 2018-02-06 | 中国电信股份有限公司 | 用于多点录制的时间同步方法、服务器以及系统 |
CN106331763B (zh) * | 2016-09-12 | 2020-01-14 | 北京小度互娱科技有限公司 | 无缝播放分片媒体文件的方法及实现该方法的装置 |
CN106331763A (zh) * | 2016-09-12 | 2017-01-11 | 北京小度互娱科技有限公司 | 无缝播放分片媒体文件的方法及实现该方法的装置 |
CN107426629A (zh) * | 2017-06-19 | 2017-12-01 | 网宿科技股份有限公司 | 一种流媒体文件处理方法及直播系统 |
CN109819266A (zh) * | 2017-11-20 | 2019-05-28 | 中兴通讯股份有限公司 | 一种cdn中心组网方法及系统 |
US11445000B2 (en) | 2018-11-30 | 2022-09-13 | British Telecommunications Public Limited Company | Multicast to unicast conversion |
CN109511018A (zh) * | 2018-12-27 | 2019-03-22 | 贵州省广播电视信息网络股份有限公司 | 一种用于ott直播在复杂网络环境流畅播放的方法 |
CN110536179B (zh) * | 2019-06-28 | 2021-11-26 | 三星电子(中国)研发中心 | 一种内容分发系统和方法 |
CN110536179A (zh) * | 2019-06-28 | 2019-12-03 | 三星电子(中国)研发中心 | 一种内容分发系统和方法 |
CN112714335A (zh) * | 2019-10-24 | 2021-04-27 | 中兴通讯股份有限公司 | 直播媒体流录制方法、系统及计算机可读存储介质 |
WO2021078279A1 (zh) * | 2019-10-24 | 2021-04-29 | 中兴通讯股份有限公司 | 直播媒体流录制方法、系统及计算机可读存储介质 |
CN111343511A (zh) * | 2020-03-23 | 2020-06-26 | 烽火通信科技股份有限公司 | 一种通过组播实现的hls直播系统及方法 |
CN111343511B (zh) * | 2020-03-23 | 2022-04-08 | 武汉市烽视威科技有限公司 | 一种通过组播实现的hls直播系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105578308B (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105578308A (zh) | 一种rtp组播直播与hls单播时移相结合的实现方法 | |
US11800200B2 (en) | Low latency media ingestion system, devices and methods | |
US10397295B2 (en) | Processing continuous multi-period content | |
CN101854533B (zh) | 频道切换方法、装置及系统 | |
TWI686077B (zh) | 低延遲視訊串流 | |
US11375258B2 (en) | Transitioning between broadcast and unicast streams | |
US20130294747A1 (en) | Content playing device, content playing method, distribution system, content playing program, recording medium, and data structure | |
US11109092B2 (en) | Synchronizing processing between streams | |
KR20170089863A (ko) | 멀티미디어 및 파일 전송을 위한 전송 인터페이스 | |
KR20080072019A (ko) | 미디어 스트림의 타임쉬프트 프리젠테이션 | |
US20110293021A1 (en) | Prevent audio loss in the spliced content generated by the packet level video splicer | |
EP2472799B1 (en) | Method, apparatus and system for rapid acquisition of multicast realtime transport protocol sessions | |
US10440427B2 (en) | Content supply device, content supply method, program, terminal device, and content supply system | |
US20160014439A1 (en) | Indexing of Video Assets | |
WO2018103696A1 (zh) | 媒体文件的播放方法、服务端、客户端及系统 | |
US9049481B2 (en) | Fine-tuning the time for leaving/joining a multicast session during channel changes | |
EP2312826A2 (en) | Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system | |
JP2012231445A (ja) | パケット配信装置およびパケット配信方法 | |
KR20160110374A (ko) | 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법 | |
WO2012094992A1 (zh) | 一种实现数据获取的方法和系统 | |
WO2013039042A1 (ja) | 再生装置、再生方法、配信装置、配信システム、再生プログラムおよび記録媒体 | |
WO2016101626A1 (zh) | 一种频道码流处理方法、装置、终端及系统 | |
US11856242B1 (en) | Synchronization of content during live video stream | |
JP5159973B1 (ja) | 伝送パケットの配信方法 | |
KR101026682B1 (ko) | 포트변환 데이터 스트리밍 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |