CN102291374A - 一种拼接流传输的方法、装置及系统 - Google Patents
一种拼接流传输的方法、装置及系统 Download PDFInfo
- Publication number
- CN102291374A CN102291374A CN2010102081043A CN201010208104A CN102291374A CN 102291374 A CN102291374 A CN 102291374A CN 2010102081043 A CN2010102081043 A CN 2010102081043A CN 201010208104 A CN201010208104 A CN 201010208104A CN 102291374 A CN102291374 A CN 102291374A
- Authority
- CN
- China
- Prior art keywords
- splicing
- stream
- saltus step
- indication information
- rtp
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种拼接流传输的方法、装置及系统,其中,所述方法包括:接收拼接流,将所述拼接流的实时传送协议RTP报文并按序拼接插入原始流中,维持所述拼接流的后续原始流中各RTP报文序列号SN不变,生成完成流拼接之后的流;如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;将所述SN跳变指示信息和所述完成流拼接之后的流下发。通过本发明实施例,能够避免出现拼接流同原始流拼接后由于SN号跳变,使得拼接流之后的流传输出现错误的情形。
Description
技术领域
本发明涉及移动通信技术领域,更具体地说,涉及一种拼接流传输的方法、装置及系统。
背景技术
随着网络的发展,在视频服务提供领域,有线网络运营商需要部署全新的、个性化的服务以满足客户的需求,例如:通过广告插入技术实现区域定位广告插播和精确定位广告。
图1所示为现有技术中,在有线电视网或IPTV(Internet ProtocolTelevision,IP电视)网络的一个广告插入系统示意图,该系统主要包含如下装置:头端(head end)、广告服务器(AD server)、拼接器(Splicer)以及机顶盒(STB,Set Top Box)。在图1所示的广告插入系统中,机顶盒1和2分别代表不同广告需求的用户,广告服务器选择对应的定向广告1、2发送给拼接器,拼接器分别在节目流中实现广告插入后分别发给机顶盒1和2,其所属用户在同样的节目中观看的是自己感兴趣的广告。
现有技术中,头端的节目流在通过RTP(Real-time Transport Protocol,实时传送协议)传输时通常会被分割成一个个RTP报文,所有RTP报文按序传输,每个报文的数据区承载节目流的部分内容,报文头的SN(Sequence Number,序列号)依次递增。
对于广告时段来说,其内容大小决定了该部分的RTP报文数量,也决定了该部分RTP报文的SN号区间。当插入广告时,被拼接广告的RTP报文的SN号需要满足同原节目流中的插入点对应RTP报文的SN号的连续性。由于不同广告内容和视频编码算法的差异性,相同时长的广告的大小可能并不相同。因此,对于节目流的广告时段来说,插入的广告的RTP报文数量可能等于、大于或小于原有广告时段的RTP报文数量。在这种情况下,当完成视频广告拼接返回节目流时,拼接器不能保证插入的广告内容占用的RTP包数量和被替换的节目广告时段所占用的RTP包数量完全相等,当两者数量不同时,容易导致插入广告的RTP包的最后SN号与返回节目流后的后续原始流RTP报文的SN不连续,即产生SN号跳变。
为了避免现有技术中的上述缺陷,当发生SN号跳变时,通常由拼接器在完成插入广告的拼接返回节目流时,根据插入广告的最后一个RTP报文的SN号对后续原始流的RTP报文中携带的SN号依次进行修改。
可见,现有的拼接视频传输方式增加了对后续原始流中的每个RTP报文的处理开销。
发明内容
有鉴于此,本发明实施例提供一种拼接流传输的方法、装置及系统,能够避免出现拼接流同原始流拼接后由于SN号跳变,使得拼接流之后的流传输出现错误的情形。
本发明实施例提供一种拼接流的传输方法,所述方法包括:
接收拼接流,将所述拼接流的实时传送协议RTP报文并按序拼接插入原始流中,维持所述拼接流的后续原始流中各RTP报文序列号SN不变,生成完成流拼接之后的流;
如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
将所述SN跳变指示信息和所述完成流拼接之后的流下发。
相应地,本发明实施例提供一种拼接流发送装置,所述装置包括:
流拼接模块,用于接收拼接流,将所述拼接流的RTP报文并按序拼接插入原始流中,维持所述拼接流后续原始流中各RTP报文序列号SN不变,生成完成流拼接之后的流;
指示信息设置模块,用于如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
下发模块,用于下发所述SN跳变指示信息和所述完成流拼接之后的流。
本发明实施例还提供一种拼接流接收装置,所述装置包括:
拼接流接收模块,用于接收完成流拼接之后的流,其中,拼接流分割为RTP报文并按序拼接插入原始流中,原始流在插入所述拼接流之后,维持所述拼接流后续原始流中各RTP报文SN不变,生成完成流拼接之后的流;
SN跳变信息接收模块,用于接收SN跳变指示信息,所述SN跳变指示信息用于指示所述完成流拼接之后的流中发生RTP报文SN跳变,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
拼接流处理模块,用于根据所述SN跳变指示信息,保证所述发生SN跳变的RTP报文在所述完成流拼接之后的流中的顺序不变。
本发明实施例还提供一种拼接流传输系统,所述系统包括:拼接流发送装置和拼接流接收装置;其中,
所述拼接流发送装置用于接收拼接流,将所述拼接流的RTP报文并按序拼接插入原始流中,维持所述拼接流后续原始流中各RTP报文序列号SN不变,生成完成流拼接之后的流;且如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
所述拼接流接收装置用于接收所述完成流拼接之后的流和SN跳变指示信息,根据所述SN跳变指示信息,保证所述发生SN跳变的RTP报文在所述完成流拼接之后的流中的顺序不变。
同现有技术相比,本发明实施例提供的技术方案具有以下优点:
本发明实施例中,流传输系统中的拼接器根据拼接完成后的拼接流最后一个RTP报文SN号与后续原始流的RTP报文SN是否为连续递增来判断是否发生SN跳变,并决定是否发送SN跳变指示信息。从而,流传输系统中的拼接流接收装置可以根据该指示信息迅速判断拼接流同后续原始流的衔接点处发生SN跳变,而不会产生认为是对应流发生丢失或重复传输,即不会产生误判;
此外,当发生SN跳变时,拼接流发送装置不需要对拼接流的后续原始流各RTP报文包含的SN进行修改处理,大大减轻了拼接流发送装置的处理开销。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种广告插入系统示意图;
图2为现有技术中节目流中SN号发生跳变的一种情形示意图;
图3为现有技术中节目流中SN号发生跳变的另一种情形示意图;
图4为本发明实施例一种拼接视频的传输方法的步骤流程示意图;
图5为本发明实施例产生RTP报文SN重复时,对RTP报文头的一个字节标识进行扩展的示意图;
图6为本发明实施例产生RTP报文SN重复时,对发生SN重复的每个RTP报文进行报文头的一个字节标识进行扩展的示意图;
图7为本发明实施例产生RTP报文SN不连续时,对RTP报文头的一个字节标识进行扩展的示意图;
图8为本发明实施例产生RTP报文SN重复时,对RTP报文头的两个字节标识进行扩展的示意图;
图9为本发明实施例产生RTP报文SN重复时,对发生SN重复的每个RTP报文进行报文头的两个字节标识进行扩展的示意图;
图10为本发明实施例产生RTP报文SN不连续时,对RTP报文头的两个字节标识进行扩展的示意图;
图11为FEEDBACK类型的RTCP报文的报文头格式示意图;
图12为本发明实施例产生RTP报文SN重复时,对RTCP报文扩展选项进行扩展的示意图;
图13为本发明实施例产生RTP报文SN不连续时,对RTCP报文扩展选项进行扩展的示意图;
图14为本发明实施例一种拼接视频发送装置的结构示意图;
图15为本发明实施例一种拼接视频接收装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,仍以在节目流中插入广告流为例,说明插入广告流之后节目流中SN号发生跳变的两种情形,分别如图2和图3所示。其中,图2所示的是广告流较节目流中原有广告时段(AD Avail)的RTP报文数量较小的情形,插入广告的最后一个RTP报文SN号为55,而后续原始流的RTP报文SN号为61;图3所示的是广告流较节目流中原有广告时段的RTP报文数量较多的情形,插入广告的最后一个RTP报文SN号为70,而后续原始流的RTP报文SN号为61。在图2所示情况下,STB在接收过程中会认为SN56-SN60的RTP报文在传输中丢失,从而向拼接器发送重传请求,请求并不存在的上述报文;在图3所示情况下,STB在接收过程中会认为完成广告插入返回后的后续RTP报文SN61-SN70被重复传输,因而丢弃本应被接收的上述SN61-SN70对应的报文。
可见,节目流同广告流拼接之后,由于产生SN号跳变,使得位于广告流拼接位置之后的节目流传输出现错误。为了避免这一缺陷,本发明实施例提供了一种拼接流的传输方法。
首先,对本发明实施例中提供的一种拼接流的传输方法进行如下介绍,参照图4,为该方法的步骤流程示意图,所述方法可以包括以下步骤:
步骤401、接收拼接流,将所述拼接流的RTP报文按序拼接插入原始流中,维持所述拼接流的后续原始流中各RTP报文序列号SN不变,生成完成流拼接之后的流;
本发明实施例中,拼接流和原始流可以由拼接流发送装置进行接收;拼接流为需要插入在原始流中特定拼接位置的数据流,结合上述在节目流中插入广告流的示例,这里所说的原始流即可以理解为节目流,拼接流即可以理解为广告流。
原始流按照RTP被分割为RTP报文按序传输,因此,拼接流也需要被分割为RTP报文,插入原始流中特定的拼接位置,拼接流RTP报文的SN号需要满足同原始流中的插入点对应RTP报文的SN的连续性,然而,并不能保证拼接流末端的RTP报文与衔接处的后续原始流的第一个RTP报文的SN的连续性,即可能产生SN跳变。当发生SN跳变时,本发明实施例不需要对原始流后续的RTP报文中携带的SN依次进行修改,只需维持后续原始流中各RTP的SN不变即可。以图2和图3为例,当采用该处理步骤时,不需要将图2所示后续原始流中的RTP报文的SN号,即原SN号为61~100的RTP报文的SN号修改为71~110,同样,也不需要将图3所示后续原始流中原SN号为61~100的RTP报文的SN号修改为56~95。
步骤402、如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
该处理步骤中,利用SN跳变指示信息表示发生跳变的SN区间以及SN跳变类型。
仍以图2和图3为例,图2中发生跳变的SN区间为SN56-SN60,SN跳变类型为RTP报文SN丢失;图3中发生跳变的SN区间为SN61-SN70,SN跳变类型为RTP报文SN重复传输。
步骤403、将所述SN跳变指示信息和所述完成流拼接之后的流进行下发。
本发明实施例中,拼接流发送装置可以由拼接器实现,流传输系统中的拼接流发送装置根据拼接完成后的拼接流最后一个RTP报文SN号与后续原始流第一个RTP报文SN是否为连续递增来判断是否发生SN跳变,并决定是否发送SN跳变指示信息。
仍以图2为例,当广告流中SN55的RTP报文的SN与后续原始流中SN61的RTP报文的SN不连续时,即可确定发生SN跳变,从而生成SN跳变指示信息,该SN跳变指示信息包括:发生跳变的SN区间为SN56-SN60以及SN跳变类型为RTP报文丢失。
从而,流传输系统中的拼接流接收装置可以根据该指示信息迅速判断拼接流同后续原始流的衔接点处发生SN跳变,而不会认为是对应流发生RTP报文丢失或重复传输,即不会产生误判;
此外,当发生SN跳变时,拼接流发送装置不需要对拼接流的后续原始流各RTP报文包含的SN进行修改处理,大大减轻了拼接流发送装置的处理开销。
需要说明的是,本发明实施例中所述的流可以为视频流、音频流等信息流。
以视频流为例,由于视频的特性,基于RTP协议的流媒体方式已经成为有线电视及IPTV业务节目较为普遍的传输方式。RTP协议是为多媒体数据的实时传输而设计的传输协议。它位于UDP(User Datagram Protocol,用户数据包协议)或TCP(Transmission Control Protocol,传输控制协议)之上。例如利用低层的UDP协议对实时音视频数据进行组播或单播,从而实现多点或单点的音视频数据的传输。但是它并不依赖于UDP协议,也可以由其他传输层协议承载,如TCP。
根据RTP协议,流在传输过程中,通常被分割为RTP报文。RTP报文由报文头和数据区组成,每个报文的数据区承载实际传输的数据内容,报文头包含SN、TS(Time Stamp,时间戳)、SSRC(Synchronization Source,同步源)/CSRC(Contributing Source,作用源)等参数信息,其中SN为16比特数值,用于实现RTP包的有序传送。在RTP报文按序传输过程中,各RTP报文的SN依次递增,接收端可以根据接收到的RTP报文中所携带的SN检测是否发生SN跳变。
对于视频流来说,由于视频编码算法及拼接内容同原视频流的差异性,拼接视频流和原视频流中需要进行拼接的时段分割获得的RTP报文数量可能并不相同。这种情形下,不可能保证拼接视频流同后续原视频流包含的RTP报文的SN的连续性。当拼接视频流和原视频流中需要进行拼接的时段分割获得的RTP报文数量不相同时,容易在拼接视频流同后续原视频流的衔接点处出现SN跳变的情形,使得拼接器产生对应视频丢失或重复传输的误判。
为了避免上述缺陷,本发明实施例中,对完成流拼接之后的流进行检测,如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,从而,流传输系统中的拼接流接收装置可以根据该指示信息迅速判断拼接流同后续原始流的衔接点处是否发生SN跳变。当发生SN跳变时,由于接收到SN跳变指示信息,拼接流接收装置不会认为是对应流发生RTP报文丢失或重复传输,即不会产生误判。
此外,现有技术中,拼接器需要对拼接流之后的原始流部分的RTP报文进行解析以获得相应的SN信息,当发生上述SN跳变时,还需要对后续的原始流部分的SN进行修改,以保证整个视频流中各RTP报文所携带的SN的连续性,可见,现有技术中的拼接器处理开销很大。应用本发明实施例技术方案,拼接流发送装置不需要对拼接流的后续原始流各RTP报文包含的SN进行修改处理,大大减轻了拼接流发送装置的处理开销。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。
在本发明实施例中,判断RTP报文SN是否发生跳变的方式为:判断所述拼接流最后一个RTP报文SN与后续原始流第一个RTP报文SN是否连续递增,如果是,则表示完成流拼接之后的流未发生SN跳变;如果否,则表示完成流拼接之后的流发生SN跳变,这时需要生成SN跳变指示信息。
在本发明实施例中,生成SN跳变指示信息可以有以下两种具体的实现方式:
一种方式为,扩展所述拼接流后续原始流的第一个RTP报文,由所述拼接流后续原始流的第一个RTP报文携带所述SN跳变指示信息;当然,也可以同时扩展所述拼接流后续原始流的多个RTP报文,由多个RTP报文同时携带所述SN跳变指示信息。对此,本领域技术人员可以根据实际应用场景进行设置,本发明实施例对此不做具体限定。需要说明的是,这种方式中,生成的SN跳变指示信息携带于完成流拼接之后的流中。
另一种方式为,扩展RTCP(RTP Control Protocol,RTP控制协议)报文,由所述RTCP报文携带所述SN跳变指示信息。这种方式中,生成的SN跳变指示信息独立于完成流拼接之后的流,与完成流拼接之后的流并行进行传输。
下面对上述生成SN跳变指示信息的各种方式进行详细说明。
根据RTP协议,RTP报文的报文头包含扩展字段,本发明实施例中,可以通过扩展RTP报文头中的扩展字段,使得RTP报文头中携带所述SN跳变指示信息,具体可以通过扩展RTP报文头中扩展字段的一个字节标识或两个字节标识实现。
图5、图6示出的是对RTP报文头的一个字节标识进行扩展的情形。需要说明的是,图5、图6中“ID”和“L”字段共占用一个字节,为扩展字段;扩展字段之后为扩展内容部分。
如图5所示,为产生RTP报文SN重复传输(如图3所示)时,对于RTP报文头的扩展情形。在该扩展之后的RTP报文头中,利用“ID”标识SN跳变类型为RTP报文SN重复传输;利用“Original SN”标识从哪个SN开始,RTP报文发生重复;利用“Overlap Packets”标识SN重复的RTP报文的个数,可见,通过“Original SN”和“Overlap Packets”可以标识出发生重复传输的SN区间。需要说明的是,图5所示的RTP报文头的扩展方式适用于仅对拼接流后续原始流第一个RTP报文进行报文头扩展。
当然,可以对拼接流后续原始流中发生SN重复的每个RTP报文进行报文头扩展,扩展后的RTP报文头如图6所示。其中,利用“ID”标识SN跳变类型为RTP报文SN重复传输;利用“Overlap SN”标识发生SN重复的每个RTP报文对应的SN。图6所示的RTP报文头扩展方式同样是对RTP报文头的一个字节进行扩展。
如图7所示,为产生RTP报文SN丢失(如图2所示)时,对于RTP报文头的扩展情形。在该扩展之后的RTP报文头中,利用“ID”标识SN跳变类型为SN丢失;利用“Original SN”标识从哪个RTP报文开始,后续RTP报文的SN发生丢失;利用“Gap Packets”标识发生SN丢失的RTP报文的个数,从而,通过“Original SN”和“Gap Packets”可以标识出发生丢失的SN区间。需要说明的是,当产生RTP报文SN丢失的情形时,采用图7所示的RTP报文头的扩展方式,可以只对拼接流后续原始流第一个RTP报文进行报文头扩展即可。
图8~10分别示出的是对RTP报文头的两个字节标识进行扩展的情形。
如图8所示,为产生RTP报文SN重复传输时,对于RTP报文头的扩展情形。同样,在扩展之后的RTP报文头中,利用“ID”标识SN跳变类型为RTP报文SN重复传输;利用“Original SN”标识从哪个SN开始,RTP报文发生重复;利用“Overlap Packets”标识SN重复的RTP报文的个数。图8所示的RTP报文头的扩展方式适用于仅对拼接流后续原始流第一个RTP报文进行报文头扩展。
当对拼接流后续原始流中SN发生重复的每个RTP报文进行报文头扩展时,扩展后的RTP报文头如图9所示。其中,利用“ID”标识SN跳变类型为RTP报文SN重复传输;利用“Overlap SN”标识SN发生重复的每个RTP报文对应的SN。
如图10所示,为产生RTP报文SN丢失时,对于RTP报文头的扩展情形。同样,利用“ID”标识SN跳变类型为SN丢失;利用“Original SN”标识从哪个RTP报文开始,后续RTP报文的SN发生丢失;利用“Gap Packets”标识发生SN丢失的RTP报文的个数。当产生RTP报文SN不连续的情形时,采用图10所示的RTP报文头的扩展方式,只需要对拼接流后续原始流第一个RTP报文进行报文头扩展即可。
在具体实施时,确定对RTP报文头的一个字节标识或是两个字节标识进行扩展由设备商间协商后确定,对此,本发明实施例并不做具体限定。
此外,实时应用传输协议由以下两个相关的协议组成:RTP和RTCP。其中,RTP负责传输数据;RTCP负责监视传输的服务质量,并提供有关会话的信息。
RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,因此,RTP依靠RTCP提供上述控制服务。
在RTP会话期间,各参与者周期性地传送RTCP数据包。RTP不涉及资源预订和质量保证等实时服务,而RTCP能够作为补充对大型的多点传送(多播)网络的数据传输进行监测,并且提供最小限度的控制和鉴别功能。
RTCP根据携带的控制信息,可以分为不同类型,例如:SR(Sender Report,发送者报告)、RR(Receiver Report,接收者报告)、SDES(Source DescriptionItems,源描述项)、BYE(表明参与者将结束会话)、APP(Application-specificFunctions,应用描述功能)、FEEDBACK(回馈)等类型。其中,SR用于当前活动发送者发送、接收的数据统计;RR用于非活动发送者接收统计;SDES用于描述所标识数据源,描述项可包含:CNAME(规范终端标识)、NAME(用户名称)、E-mail、phone、LOC(地理位置)等;BYE表示结束;APP表示应用特定函数。APP通常可以用于新应用的功能描述。因此,在本发明提供的第二种实现方式中,可以扩展RTCP报文,例如:可以利用APP类型的RTCP报文,使得所述RTCP报文中携带所述SN跳变指示信息,也可以扩展FEEDBACK类型的RTCP报文,在该类型的RTCP报文中插入表示SN发生跳变的指示信息。
下面以FEEDBACK类型的RTCP报文为例,说明对RTCP报文的扩展方式。如图11所示,为FEEDBACK类型的RTCP报文的报文头格式,其中,“FMT”标识RTP报文的SN发生了跳变;“Feedback Control Information(FCI)”为扩展选项内容,当对RTCP报文进行扩展时,即扩展的这部分内容。
图12、13分别示出了当产生RTP报文SN重复传输、或者产生RTP报文SN丢失的情形时,对于RTCP报文FCI扩展选项的扩展方式。
在图12中,利用RTCP报文FCI扩展选项中可扩展的“Type”标识SN跳变类型为RTP报文SN重复传输;利用“Original SN”标识从哪个SN开始,RTP报文发生重复;利用“Overlap Packets”标识SN重复的RTP报文的个数。
在图13中,利用RTCP报文FCI扩展选项中可扩展的“Type”标识SN跳变类型为SN丢失;利用“Original SN”标识从哪个RTP报文开始,后续RTP报文的SN发生丢失;利用“Gap Packets”标识发生SN丢失的RTP报文的个数。
可见,根据上述SN跳变指示信息,流传输系统中的拼接器可以迅速判断拼接流同后续原始流的衔接点是否发生SN跳变,当发生SN跳变时,不会产生认为是对应视频丢失或重复传输的误判。
另外,当发生SN跳变时,不需要对拼接流的后续原始流各RTP报文包含的SN进行修改处理。因此,能够大大减轻现有技术中拼接器的处理开销。
相应上述拼接流的传输方法,本发明实施例还提供了一种拼接流发送装置,如图14所示,所述装置包括:
流拼接模块1401,用于接收拼接流,将所述拼接流的RTP报文按序拼接插入原始流中,维持所述拼接流后续原始流中各RTP报文序列号SN不变,生成完成流拼接之后的流;
指示信息设置模块1402,用于如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
下发模块1403,用于下发所述SN跳变指示信息和所述完成流拼接之后的流。
根据RTP协议,视频流在传输过程中,通常被分割为RTP报文。由于视频编码算法及拼接内容同原始流的差异性,拼接流和原始流中需要进行拼接的时段分割获得的RTP报文数量可能并不相同。这种情形下,不可能保证拼接流同后续原始流包含的RTP报文的SN的连续性。当拼接流和原始流中需要进行拼接的时段分割获得的RTP报文数量不相同时,容易在拼接流同后续原始流的衔接点处出现SN跳变的情形,使得拼接器产生对应视频丢失或重复传输的误判。
本发明实施例中,在完成流拼接之后的流中,当RTP报文SN发生跳变时,通过指示信息设置模块生成SN跳变指示信息,利用该指示信息表示拼接流最后一个RTP报文包含的序列号SN与后续原始流第一个RTP报文SN不是连续递增,发生SN跳变,从而,流传输系统中的拼接流接收装置可以根据该指示信息迅速判断拼接流同后续原始流的衔接点处发生SN跳变,而不会认为是对应流发生RTP报文丢失或重复传输,即不会产生误判。
需要说明的是,本发明实施例中,当发生SN跳变时,拼接流发送装置不需要对拼接流的后续原始流中各RTP报文包含的SN进行修改处理,因此,大大减轻了拼接流发送装置的处理开销。
本发明实施例中,指示信息设置模块可以采用以下两种实现方式生成SN跳变指示信息:
其中,一种方式为,扩展所述拼接流后续原始流的第一个RTP报文,由所述拼接流后续原始流的第一个RTP报文携带所述SN跳变指示信息;当然,也可以同时扩展所述拼接流后续原始流的多个RTP报文,由多个RTP报文同时携带所述SN跳变指示信息。对此,本领域技术人员可以根据实际应用场景进行设置,本发明实施例对此不做具体限定。需要说明的是,这种方式中,生成的SN跳变指示信息携带于完成流拼接之后的流中。
另一种方式为,扩展RTP控制协议RTCP报文,由所述RTCP报文携带所述SN跳变指示信息。这种方式中,生成的SN跳变指示信息独立于完成流拼接之后的流,与完成流拼接之后的流并行进行传输。
由于RTCP根据携带的控制信息,可以分为不同类型,例如:SR、RR、SDES、BYE、APP、FEEDBACK等。本发明实施例中,可以扩展APP类型的RTCP报文,在APP类型的RTCP报文中插入表示SN发生跳变的指示信息;也可以扩展FEEDBACK类型的RTCP报文,在该类型的RTCP报文中插入表示SN发生跳变的指示信息。
需要说明的是,本发明实施例中的拼接视频发送装置在实际实施时,可以是拼接器中的功能单元,也可以是拼接器本身,对此,本发明实施例并不做具体限定。
相应上述拼接视频发送装置,本发明实施例公开了一种拼接流接收装置,如图15所示,所述装置包括:
拼接流接收模块1501,用于接收完成流拼接之后的流,所述完成流拼接之后的流为将所述拼接流的实时传送协议RTP报文按序拼接插入原始流中生成的,其中,所述完成流拼接之后的流中的所述拼接流的后续原始流中各RTP报文SN不变;
SN跳变信息接收模块1502,用于接收SN跳变指示信息,所述SN跳变指示信息用于指示所述完成流拼接之后的流中发生RTP报文SN跳变,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
拼接流处理模块1503,用于根据所述SN跳变指示信息,保证所述发生SN跳变的RTP报文在所述完成流拼接之后的流中的顺序不变。
本发明实施例中,当拼接流接收模块接收到的完成流拼接之后的流中发生SN跳变时,由于SN跳变信息接收模块接收到SN跳变指示信息,因此,拼接流接收装置通过触发拼接流处理模块,由该模块根据所述SN跳变指示信息,保证所述发生SN跳变的RTP报文在所述完成流拼接之后的流中的顺序不变,即使得所述拼接流随后的原始流与拼接流的RTP报文按序传输,而不会认为是对应流发生RTP报文丢失或重复传输,即不会向拼接流发送装置发出请求重传SN丢失的RTP报文或将SN重复传输的RTP报文丢弃的误判。
可见,当完成流拼接之后的流中发生SN跳变时,由于SN跳变指示信息的存在,不需拼接流发送装置对拼接流的后续原始流各RTP报文包含的SN进行修改处理,大大减轻了拼接流发送装置的处理开销,同时,提高了拼接流接收装置处理的灵活性。
需要说明的是,本发明实施例中的拼接视频接收装置可以是机顶盒中的具体功能单元,也可以是机顶盒本身,对此,本发明实施例并不做具体限定。
相应地,本发明还提供了一种拼接流传输系统实施例,所述系统包括:拼接流发送装置和拼接流接收装置;其中,
所述拼接流发送装置用于接收拼接流,将所述拼接流的RTP报文并按序拼接插入原始流中,维持所述拼接流后续原始流中各RTP报文序列号SN不变,生成完成流拼接之后的流;且如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
所述拼接流接收装置用于接收所述完成流拼接之后的流和SN跳变指示信息,根据所述SN跳变指示信息,保证所述发生SN跳变的RTP报文在所述完成流拼接之后的流中的顺序不变。
本发明实施例中,在插入拼接流之后的流中,插入用以表示所述拼接流最后一个RTP报文同后续原始流的衔接点处发生SN跳变的指示信息可以有以下两种具体的实现方式:
所述拼接流发送装置可以通过扩展所述拼接流后续原始流的第一个RTP报文或多个RTP报文,由所述拼接流后续原始流的第一个RTP报文或多个RTP报文携带所述SN跳变指示信息。
除了上述实现方式,所述拼接流发送装置还可以通过扩展RTCP报文,由所述RTCP报文携带所述SN跳变指示信息。
在上述拼接流传输系统实施例中,拼接流发送装置通过在插入拼接流之后的流中插入SN跳变指示信息,从而,流传输系统中的拼接流接收装置可以根据该指示信息迅速判断拼接流同后续原始流的衔接点处是否发生SN跳变,当发生SN跳变时,不会认为是对应流发生RTP报文丢失或重复传输,即不会产生误判。
此外,当发生上述SN跳变时,由于SN跳变指示信息的存在,不需拼接流接收装置对拼接流的后续原始流各RTP报文包含的SN进行修改处理,大大减轻了拼接流发送装置的处理开销,同时,提高了拼接流接收装置处理的灵活性。
本领域普通技术人员可以理解,实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例中的装置可以通过软件、硬件或软硬件结合实现,本发明实施例对此并不做具体限制。
对于装置、系统实施例而言,由于其基本相应于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明实施例的精神或范围的情况下,在其它实施例中实现。因此,本发明实施例将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种拼接流的传输方法,其特征在于,所述方法包括:
接收拼接流,将所述拼接流的实时传送协议RTP报文按序拼接插入原始流中,维持所述拼接流的后续原始流中各RTP报文序列号SN不变,生成完成流拼接之后的流;
如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
将所述SN跳变指示信息和所述完成流拼接之后的流下发。
2.根据权利要求1所述的拼接流的传输方法,其特征在于,所述如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,包括:
如果所述拼接流最后一个RTP报文SN与后续原始流第一个RTP报文SN不是连续递增,则表示发生SN跳变,生成SN跳变指示信息。
3.根据权利要求1所述的拼接流的传输方法,其特征在于,所述将所述SN跳变指示信息下发,包括:
扩展所述拼接流后续原始流的第一个RTP报文或多个RTP报文,由所述拼接流后续原始流的第一个RTP报文或多个RTP报文携带所述SN跳变指示信息。
4.根据权利要求1所述的拼接流的传输方法,其特征在于,所述将所述SN跳变指示信息下发,包括:
扩展RTP控制协议RTCP报文,由所述RTCP报文携带所述SN跳变指示信息。
5.一种拼接流发送装置,其特征在于,所述装置包括:
流拼接模块,用于接收拼接流,将所述拼接流的RTP报文并按序拼接插入原始流中,维持所述拼接流后续原始流中各RTP报文序列号SN不变,生成完成流拼接之后的流;
指示信息设置模块,用于如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
下发模块,用于下发所述SN跳变指示信息和所述完成流拼接之后的流。
6.根据权利要求5所述的拼接流发送装置,其特征在于,所述指示信息设置模块通过扩展所述拼接流后续原始流的第一个RTP报文或多个RTP报文,由所述拼接流后续原始流的第一个RTP报文或多个RTP报文携带所述SN跳变指示信息。
7.根据权利要求5所述的拼接流发送装置,其特征在于,所述指示信息设置模块通过扩展RTP控制协议RTCP报文,由所述RTCP报文携带所述SN跳变指示信息。
8.一种拼接流接收装置,其特征在于,所述装置包括:
拼接流接收模块,用于接收完成流拼接之后的流,所述完成流拼接之后的流为将所述拼接流的实时传送协议RTP报文按序拼接插入原始流中生成的,其中,所述完成流拼接之后的流中的所述拼接流的后续原始流中各RTP报文SN不变;
SN跳变信息接收模块,用于接收SN跳变指示信息,所述SN跳变指示信息用于指示所述完成流拼接之后的流中发生RTP报文SN跳变,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
拼接流处理模块,用于根据所述SN跳变指示信息,保证所述发生SN跳变的RTP报文在所述完成流拼接之后的流中的顺序不变。
9.一种拼接流传输系统,其特征在于,所述系统包括:拼接流发送装置和拼接流接收装置;其中,
所述拼接流发送装置用于接收拼接流,将所述拼接流的RTP报文并按序拼接插入原始流中,维持所述拼接流后续原始流中各RTP报文序列号SN不变,生成完成流拼接之后的流;且如果所述完成流拼接之后的流中RTP报文的SN发生跳变,则生成SN跳变指示信息,所述SN跳变指示信息包括:发生跳变的SN区间以及SN跳变类型;
所述拼接流接收装置用于接收所述完成流拼接之后的流和SN跳变指示信息,根据所述SN跳变指示信息,保证所述发生SN跳变的RTP报文在所述完成流拼接之后的流中的顺序不变。
10.根据权利要求9所述的拼接流传输系统,其特征在于,所述拼接流发送装置通过扩展所述拼接流后续原始流的第一个RTP报文或多个RTP报文,由所述拼接流后续原始流的第一个RTP报文或多个RTP报文携带所述SN跳变指示信息。
11.根据权利要求9所述的拼接视频传输系统,其特征在于,所述拼接流发送装置通过扩展RTP控制协议RTCP报文,由所述RTCP报文携带所述SN跳变指示信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102081043A CN102291374A (zh) | 2010-06-21 | 2010-06-21 | 一种拼接流传输的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102081043A CN102291374A (zh) | 2010-06-21 | 2010-06-21 | 一种拼接流传输的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102291374A true CN102291374A (zh) | 2011-12-21 |
Family
ID=45337487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102081043A Pending CN102291374A (zh) | 2010-06-21 | 2010-06-21 | 一种拼接流传输的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102291374A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015180418A1 (zh) * | 2014-05-28 | 2015-12-03 | 华为技术有限公司 | 组播传输方法、装置及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729228A (zh) * | 2008-10-31 | 2010-06-09 | 华为技术有限公司 | 丢包抑制重传的方法、网络节点和系统 |
-
2010
- 2010-06-21 CN CN2010102081043A patent/CN102291374A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729228A (zh) * | 2008-10-31 | 2010-06-09 | 华为技术有限公司 | 丢包抑制重传的方法、网络节点和系统 |
Non-Patent Citations (1)
Title |
---|
HUAWEI: "Splicing for MPEG2-TS Problem Statement in RTP Sessions", 《AVT WORKING GROUP》, 20 April 2010 (2010-04-20) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015180418A1 (zh) * | 2014-05-28 | 2015-12-03 | 华为技术有限公司 | 组播传输方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105594219B (zh) | 用于广播信号的发射/接收处理的设备和方法 | |
EP2409475B1 (en) | Delivering cacheable streaming media presentations | |
CN102546081B (zh) | 丢包检测方法、系统和媒体客户端 | |
CN101485170B (zh) | 通过网络呈现用流传输的可重复的数据对象 | |
CN101138243B (zh) | 数字内容提供系统中的pod标识方法 | |
US20020095460A1 (en) | System and method for serving integrated streams of multimedia information | |
CN101465996B (zh) | 一种网络电视显示时间的方法及设备和系统 | |
CN101494655B (zh) | Rtp分布式流媒体服务系统及方法 | |
CN101998174B (zh) | 组播rtp会话快速接入的方法、服务器、客户端及系统 | |
KR20120114016A (ko) | 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치 | |
WO2014208377A1 (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム | |
CN102131109A (zh) | 用于监控流媒体播放的方法、系统及装置 | |
Marfil et al. | Synchronization mechanisms for multi-user and multi-device hybrid broadcast and broadband distributed scenarios | |
JP6492006B2 (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、および、コンテンツ供給システム | |
CN102457768B (zh) | 广告拼接处理方法和系统以及拼接器和头端设备 | |
CN101595663B (zh) | 通过同步播放列表在交替单独与公共频道节目编排之间进行改良转换的方法和系统 | |
CN105376657A (zh) | 媒体内容提供方法、播放方法和装置以及服务系统 | |
JP4340084B2 (ja) | 送信装置および送信方法 | |
US8108539B2 (en) | Method for synchronising scene data files and media data flows in an unindirectional broadcast system | |
CN102291374A (zh) | 一种拼接流传输的方法、装置及系统 | |
CN101212332A (zh) | 流记录方法、装置和系统 | |
US8041831B2 (en) | Method for broadcasting a series of contents from a source to receiver terminals, through a computer network, related signal, broadcasting source and terminal | |
CN101521798B (zh) | 一种播放模式切换的方法和装置 | |
US8239902B2 (en) | Method and apparatus for bandwidth optimization of a content on demand service | |
CN102740131A (zh) | 基于实时传输协议的网络电视直播方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111221 |