CN105578308B - 一种rtp组播直播与hls单播时移相结合的实现方法 - Google Patents
一种rtp组播直播与hls单播时移相结合的实现方法 Download PDFInfo
- Publication number
- CN105578308B CN105578308B CN201511008997.6A CN201511008997A CN105578308B CN 105578308 B CN105578308 B CN 105578308B CN 201511008997 A CN201511008997 A CN 201511008997A CN 105578308 B CN105578308 B CN 105578308B
- Authority
- CN
- China
- Prior art keywords
- rtp
- time
- multicasts
- hls
- contents
- 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.)
- Active
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(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报头中的媒体分片时间与媒体分片序列号信息,找到时移的时间,并向服务器请求时移内容,具体的是服务器对应时间点的时移请求,请求时移内容。
S5.服务器收到请求后,给出对应的时移内容,具体的,根据媒体分片时间准确给出时移时间点的时移内容,提供时移服务。并且,服务器需要保存足够的时移内容(大于时移时长时间所存储的媒体内容)供终端完成时移,服务器需要保存媒体分片时间的信息,以备时移请求时,正确根据请求的时移点时间与媒体分片内容时间给出时移点内容。
S6.终端从时移切回直播时,先要立即停止时移内容的请求,清空时移内容,退出组播,并计算时移时间转到服务器请求HLS时移内容,时移时间可以通过RTP报头的扩展信息中的媒体分片时间来计算。然后按照步骤S3,重新加入RTP组播进行直播内容播放。在时移状态下切换时需要重新计算时移时间,并且当终端暂停/跳转≤3秒时,建议继续播放RTP组播。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (5)
1.一种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.如权利要求1所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤2中,将RTP负载内容录制成HLS协议媒体格式,具体为,将RTP负载内容录制成切片HLS格式的媒体分片,相同的媒体分片时间和媒体分片序列号信息的RTP数据包录制在同一分片。
3.如权利要求1所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤S4中,终端从直播切换到时移时,根据RTP组播的RTP报头中的媒体分片时间与媒体分片序列号信息,找到时移的时间,向服务器对应时间点的时移请求,请求时移内容。
4.如权利要求3所述的RTP组播直播与HLS单播时移相结合的实现方法,其特征在于:步骤S5中,服务器收到请求后,根据媒体分片时间准确给出时移时间点的时移内容。
5.如权利要求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 CN105578308A (zh) | 2016-05-11 |
CN105578308B true 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) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666613A (zh) * | 2016-07-27 | 2018-02-06 | 中国电信股份有限公司 | 用于多点录制的时间同步方法、服务器以及系统 |
CN106331763B (zh) * | 2016-09-12 | 2020-01-14 | 北京小度互娱科技有限公司 | 无缝播放分片媒体文件的方法及实现该方法的装置 |
CN107426629B (zh) * | 2017-06-19 | 2020-06-23 | 网宿科技股份有限公司 | 一种流媒体文件处理方法及直播系统 |
CN109819266A (zh) * | 2017-11-20 | 2019-05-28 | 中兴通讯股份有限公司 | 一种cdn中心组网方法及系统 |
WO2020109496A1 (en) | 2018-11-30 | 2020-06-04 | British Telecommunications Public Limited Company | Multicast to unicast conversion |
CN109511018A (zh) * | 2018-12-27 | 2019-03-22 | 贵州省广播电视信息网络股份有限公司 | 一种用于ott直播在复杂网络环境流畅播放的方法 |
CN110177310A (zh) * | 2019-06-28 | 2019-08-27 | 三星电子(中国)研发中心 | 一种内容分发系统和方法 |
CN112714335A (zh) * | 2019-10-24 | 2021-04-27 | 中兴通讯股份有限公司 | 直播媒体流录制方法、系统及计算机可读存储介质 |
CN111343511B (zh) * | 2020-03-23 | 2022-04-08 | 武汉市烽视威科技有限公司 | 一种通过组播实现的hls直播系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3925218B2 (ja) * | 2002-01-30 | 2007-06-06 | ソニー株式会社 | ストリーミングシステム及びストリーミング方法、ストリーミングサーバ及びデータ配信方法、クライアント端末及びデータ復号方法、並びにプログラム及び記録媒体 |
CN102195955B (zh) * | 2010-03-18 | 2015-03-18 | 华为技术有限公司 | 一种直播业务和时移业务的切换方法以及相应设备 |
CN101969431B (zh) * | 2010-09-28 | 2013-06-12 | 广东威创视讯科技股份有限公司 | 一种实现流媒体播放单播、多播无缝切换的方法 |
CN104333818A (zh) * | 2014-10-17 | 2015-02-04 | 中兴通讯股份有限公司 | 一种http实时流媒体分片的拼接方法及拼接系统 |
-
2015
- 2015-12-29 CN CN201511008997.6A patent/CN105578308B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105578308A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105578308B (zh) | 一种rtp组播直播与hls单播时移相结合的实现方法 | |
JP5086285B2 (ja) | 映像配信システム,映像配信装置,及び同期補正処理装置 | |
CN103200461B (zh) | 一种多台播放终端同步播放系统及播放方法 | |
US20130294747A1 (en) | Content playing device, content playing method, distribution system, content playing program, recording medium, and data structure | |
US20100254462A1 (en) | Method for reducing memory usage with accelerated channel changes | |
EP3258697B1 (en) | Transmission apparatus, transmission method, reception apparatus, and reception method | |
CN107852534B (zh) | 在广播流和单播流之间转换 | |
KR20170089863A (ko) | 멀티미디어 및 파일 전송을 위한 전송 인터페이스 | |
JP2013545355A (ja) | マルチメディアフローを同期させるための方法および対応する装置 | |
JP2015136060A (ja) | 通信装置、通信データ生成方法、および通信データ処理方法 | |
CN105308974A (zh) | 传输装置、传输方法、再现装置、再现方法以及接收装置 | |
US10440427B2 (en) | Content supply device, content supply method, program, terminal device, and content supply system | |
US20190075334A1 (en) | Communication apparatus, communication data generation method, and communication data processing method | |
CN107666613A (zh) | 用于多点录制的时间同步方法、服务器以及系统 | |
CN103329558A (zh) | 单播多播iptv网络中实现快速信道更改的方法和服务器 | |
US9647951B2 (en) | Media stream rate reconstruction system and method | |
EP3096525B1 (en) | Communication apparatus, communication data generation method, and communication data processing method | |
US20220131921A1 (en) | Multicast to unicast conversion | |
US11445000B2 (en) | Multicast to unicast conversion | |
EP2524502A1 (en) | Method and apparatus for processing transport streams | |
WO2013039042A1 (ja) | 再生装置、再生方法、配信装置、配信システム、再生プログラムおよび記録媒体 | |
JP2009077108A (ja) | 受信装置、受信方法およびコンピュータプログラム | |
KR20160042426A (ko) | 멀티미디어 플레이어에 의한, mbms 서비스에 의해서 전송된 멀티미디어 콘텐츠 아이템의 프로세싱 동안의 동기화 방법 | |
JP5159973B1 (ja) | 伝送パケットの配信方法 | |
WO2015012140A1 (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム |
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 |