CN101222616A - 点播服务中的mpeg传送流的传输处理方法 - Google Patents

点播服务中的mpeg传送流的传输处理方法 Download PDF

Info

Publication number
CN101222616A
CN101222616A CNA2008100566057A CN200810056605A CN101222616A CN 101222616 A CN101222616 A CN 101222616A CN A2008100566057 A CNA2008100566057 A CN A2008100566057A CN 200810056605 A CN200810056605 A CN 200810056605A CN 101222616 A CN101222616 A CN 101222616A
Authority
CN
China
Prior art keywords
bag
rtp
random access
rtp bag
key frame
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
Application number
CNA2008100566057A
Other languages
English (en)
Other versions
CN101222616B (zh
Inventor
阮亚平
张建强
刘志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2008100566057A priority Critical patent/CN101222616B/zh
Publication of CN101222616A publication Critical patent/CN101222616A/zh
Application granted granted Critical
Publication of CN101222616B publication Critical patent/CN101222616B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种点播服务中的MPEG传送流TS的传输处理方法,适用于流服务器,包括:A.解析查询编码后的TS包中是否包括关键帧数据;B.将TS包组成实时传输协议RTP包的负载数据,填充RTP包头,封装成RTP包,所述RTP包头中包含扩展头,其中含有用于指示该RTP包中是否包括关键帧数据的指示信息;C.存储所述RTP包;D.当收到随机访问指令后,查找随机访问所请求的RTP包,根据其扩展头的指示控制发包。利用本发明,可以避免每次随机访问时采用复杂的搜索算法判断媒体包是否为随机访问点,从而减少对系统资源的消耗,提高随机访问的效率,降低成本。

Description

点播服务中的MPEG传送流的传输处理方法
技术领域
本发明涉及多媒体通信技术领域,尤其涉及一种点播服务中的运动图像专家组格式(MPEG)传送流(TS)的传输处理方法。
背景技术
国际标准化组织(ISO)的13818-1标准以及国际电信联盟(ITU)的H.222标准中公开的MPEG TS是一种广泛使用的系统层复用协议,在MPEGTS包上可以承载MPEG1/2/4视频、H264视频、MPEG1/2/4音频等各种主流的音视频编码格式,目前广泛地应用于广播电视领域。随着IPTV等多媒体通信应用的发展,TS流在基于IP网络的流媒体及视频监控领域也得到了广泛的应用,其主要形式采用的是由实时传输协议(RTP,Real Time TransportProtocol)承载TS(即TS over RTP)的方式进行视频数据的传输。目前因特网工程任务组(IETF,Internet Engineering Task Force)的RFC2250文件中公开了TS流在RTP中传输的具体方法。
图1为TS over RTP包的结构示意图。参见图1,所述RTP包承载MPEGTS包,MPEG TS包承载MPEG的打包基本流(PES,Packetized ElementaryStream)包,所述MPEG PES包中打包了媒体压缩数据,例如图1中的MPEG压缩层数据,或者也可以是H264数据等等,其中包括音、视频数据。为了降低对带宽资源的占用,所述媒体压缩数据常用的视频编码方式如MPEG编码方式、H264编码方式等均采用了运动补偿的帧间编码方式。这种编码方式分为帧内编码帧(Intra帧)和帧间编码帧(Inter帧)。所述帧内编码帧简称为I帧,I帧采用类似单幅图片压缩的技术,只压缩本视频帧内的空间冗余信息;所述帧间编码帧简称为P帧,主要是利用本视频帧与指定的参考帧(可以是I帧也可以是P帧)之间的时间冗余来压缩数据,也就说P帧记录的是相对于参考帧之间的变化信息,从而减小了传输数据量,减小对带宽的占用。但是,对于随机访问来说,只有包含I帧的数据包才能作为随机访问点。
图2为目前的一种典型的基于内容分发网(CDN)的流媒体直播点播方案示意图。参见图1,CDN是构建在数据网络上的一种分布式的内容分发网,其基本工作原理是采用中心-边缘的层次组网结构,整个CDN系统包括多个流媒体服务器,本文中简称为流服务器。其中主要包括中心节点流服务器100和若干个边缘节点流服务器101、102、103(边缘节点具体数量不限定,作为一种实例,图中只显示了三个)。所述编码器104采用上述的运动补偿的帧间编码方式对视频帧进行编码,得到I帧和或P帧,然后将包括I帧和或P帧的媒体PES组合成TS包,并传输给中心节点流服务器101。所述中心节点流服务器101在接收或读取来自编码器104的TS包后转换为标准格式文件例如MP4格式文件、3GP格式文件等,然后将标准格式文件复制为多份,一份存储在本地的片源库110中,其它份则分发给各个边缘节点流服务器,各个边缘节点流服务器收到所述标准格式文件后存储在本地存储器中(作为一个例子,图1中只画出了边缘节点流服务器101的本地存储器111,其它边缘节点流服务器也都具有本地存储器)。CDN可以利用全局负载均衡技术和服务导向技术,使不同的用户终端(例如图1中的终端1、终端2、终端3)可以访问最近的流服务器,包括中心节点和边缘节点。
当实现媒体流的直播服务时,用户终端可以向最近的流服务器发送播放请求,流服务器根据播放请求从本地存储器中读取出对应的标准格式文件,转换成TS包并发送给用户终端,从而可以使用户就近得到视频服务。对于点播服务,流服务器收到的播放请求是随机访问请求,例如快进播放请求、快退播放请求、以及定位播放请求等,则需要实时对请求的随机访问点附近的TS包进行I帧搜索计算,以判断待发送的TS包中是否包含I帧数据,因为只有包含I帧的数据包才能作为随机访问点。流服务器对随机访问请求的TS包进行搜索计算后,如果发现是包含I帧数据的TS包,则将该TS包发送给请求随机访问的终端,如果不是包含I帧数据的TS包,则不进行发送,直接跳过该TS包并查找下一个TS包是否包含I帧数据。
但是,上述现有技术存在以下技术问题:
1、对于每一路点播中的随机访问请求,流媒体服务器首先需要将标准格式文件转换成TS包,转换的过程非常耗费资源,并且目前的RFC2250文件公开的技术方按中并没有在RTP中携带任何关于I帧数据的指示信息,因此现有技术在读取TS包时都需要利用I帧的搜索算法查找每个TS包中是否包含I帧数据,对于某些编码算法,查找I帧的算法是非常耗系统资源的,对于热点节目常常存在着多个点播会话,那么将会浪费很多系统资源,从而导致流服务器的成本太高。同时在实时点播中耗费如此多的系统资源也会影响媒体数据传输的实时性。
2、对于各种编码格式的I帧搜索算法需要专业的编解码知识,而处于边缘节点上的通用流服务器通常不包括这部分功能,这需要对这些通用流服务器进行改造,从而提高了整个CDN的成本。
3、对于加密TS节目的点播请求,需要在发送I帧数据之前,查找最近的授权控制信息(ECM)包并发送,否则终端将无法正常播放TS包。但是,查找ECM包的算法同样非常耗费系统资源,导致流服务器的成本太高,影响点播的实时性。
发明内容
有鉴于此,本发明所要解决的技术问题在于提供一种点播服务中的MPEG TS的传输处理方法,以减少对系统资源的消耗,提高随机访问的效率,降低成本。
为了实现上述发明目的,本发明的主要技术方案为:
一种点播服务中的MPEG传送流TS的传输处理方法,适用于流服务器,包括:
A、解析查询编码后的TS包中是否包括关键帧数据;
B、将TS包组成实时传输协议RTP包的负载数据,填充RTP包头,封装成RTP包,所述RTP包头中包含扩展头,其中含有用于指示该RTP包中是否包括关键帧数据的指示信息;
C、存储所述RTP包;
D、当收到随机访问指令后,查找随机访问所请求的RTP包,根据其扩展头的指示控制发包。
优选的,所述步骤A依次对编码后的TS包进行处理;所述步骤B具体包括:依次取整数个TS包组成一个RTP包的负载数据;为所述负载数据填充包头成为完整的RTP包,所述的包头中包括固定包头和扩展头,其中的扩展头中包括该负载中的TS包是否包含关键帧数据的指示信息。
优选的,所述步骤A中进一步包括:解析查询所述TS包中是否包括加密信息;步骤B中,进一步在所述RTP包的扩展头中指示该RTP包中是否包含加密信息。
优选的,所述步骤D具体包括:
D1、接收随机访问指令;
D2、依次读取所述随机访问指令所请求的RTP包;
D3、针对所读取的RTP包,检查该RTP包的扩展头,根据扩展头的指示判断该RTP包是否包括关键帧数据;如果包括,则将该RTP包发送给发起随机访问的终端;否则,不发送该RTP包。
优选的,步骤A中进一步包括:解析查询所述TS包中是否包括加密信息;步骤B中,进一步在所述RTP包的扩展头中指示该RTP包中是否包含加密信息;如果所述随机访问指令所请求的是加密节目,所述步骤D3中当所述RTP包内包括关键帧数据时,则先向前查找最近一个扩展头中包含加密信息的RTP包并发送给发起随机访问的终端,再将所述包括关键帧数据的RTP包发送给所述发起随机访问的终端。
优选的,当所述随机访问指令为快进播放指令时,则步骤D2具体为:从当前播放的RTP包开始按照顺时顺序依次读取RTP包;当所述随机访问指令为快退播放指令时,则步骤D2具体为:从当前播放的RTP包开始按照逆时顺序依次读取RTP包;当所述随机访问指令为定位播放指令时,则步骤D2先按照定位播放指令中的时间戳读取距离该时间戳最近的RTP包,并执行步骤D3;步骤D3中,如果成功发送该RTP包,则从该RTP包开始进行正常播放;如果没有发送该RTP包,则返回步骤D2按照顺时顺序依次读取RTP包并执行步骤D3,直到读取的RTP包成功发送,则从该RTP包开始进行正常播放操作。
优选的,步骤A中进一步包括:解析所述TS包是否为视频TS包及其标识号;步骤B中,进一步在所述RTP包的扩展头中指示该RTP包中包括的视频TS包的标识号。
优选的,步骤D后进一步包括:收到RTP包的终端读取该RTP包的扩展头,按照其中的视频TS包的标识号,只解析其中的视频TS包进行播放。
优选的,该方法适用于内容分发网络中的流服务器;所述步骤A、B、C由中心节点流服务器执行,所述步骤D由中心节点流服务器和/或边缘节点流服务器执行。
优选的,步骤C中所述中心节点流服务器存储所述RTP包的具体方法为:将所述RTP包存储在本中心节点流服务器,同时将所述RTP包分发到边缘节点流媒体服务器进行存储。
优选的,所述RTP包扩展头的指示信息具体包括为:
用于指示当前RTP包中不含关键帧的指示信息;
用于指示当前RTP包是关键帧的第一个包的指示信息;
用于指示当前RTP包是关键帧的最后一个包的指示信息;
用于指示当前RTP包是关键帧的中间包的指示信息;
用于指示当前RTP包中含有完整关键帧的指示信息。
本发明在流服务器收到编码后的TS包后就查找其中是否有关键帧数据,将TS包组成负载数据,并将是否具有关键帧以及具有什么样的关键帧的指示信息作为扩展头对负载数据进行打包,存储发布带有扩展头的RTP包。当随机访问时,只通过简单读取扩展头中的信息就可以得知所请求的RTP包是否包含关键帧数据,如果包含则发送给请求方,否则不进行发送。本发明可以在进行随机访问时不必利用复杂的I帧搜索算法对每个RTP包内的TS进行搜索计算,只是简单识别扩展头即可,从而减少对流服务器系统资源的耗费,即降低了流服务器乃至整个CDN的成本,并且提高了随机访问的效率,使得随机访问的速度更快。尤其是对于热点节目存在着多个点播会话时,降低热点节目对系统资源的大量耗费,提高热点节目的实时随机访问的播放效果,更能体现出本发明的优点。
本发明也可以将是否包含加密信息的指示标识设置在RTP包的扩展头中,在随机访问时流服务器只需读取扩展头即可知道RTP包是否包含加密的ECM包,从而方便地查找ECM包,减少查找ECM包时对系统资源的过多耗费,进一步降低了流服务器的成本,提高了随机访问的效率。
由于TS包可能包括音频数据或者包括视频数据,而随机访问一般只需传输播放视频数据,因此本发明还可以在RTP的扩展头中设置视频TS包的标志号。收到RTP包的终端只需读取该RTP包的扩展头,按照其中的视频TS包的标识号,只解析其中的视频TS包进行播放。从而不需要对所有TS包进行解析区分,进一步提高了终端侧的处理效率。
本发明在流媒体点播应用中,可以只在中心节点流服务器上完成所述I帧数据的查找功能以及扩展头的打包功能,边缘节点流服务器无需进行专门的I帧数据搜索计算,在随机访问时,只需简单读取扩展头,就可以获知RTP包中是否包含I帧数据,从而降低了整个CDN系统的成本,并可以支持在任意节点的流媒体直播点播服务。
另外,由于本发明利用扩展头放置I帧指示信息,所以可提高系统的兼容性,普通的流服务器即使不识别该扩展头,也可以方便地跳过该扩展头,并不影响该流服务器实现正常的播放功能。
附图说明
图1为TS over RTP包的结构示意图;
图2为目前的一种典型的基于CDN的流媒体直播点播方案示意图;
图3为本发明所述方法的一种流程图;
图4为本发明所述实施例的中心节点流服务器所执行的流程图;
图5为本发明所述实施例所应用的具体CDN的示意图;
图6为标准的RTP包头格式示意图
图7为本发明所述扩展头的一种示意图;
图8为本发明所述流服务器在进行直播和点播请求时的执行流程图。
具体实施方式
下面通过具体实施例和附图对本发明做进一步详细说明。
图3为本发明所述方法的一种流程图。参见图3,本发明是点播服务中的MPEG TS的传输处理方法,主要包括:
步骤301、流服务器接收或者读取编码后的TS包,该TS包的来源为流媒体编码器。
步骤302、依次解析所述每一TS包,判断每一TS包中是否包括关键帧数据即I帧数据,也就是说该TS包是否可以作为随机访问点;还可以判断每一TS包中是否包括加密信息,即该TS包是否为ECM包;还可以判断该TS包是否为视频TS包,如果是则记录该视频TS包的标识号(PID)。
步骤303、将TS包组成RTP包的负载数据,打上RTP包头,封装成RTP包,所述RTP包头中包含固定包头和扩展头,所述扩展头中含有用于指示该RTP包中是否包括关键帧数据的指示信息,还可以包括是否包含加密信息和或视频TS包的PID。
步骤304、存储所述携带扩展头的RTP包。
然后,流服务器就可以对终端提供流媒体直播点播服务了。终端通过向流服务器发送播放指令触发流服务器发送对应的RTP包给终端,终端收到RTP包后从中解析出音视频数据并进行播放。对于正常播放指令,本发明所述流服务器的执行方法与现有技术相同,此处不再赘述;对于随机访问指令,例如快进播放请求、快退播放指令、定点播放指令等,则本发明所述的流服务器需要进行特殊的处理,即需要执行以下步骤305。
步骤305、当收到随机访问指令后,在所存储的RTP包中查找随机访问所请求的RTP包,根据其扩展头的指示,控制发包过程。具体的,如果查找到的RTP包的扩展头指示该RTP包中含有I帧数据,则将该RTP包发送给发起请求的终端,否则,跳过该RTP包查找下一个。
本发明所述的方法可以适合于单独提供流媒体直播点播服务的流服务器,只是该流服务器需要执行上述流程的各个步骤。本发明也可以适用于CDN网络中的流服务器,只是如果需要进一步降低成本,上述的步骤301至步骤304可以由中心节点流服务器执行,边缘节点流服务器只执行正常播放任务以及上述步骤305即可,或者中心节点流服务器也可以执行正常播放任务以及上述步骤305。这样可以降低边缘节点流服务器的成本。
下面通过将所述方法应用在一种具体CDN中为例介绍本发明的一种具体实施例。图4为该实施例的中心节点流服务器所执行的流程图,图5为该实施例所应用的具体CDN的示意图。参见图4和图5,该流程包括:
步骤401、中心节点流服务器500接收编码器504发送的TS包,或者中心节点流服务器500从编码器504读取TS包,然后缓存得到的TS包。所述TS包可以通过用户数据报协议(UDP,User Datagram Protocol)包来承载(即TS over UDP的方式),中心节点服务器500可以从UDP包中解析出TS包。
步骤402、中心节点流服务器500依次解析所述各个TS包,从中得到并记录以下信息:
a)当前TS包是否包含I帧数据,可以利用I帧搜索算法进行搜索判断,并分以下情况:
1)当前TS包不含I帧;
2)当前TS包是I帧的第一个包;
3)当前TS包是I帧的最后一个包;
4)当前TS包是I帧的中间包;
5)当前TS包内含有完整的I帧。
b)当前TS包是否包含加密信息,即当前TS包是否为ECM包。
c)当前TS包是否为视频TS包,如果是则记录该视频TS包的PID。
步骤403~步骤404、从缓存的TS包序列中依次取TS包加入当前RTP负载,并判断当前RTP包是否完整,即根据所述组包策略是否达到一个完整的RTP包的负载数据,如果是则执行步骤405;否则返回步骤403。
此处主要根据预设的组包策略,将TS包组成RTP包的负载数据,例如可以取整数个TS包,拼成一个RTP包的负载数据段,具体的组包策略可以如下:
3.1假设网络最大传输单元(MTU,Maximum Transmission Unit)为1500字节,则一个RTP包最多包含7个TS包,所以可以将7个TS包组成一个RTP包的负载数据。
3.2如果TS包是ECM包,则可以将该ECM包单独组成一个RTP包。
步骤405~步骤406、为所述负载数据填充RTP包头封装成为完整的RTP包,即TS over RTP包。具体包括填充RTP固定包头和根据前述解析的TS包的信息填充RTP扩展头。
图6为标准的RTP包头格式示意图。参见图6,RFC3 550中公开了RTP的包头格式。每个RTP包头包括固定头601和扩展头602,扩展头是可选的,出现在固定头601之后,负载部分602之前。固定包头601可以是RTP协议公开的标准协议头,也可以是用户自定义的协议头;固定头部的X位设为1指明有扩展头存在。协议规定扩展头可以有任意长度,但是必须以一个16位的类型域紧跟一个16位的长度域开始,这样对于不能识别该扩展的应用可以简单跳过此扩展。
本发明所述的RTP包头中需要包括扩展头602,其中指明本RTP包是否包含视频I帧数据,以及指明本RTP包是否包含加密信息。
以下表1的内容是所述扩展头的一种具体语法结构,图7为本发明所述扩展头的一种示意图。
语法 位数  标识符
rtp extension(){defined_by_profilelengthif(defined_by_profile==0x5A58&&length==1){header extension()}else{unknown extention()} 1616 bslbfuimsbf
header extension(){idlenindicatorvideo_PID} 88313 uimsbfuimsbfuimsbfuimsbf
表1
参见表1,标识符bslbf是比特串,且左位在先。标识符uimsbf为无符号整数,且高位在先。
参见表1和图7,各字段释义如下:
defined by profile字段值固定为0x5A、0x58(″ZX″),标识含义为本发明的规范扩展。
length字段值为1,表示扩展头(header extension)的长度为1个32位双字。
id字段值为3,表明当前TS over RTP包内含有TS的指示信息。
len字段为2,表明随后的TS指示(indicator)为2个字节。
indicator字段标明当前的TS over RTP包是否有I帧数据或者ECM数据,根据上述步骤402判断记录的情况,利用不同的取值指示所判断出的不同情况,例如:
如果取值0x0则指示当前TS over RTP包没有I帧数据;
如果取值0x1则指示当前TS over RTP包为I帧的第一个包;
如果取值0x2则指示当前TS over RTP包为I帧的中间包;
如果取值0x4则指示当前TS over RTP包为I帧的最后一个包;
如果取值0x5则指示当前TS over RTP包为ECM包,即加密信息;
如果取值0x7则指示当前TS over RTP包内含有完整的I帧。
video_PID字段标明当前TS over RTP包中视频帧的PID号。
当然,所述inicator字段也可以将上述后含有I帧数据的四种情况统一用一个值指示为当前TS over RTP包中含有I帧数据,同样可以实现后续的随机访问播放功能。但是,此处将含有I帧数据的四种情况分开表示,是为了进一步达到更好的播放效果:因为网络传输可能会有丢包,对于快进快退播放,需要有完整的I帧信息标志终端才能正确解析并进行播放,如果不区分一个TS over RTP包在I帧中的位置,可能会发送残缺的I帧,导致播放花屏。
步骤407、将所述完整的TS over RTP包进行输出存储,即由中心节点流服务器500将组装好的TS over RTP包存储到片源库110中,并定时分发到各个边缘节点流服务器,边缘节点流服务器将收到的TS over RTP包存储在本地的存储器中。
步骤408、判断缓冲队列中是否还有TS包,如果是,则返回步骤403;否则,执行步骤409。
步骤409、判断是否还要从编码器读取或接收TS包,如果是,则返回步骤401;否则结束本流程。
图8为本发明所述流服务器在进行直播和点播请求时的执行流程图。参见图8和图5,该流程包括:
步骤801、终端1点播一路RTP节目,发送正常播放指令给最近的边缘节点流服务器501。
步骤802、边缘节点流服务器501收到正常播放指令后,进行正常播放,即从本地存储器中依次读取所请求的TS over RTP包并发送给终端1,终端1收包并解码播放。本步骤的方法可以参照现有技术。
步骤803、终端1向边缘节点流服务器501发送随机访问指令,例如此处为快进指令。
步骤804、边缘节点流服务器501收到所述快进指令后,从当前播放的TS over RTP包开始按照顺时顺序依次读取TS over RTP包。
步骤805~806、边缘节点流服务器501对于读取到的每个TS over RTP包,检查该TS over RTP包扩展头的indicator字段,如果为0x1,0x2,0x4,0x7,表示该TS over RTP包内含有I帧数据,是随机访问点,则发送给终端1;如果为0x0,则表示该TS over RTP包内不含有I帧数据,则不是随机访问点,不进行发送,继续读取下一个TS over RTP包重复本步骤。
此处如果播放的节目是加密节目,则查找出含有I帧数据的TS over RTP包后,发送该TS over RTP包之前,进一步包括:先向前查找最近一个indicator为0x5即包含加密信息的TS over RTP包并发送给终端1,再将所述包括I帧数据的TS over RTP包发送给所述终端1,终端可以根据加密信息正确解析后续的TS over RTP包。
步骤807、终端1收到所述TS over RTP包,解析出其中的媒体负载进行快进播放。进一步的,由于点播可以不播放音频,因此终端1可以先读取该TS over RTP包的扩展头,按照其中的video_PID字段标明的PID号,只解析其中的视频TS包进行播放。
如果所述随机访问请求为快退请求指令,则步骤804中边缘节点流服务器501从当前播放的TS over RTP包开始按照逆时顺序依次读取TS over RTP包,并执行后续步骤,终端1收到后可以进行快退播放。
如果所述随机访问指令为定位播放指令,则先按照定位播放指令中的时间戳读取距离该时间戳最近的TS over RTP包,并执行以下步骤805’:
步骤805’、读取该TS over RTP包扩展头的indicator字段,如果为0x1,0x2,0x4,0x7,表示该TS over RTP包内含有I帧数据,是随机访问点,则将该TS over RTP包发送给终端1,然后从该TS over RTP包开始进行正常播放,即按照正常播放的方式读取后续的TS over RTP包并发送。如果距离所述时间戳最近的TS over RTP包扩展头的indicator字段为0x0,则表示该TS over RTP包内不含有I帧数据,不是随机访问点,不发送给终端1,然后按照顺时顺序依次读取下一个TS over RTP包并返回执行步骤805’。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (11)

1.一种点播服务中的MPEG传送流TS的传输处理方法,适用于流服务器,其特征在于,包括:
A、解析查询编码后的TS包中是否包括关键帧数据;
B、将TS包组成实时传输协议RTP包的负载数据,填充RTP包头,封装成RTP包,所述RTP包头中包含扩展头,其中含有用于指示该RTP包中是否包括关键帧数据的指示信息;
C、存储所述RTP包;
D、当收到随机访问指令后,查找随机访问所请求的RTP包,根据其扩展头的指示控制发包。
2.根据权利要求1所述的方法,其特征在于,
所述步骤A依次对编码后的TS包进行处理;
所述步骤B具体包括:依次取整数个TS包组成一个RTP包的负载数据;为所述负载数据填充包头成为完整的RTP包,所述的包头中包括固定包头和扩展头,其中的扩展头中包括该负载中的TS包是否包含关键帧数据的指示信息。
3.根据权利要求1所述的方法,其特征在于,步骤A中进一步包括:解析查询所述TS包中是否包括加密信息;步骤B中,进一步在所述RTP包的扩展头中指示该RTP包中是否包含加密信息。
4.根据权利要求1所述的方法,其特征在于,所述步骤D具体包括:
D1、接收随机访问指令;
D2、依次读取所述随机访问指令所请求的RTP包;
D3、针对所读取的RTP包,检查该RTP包的扩展头,根据扩展头的指示判断该RTP包是否包括关键帧数据;如果包括,则将该RTP包发送给发起随机访问的终端;否则,不发送该RTP包。
5.根据权利要求4所述的方法,其特征在于,步骤A中进一步包括:解析查询所述TS包中是否包括加密信息;步骤B中,进一步在所述RTP包的扩展头中指示该RTP包中是否包含加密信息;
如果所述随机访问指令所请求的是加密节目,所述步骤D3中当所述RTP包内包括关键帧数据时,则先向前查找最近一个扩展头中包含加密信息的RTP包并发送给发起随机访问的终端,再将所述包括关键帧数据的RTP包发送给所述发起随机访问的终端。
6.根据权利要求4或5所述的方法,其特征在于,
当所述随机访问指令为快进播放指令时,则步骤D2具体为:从当前播放的RTP包开始按照顺时顺序依次读取RTP包;
当所述随机访问指令为快退播放指令时,则步骤D2具体为:从当前播放的RTP包开始按照逆时顺序依次读取RTP包;
当所述随机访问指令为定位播放指令时,则步骤D2先按照定位播放指令中的时间戳读取距离该时间戳最近的RTP包,并执行步骤D3;步骤D3中,如果成功发送该RTP包,则从该RTP包开始进行正常播放;如果没有发送该RTP包,则返回步骤D2按照顺时顺序依次读取RTP包并执行步骤D3,直到读取的RTP包成功发送,则从该RTP包开始进行正常播放操作。
7.根据权利要求1所述的方法,其特征在于,步骤A中进一步包括:解析所述TS包是否为视频TS包及其标识号;步骤B中,进一步在所述RTP包的扩展头中指示该RTP包中包括的视频TS包的标识号。
8.根据权利要求7所述的方法,其特征在于,步骤D后进一步包括:收到RTP包的终端读取该RTP包的扩展头,按照其中的视频TS包的标识号,只解析其中的视频TS包进行播放。
9.根据权利要求1所述的方法,其特征在于,该方法适用于内容分发网络中的流服务器;所述步骤A、B、C由中心节点流服务器执行,所述步骤D由中心节点流服务器和/或边缘节点流服务器执行。
10.根据权利要求9所述的方法,其特征在于,步骤C中所述中心节点流服务器存储所述RTP包的具体方法为:将所述RTP包存储在本中心节点流服务器,同时将所述RTP包分发到边缘节点流媒体服务器进行存储。
11.根据权利要求1所述的方法,其特征在于,所述RTP包扩展头的指示信息具体包括为:
用于指示当前RTP包中不含关键帧的指示信息;
用于指示当前RTP包是关键帧的第一个包的指示信息;
用于指示当前RTP包是关键帧的最后一个包的指示信息;
用于指示当前RTP包是关键帧的中间包的指示信息;
用于指示当前RTP包中含有完整关键帧的指示信息。
CN2008100566057A 2008-01-22 2008-01-22 点播服务中的mpeg传送流的传输处理方法 Expired - Fee Related CN101222616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100566057A CN101222616B (zh) 2008-01-22 2008-01-22 点播服务中的mpeg传送流的传输处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100566057A CN101222616B (zh) 2008-01-22 2008-01-22 点播服务中的mpeg传送流的传输处理方法

Publications (2)

Publication Number Publication Date
CN101222616A true CN101222616A (zh) 2008-07-16
CN101222616B CN101222616B (zh) 2011-08-10

Family

ID=39632158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100566057A Expired - Fee Related CN101222616B (zh) 2008-01-22 2008-01-22 点播服务中的mpeg传送流的传输处理方法

Country Status (1)

Country Link
CN (1) CN101222616B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010045826A1 (zh) * 2008-10-23 2010-04-29 中兴通讯股份有限公司 流媒体业务中获取关键帧的方法、系统及用户设备
CN101505420B (zh) * 2008-12-02 2011-01-26 深圳市同洲电子股份有限公司 一种视频压缩数据的封装方法
CN101646074B (zh) * 2008-08-05 2011-07-13 中兴通讯股份有限公司 视频数据的实时传输方法
CN101494655B (zh) * 2009-03-12 2012-06-27 中国电信股份有限公司 Rtp分布式流媒体服务系统及方法
CN102594773A (zh) * 2011-01-10 2012-07-18 中兴通讯股份有限公司 一种实现数据获取的方法和系统
WO2014048299A1 (zh) * 2012-09-28 2014-04-03 华为技术有限公司 一种视频数据发送、存储及检索方法和视频监控系统
CN103765908A (zh) * 2011-07-02 2014-04-30 三星电子株式会社 用于对视频数据进行复用和解复用以识别视频数据的再现状态的方法和设备
CN104221390A (zh) * 2012-04-26 2014-12-17 高通股份有限公司 用于处置低等待时间流送的增强型块请求流送系统
CN104426875A (zh) * 2013-09-02 2015-03-18 中兴通讯股份有限公司 一种频道快速切换方法、服务器及系统
CN105338286A (zh) * 2015-10-30 2016-02-17 杭州华为企业通信技术有限公司 一种辅流传输方法及装置
CN106937160A (zh) * 2017-03-28 2017-07-07 青岛海信电器股份有限公司 一种针对终端的录制文件在快进快退时的显示方法和装置
CN109327711A (zh) * 2018-10-22 2019-02-12 高斯贝尔数码科技股份有限公司 音视频的内容格式分层结构、加密方法、解密方法及终端
CN109936538A (zh) * 2017-12-17 2019-06-25 北京信威通信技术股份有限公司 一种视频业务数据传输方法
US10855736B2 (en) 2009-09-22 2020-12-01 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
CN101646074B (zh) * 2008-08-05 2011-07-13 中兴通讯股份有限公司 视频数据的实时传输方法
WO2010045826A1 (zh) * 2008-10-23 2010-04-29 中兴通讯股份有限公司 流媒体业务中获取关键帧的方法、系统及用户设备
US8813160B2 (en) 2008-10-23 2014-08-19 Zte Corporation Method, system and user device for obtaining a key frame in a streaming media service
CN101505420B (zh) * 2008-12-02 2011-01-26 深圳市同洲电子股份有限公司 一种视频压缩数据的封装方法
CN101494655B (zh) * 2009-03-12 2012-06-27 中国电信股份有限公司 Rtp分布式流媒体服务系统及方法
US11770432B2 (en) 2009-09-22 2023-09-26 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US10855736B2 (en) 2009-09-22 2020-12-01 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
CN102594773A (zh) * 2011-01-10 2012-07-18 中兴通讯股份有限公司 一种实现数据获取的方法和系统
CN102594773B (zh) * 2011-01-10 2017-03-29 中兴通讯股份有限公司 一种实现数据获取的方法和系统
CN103765908A (zh) * 2011-07-02 2014-04-30 三星电子株式会社 用于对视频数据进行复用和解复用以识别视频数据的再现状态的方法和设备
CN107623856A (zh) * 2011-07-02 2018-01-23 三星电子株式会社 视频编码设备、视频解码设备和计算机可读存储介质
CN107820094A (zh) * 2011-07-02 2018-03-20 三星电子株式会社 视频编码设备、视频解码设备和计算机可读存储介质
US9788003B2 (en) 2011-07-02 2017-10-10 Samsung Electronics Co., Ltd. Method and apparatus for multiplexing and demultiplexing video data to identify reproducing state of video data
CN107454417A (zh) * 2011-07-02 2017-12-08 三星电子株式会社 视频编码设备、视频解码设备和计算机可读存储介质
CN104221390B (zh) * 2012-04-26 2018-10-02 高通股份有限公司 用于处置低等待时间流送的增强型块请求流送系统
CN104221390A (zh) * 2012-04-26 2014-12-17 高通股份有限公司 用于处置低等待时间流送的增强型块请求流送系统
CN103716578A (zh) * 2012-09-28 2014-04-09 华为技术有限公司 一种视频数据发送、存储及检索方法和视频监控系统
WO2014048299A1 (zh) * 2012-09-28 2014-04-03 华为技术有限公司 一种视频数据发送、存储及检索方法和视频监控系统
CN104426875A (zh) * 2013-09-02 2015-03-18 中兴通讯股份有限公司 一种频道快速切换方法、服务器及系统
CN105338286A (zh) * 2015-10-30 2016-02-17 杭州华为企业通信技术有限公司 一种辅流传输方法及装置
CN105338286B (zh) * 2015-10-30 2019-03-05 杭州华为企业通信技术有限公司 一种辅流传输方法及装置
CN106937160A (zh) * 2017-03-28 2017-07-07 青岛海信电器股份有限公司 一种针对终端的录制文件在快进快退时的显示方法和装置
CN106937160B (zh) * 2017-03-28 2019-12-24 青岛海信电器股份有限公司 一种针对终端的录制文件在快进快退时的显示方法和装置
CN109936538A (zh) * 2017-12-17 2019-06-25 北京信威通信技术股份有限公司 一种视频业务数据传输方法
CN109327711A (zh) * 2018-10-22 2019-02-12 高斯贝尔数码科技股份有限公司 音视频的内容格式分层结构、加密方法、解密方法及终端

Also Published As

Publication number Publication date
CN101222616B (zh) 2011-08-10

Similar Documents

Publication Publication Date Title
CN101222616B (zh) 点播服务中的mpeg传送流的传输处理方法
US10728591B2 (en) Method of configuring and transmitting an MMT transport packet
US10595065B2 (en) Method and apparatus for transmitting and receiving multi-media services
US11706502B2 (en) Segment types as delimiters and addressable resource identifiers
KR101757306B1 (ko) 방송 신호 송/수신 처리 방법 및 장치
US9906580B2 (en) Method and apparatus for generating and reproducing adaptive stream based on file format, and recording medium thereof
US9414123B2 (en) Method for hybrid delivery of MMT package and content and method for receiving content
CN110062257B (zh) 发送方法以及接收方法
US20110116772A1 (en) Method and apparatus for providing trick play service
US10567813B2 (en) System and method for data stream fragmentation
US20140344875A1 (en) Method for transmitting media data having access unit divided into media fragment units in heterogeneous network
US20150020138A1 (en) Mmt asset structure for supporting random access to systems for transmitting coded media data in heterogeneous networks, and method and apparatus for generating same
CN101217553A (zh) 一种媒体流的随机访问处理方法
CN104756424A (zh) 使用跨层优化自适应地传送fec奇偶校验数据的方法
CN101651833B (zh) 一种i帧检索方法及装置
KR20190018142A (ko) Mmt 전송 패킷의 설정 방법 및 전송 방법
US11445000B2 (en) Multicast to unicast conversion
US20150124818A1 (en) Method for transmitting media data interlinked with composition information and transmission characteristics information via a heterogeneous ip network
US20220131921A1 (en) Multicast to unicast conversion

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110810

Termination date: 20170122