CN105407351A - 一种从实时传输协议数据包中重建编码方式的方法和装置 - Google Patents
一种从实时传输协议数据包中重建编码方式的方法和装置 Download PDFInfo
- Publication number
- CN105407351A CN105407351A CN201410468714.5A CN201410468714A CN105407351A CN 105407351 A CN105407351 A CN 105407351A CN 201410468714 A CN201410468714 A CN 201410468714A CN 105407351 A CN105407351 A CN 105407351A
- Authority
- CN
- China
- Prior art keywords
- rtp packet
- rtp
- coded system
- head
- pattern
- 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
Abstract
本发明公开了一种从RTP数据包中重建编码方式的方法和装置:对接收到的N个RTP数据包分别进行解析,通过解析确定出每个RTP数据包对应的编码方式,N为大于1的正整数;分别统计确定出的每种编码方式对应的RTP数据包数,将统计结果最大的编码方式作为重建出的编码方式。本发明所述方案适用范围广泛,且能够节省带宽等。
Description
技术领域
本发明涉及互联网领域,特别涉及一种从实时传输协议(RTP)数据包中重建编码方式的方法和装置。
背景技术
当前,在视频监控行业中,作为发送端的监控设备产生的RTP数据包经互联网传输后到达接收端,接收端需要重建出RTP数据包中的数据的编码方式,以便恢复出所需的基本码流(ES)等。
现有技术中,主要通过以下两种方式来重建出编码方式:
方式一
发送端和接收端之间采用实时流传输协议(RTSP)来传输RTP数据包,接收端通过对RTSP协议中的会话描述协议(SDP)进行解析来获取编码方式;
方式二
传输专门的私有数据包,利用私有数据包来指明编码方式。
但是,上述两种方式在实际应用中均会存在一定的问题,如:对于方式一来说,必须依赖于RTSP协议中的SDP信息,从而适用范围有限;对于方式二来说,由于需要额外传输私有数据包,因此会增大对带宽的占用。
发明内容
有鉴于此,本发明提供了一种从RTP数据包中重建编码方式的方法和装置,适用范围广泛,且能够节省带宽。
为了达到上述目的,本发明的技术方案是这样实现的:
一种从RTP数据包中重建编码方式的方法,包括:
对接收到的N个RTP数据包分别进行解析,通过解析确定出每个RTP数据包对应的编码方式,N为大于1的正整数;
分别统计确定出的每种编码方式对应的RTP数据包数,将统计结果最大的编码方式作为重建出的编码方式。
一种从RTP数据包中重建编码方式的装置,包括:
第一处理模块,用于对接收到的N个RTP数据包分别进行解析,通过解析确定出每个RTP数据包对应的编码方式,N为大于1的正整数;分别统计确定出的每种编码方式对应的RTP数据包数,将统计结果最大的编码方式作为重建出的编码方式。
可见,采用本发明所述方案,既无需依赖于RTSP协议中的SDP信息,也无需额外传输私有数据包,从而克服了现有技术中存在的问题,使得本发明所述方案不但适用范围广泛,而且能够节省带宽等。
附图说明
图1为本发明从RTP数据包中重建编码方式的方法实施例的流程图。
图2为现有JPEG头的组成结构示意图。
图3为现有SingleNALU模式下的数据结构示意图。
图4为现有FU-A模式下的数据结构示意图。
图5为图4中所示的FUheader字段的组成结构示意图。
图6为现有STAP-A模式下的数据结构示意图。
具体实施方式
为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步的详细说明。
图1为本发明从RTP数据包中重建编码方式的方法实施例的流程图。如图1所示,包括以下步骤11~12。
步骤11:对接收到的N个RTP数据包分别进行解析,通过解析确定出每个RTP数据包对应的编码方式,N为大于1的正整数。
步骤12:分别统计确定出的每种编码方式对应的RTP数据包数,将统计结果最大的编码方式作为重建出的编码方式。
N的具体取值可根据实际需要而定,之所以要对多个RTP数据包进行解析,主要是考虑到可通过增加解析样本数来提高最终结果的准确性。
在实际应用中,所述编码方式可包括:动态图像专家组4(MPEG4)、MPEG2、联合图像专家组(JPEG)和H.264等。其中,H.264编码方式又可进一步包括以下模式:单独封包(SingleNALU)模式、分片封包(FU-A)模式和组合封包(STAP-A)模式。以下分别对如何确定是否为上述编码方式进行说明。
1.1)MPEG4
针对每个RTP数据包,可分别确定跳过该RTP数据包的RTP头之后的起始码是否为000001B0,如果是,则可确定该RTP数据包对应的编码方式为MPEG4。
1.2)MPEG2
针对每个RTP数据包,可分别确定跳过该RTP数据包的RTP头之后的起始码是否为000001B3,如果是,则可确定该RTP数据包对应的编码方式为MPEG2。
1.3)JPEG
针对每个RTP数据包,可分别确定跳过该RTP数据包的RTP头之后的第7个字节是否符合JPEG宽度定义标准以及第8个字节是否符合JPEG高度定义标准,如果均符合,则可确定该RTP数据包对应的编码方式为JPEG。
图2为现有JPEG头的组成结构示意图。如图2所示,其中包括:类型特定(Type-Specific)、分段偏移(FragmentOffset)、类型(Type)、Q、宽度(Width)和高度(Height)等字段;其中,类型特定、类型、Q、宽度和高度字段均占用一个字节,分段偏移字段占用3个字节,而且,宽度字段占用RTP头之后的第7个字节,高度字段占用RTP头之后的第8个字节。
1.4)H.264
针对每个RTP数据包,可分别读取跳过该RTP数据包的RTP头之后的第一个字节的后5位;
如果取值在1~23之间,则可确定该RTP数据包对应的编码方式为H.264中的SingleNALU模式;
如果取值为28,则可确定该RTP数据包对应的编码方式为H.264中的FU-A模式;
如果取值为24,则可确定该RTP数据包对应的编码方式为H.264中的STAP-A模式。
当一个H.264的网络适配层单元(NALUnit,即NALU)的长度不超过传输系统(MTU)对RTP数据包负载部分长度的限制时,可采用SingleNALU模式;
当一个H.264的NALUnit的长度超过MTU对RTP数据包负载部分长度的限制时,需要将一个NALUnit进行分片,即拆分成多个RTP数据包来进行发送,即采用FU-A模式;
当一个H.264的NALUnit的长度非常小时,可以将多个NALUnit封装在一个RTP数据包中进行发送,即采用STAP-A模式。
在实际应用中,对于每个RTP数据包来说,可首先确定其对应的编码方式是否为MPEG4,如果是,则结束处理,否则,可进一步确定其对应的编码方式是否为MPEG2,如果是,则结束处理,否则,可进一步确定其对应的编码方式是否为JPEG,如果是,则结束处理,否则,可进一步确定其对应的编码方式是否为H.264;当然,以上仅为一种较佳的实施方式,具体采用何种顺序可根据实际需要而定。
在重建出编码方式之后,可针对接收到的各RTP数据包,根据重建出的编码方式恢复出ES并输出。
根据重建出的编码方式的不同,恢复出ES的方式也会不同,以下分别进行说明。
2.1)MPEG4
针对接收到的各RTP数据包,可分别将其去除RTP头后输出。
2.2)MPEG2
针对接收到的各RTP数据包,可分别将其去除RTP头后输出。
2.3)JPEG
针对接收到的各RTP数据包,可分别进行以下处理:
将该RTP数据包中的负载数据提取出来,即将该RTP数据包中跳过RTP头和JPEG头之后的数据提取出来;
确定该RTP数据包的RTP头中的时间戳相比于最近一次接收到的RTP数据包的RTP头中的时间戳是否有更新,如果是,则将组帧缓存中的数据输出,并在提取出的负载数据前添加一个量化表后添加到组帧缓存中,如果否,则将提取出的负载数据添加到组帧缓存中,如何添加量化表为现有技术。
举例说明:
假设一帧JPEG数据被封装成4个RTP数据包,结构分别为:RTP头+JPEG头+负载数据1、RTP头+JPEG头+负载数据2、RTP头+JPEG头+负载数据3、RTP头+JPEG头+负载数据4;那么,组帧缓存中输出的数据将为:量化表+负载数据1+负载数据2+负载数据3+负载数据4。
时间戳发生更新,则表示更换为了下一帧JPEG数据。
2.4)H.264
2.4.1)SingleNALU模式
图3为现有SingleNALU模式下的数据结构示意图。如图3所示,其中第一个字节包含的F、NRI和Type字段与H.264标准定义的NALUnit第一个字节完全相同,因此,在恢复ES时,只需要将RTP数据包去除RTP头后并添加起始码00000001或000001即可。
另外,在实际应用中,如果没有重建出序列参数集(SPS)或图像参数集(PPS),得到的码流是无法进行解码的,为此,在进行上述处理之前,还需要先进行以下处理:确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:跳过该RTP数据包的RTP头之后的第一个字节的后5位的取值为7或8,之后,可从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别将其去除RTP头并添加起始码00000001或000001后输出。
2.4.2)FU-A模式
图4为现有FU-A模式下的数据结构示意图。如图4所示,其中FUindicator字段的前3位的内容与所负载的NALUnit的第一个字节的高3位的内容一致,FUindicator字段的后5位为FU-A模式的标识码28,即0x1c。
另外,图5为图4中所示的FUheader字段的组成结构示意图。如图5所示,其中,S为开始位,当开始位设置为1时,指示分片NALUnit的开始,即跟随的负载为将一个NALUnit进行分片后的第一个分片,否则设置为0;E为结束位,当结束位设置为1时,指示分片NALUnit的结束,即跟随的负载为将一个NALUnit进行分片后的最后一个分片,否则设置为0;R为保留位,设置为0。
基于上述介绍,并考虑到SPS和PPS的问题,针对FU-A模式,恢复出ES的方式可为:
确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:该RTP数据包的FUheader字段中的开始位设置为1(标示一帧开始)、且FUheader字段中的后5位的取值为7或8;
从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别进行以下处理:
将该RTP数据包中的负载数据提取出来,即将该RTP数据包中位于FUheader之后的负载数据提取出来;
确定该RTP数据包的RTP头中的时间戳相比于最近一次接收到的RTP数据包的RTP头中的时间戳是否有更新,如果是,则将组帧缓存中的数据输出,并在提取出的负载数据前依次添加一个起始码00000001或000001,以及一个由该RTP数据包的FUindicator字段中的前3位和FUheader字段中的后5位组合成的码字后,添加到组帧缓存中,如果否,则将提取出的负载数据添加到组帧缓存中。
2.4.3)STAP-A模式
图6为现有STAP-A模式下的数据结构示意图。
考虑到SPS和PPS的问题,针对STAP-A模式,恢复出ES的方式可为:
确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:该RTP数据包中的第一段负载数据(如图6中所示的NALU1Data)的第一个字节的后5位的取值为7或8;
从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别进行以下处理:将该RTP数据包中的各段负载数据(如图6中所示的NALU1Data、NALU2Data)提取出来,并分别添加起始码00000001或000001后输出。
基于上述介绍,本发明同时公开了一种从RTP数据包中重建编码方式的装置,包括:第一处理模块。
第一处理模块,用于对接收到的N个RTP数据包分别进行解析,通过解析确定出每个RTP数据包对应的编码方式,N为大于1的正整数;分别统计确定出的每种编码方式对应的RTP数据包数,将统计结果最大的编码方式作为重建出的编码方式。
其中,
所述编码方式可包括:动态图像专家组MPEG4、MPEG2、联合图像专家组JPEG和H.264;
所述H.264编码方式又可进一步包括以下模式:单独封包SingleNALU模式、分片封包FU-A模式和组合封包STAP-A模式。
具体地,
第一处理模块针对每个RTP数据包,分别确定跳过该RTP数据包的RTP头之后的起始码是否为000001B0,如果是,则确定该RTP数据包对应的编码方式为MPEG4。
第一处理模块针对每个RTP数据包,分别确定跳过该RTP数据包的RTP头之后的起始码是否为000001B3,如果是,则确定该RTP数据包对应的编码方式为MPEG2。
第一处理模块针对每个RTP数据包,分别确定跳过该RTP数据包的RTP头之后的第7个字节是否符合JPEG宽度定义标准以及第8个字节是否符合JPEG高度定义标准,如果均符合,则确定该RTP数据包对应的编码方式为JPEG。
第一处理模块针对每个RTP数据包,分别读取跳过该RTP数据包的RTP头之后的第一个字节的后5位,如果取值在1~23之间,则确定该RTP数据包对应的编码方式为H.264中的SingleNALU模式,如果取值为28,则确定该RTP数据包对应的编码方式为H.264中的FU-A模式,如果取值为24,则确定该RTP数据包对应的编码方式为H.264中的STAP-A模式。
该装置中还可进一步包括:
第二处理模块,用于针对接收到的各RTP数据包,根据重建出的编码方式恢复出基本码流ES并输出。
具体地,
当重建出的编码方式为MPEG4时,第二处理模块针对接收到的各RTP数据包,分别将其去除RTP头后输出。
当重建出的编码方式为MPEG2时,第二处理模块针对接收到的各RTP数据包,分别将其去除RTP头后输出。
当重建出的编码方式为JPEG时,第二处理模块针对接收到的各RTP数据包,分别进行以下处理:将该RTP数据包中的负载数据提取出来;确定该RTP数据包的RTP头中的时间戳相比于最近一次接收到的RTP数据包的RTP头中的时间戳是否有更新,如果是,则将组帧缓存中的数据输出,并在提取出的负载数据前添加一个量化表后添加到组帧缓存中,如果否,则将提取出的负载数据添加到组帧缓存中。
当重建出的编码方式为H.264中的SingleNALU模式时,第二处理模块确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:跳过该RTP数据包的RTP头之后的第一个字节的后5位的取值为7或8;从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别将其去除RTP头并添加起始码00000001或000001后输出。
当重建出的编码方式为H.264中的FU-A模式时,第二处理模块确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:该RTP数据包的FUheader字段中的开始位设置为1、且FUheader字段中的后5位的取值为7或8;从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别进行以下处理:将该RTP数据包中的负载数据提取出来;确定该RTP数据包的RTP头中的时间戳相比于最近一次接收到的RTP数据包的RTP头中的时间戳是否有更新,如果是,则将组帧缓存中的数据输出,并在提取出的负载数据前依次添加一个起始码00000001或000001以及一个由该RTP数据包的FUindicator字段中的前3位和FUheader字段中的后5位组合成的码字后,添加到组帧缓存中,如果否,则将提取出的负载数据添加到组帧缓存中。
当重建出的编码方式为H.264中的STAP-A模式时,第二处理模块确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:该RTP数据包中的第一段负载数据的第一个字节的后5位的取值为7或8;从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别进行以下处理:将该RTP数据包中的各段负载数据提取出来,并分别添加起始码00000001或000001后输出。
上述装置实施例的具体工作流程请参照前述方法实施例中的相应说明,此处不再赘述。
总之,采用本发明所述方案,既无需依赖于RTSP协议中的SDP信息,也无需额外传输私有数据包,从而克服了现有技术中存在的问题,使得本发明所述方案不但适用范围广泛,而且能够节省带宽等。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (26)
1.一种从实时传输协议RTP数据包中重建编码方式的方法,其特征在于,包括:
对接收到的N个RTP数据包分别进行解析,通过解析确定出每个RTP数据包对应的编码方式,N为大于1的正整数;
分别统计确定出的每种编码方式对应的RTP数据包数,将统计结果最大的编码方式作为重建出的编码方式。
2.根据权利要求1所述的方法,其特征在于,
所述编码方式包括:动态图像专家组MPEG4、MPEG2、联合图像专家组JPEG和H.264;
所述H.264编码方式进一步包括以下模式:单独封包SingleNALU模式、分片封包FU-A模式和组合封包STAP-A模式。
3.根据权利要求2所述的方法,其特征在于,
所述通过解析确定出每个RTP数据包对应的编码方式包括:
针对每个RTP数据包,分别确定跳过该RTP数据包的RTP头之后的起始码是否为000001B0,如果是,则确定该RTP数据包对应的编码方式为MPEG4。
4.根据权利要求2所述的方法,其特征在于,
所述通过解析确定出每个RTP数据包对应的编码方式包括:
针对每个RTP数据包,分别确定跳过该RTP数据包的RTP头之后的起始码是否为000001B3,如果是,则确定该RTP数据包对应的编码方式为MPEG2。
5.根据权利要求2所述的方法,其特征在于,
所述通过解析确定出每个RTP数据包对应的编码方式包括:
针对每个RTP数据包,分别确定跳过该RTP数据包的RTP头之后的第7个字节是否符合JPEG宽度定义标准以及第8个字节是否符合JPEG高度定义标准,如果均符合,则确定该RTP数据包对应的编码方式为JPEG。
6.根据权利要求2所述的方法,其特征在于,
所述通过解析确定出每个RTP数据包对应的编码方式包括:
针对每个RTP数据包,分别读取跳过该RTP数据包的RTP头之后的第一个字节的后5位,如果取值在1~23之间,则确定该RTP数据包对应的编码方式为H.264中的SingleNALU模式,如果取值为28,则确定该RTP数据包对应的编码方式为H.264中的FU-A模式,如果取值为24,则确定该RTP数据包对应的编码方式为H.264中的STAP-A模式。
7.根据权利要求2所述的方法,其特征在于,
该方法进一步包括:针对接收到的各RTP数据包,根据重建出的编码方式恢复出基本码流ES并输出。
8.根据权利要求7所述的方法,其特征在于,
所述根据重建出的编码方式恢复出ES并输出包括:
当重建出的编码方式为MPEG4时,针对接收到的各RTP数据包,分别将其去除RTP头后输出。
9.根据权利要求7所述的方法,其特征在于,
所述根据重建出的编码方式恢复出ES并输出包括:
当重建出的编码方式为MPEG2时,针对接收到的各RTP数据包,分别将其去除RTP头后输出。
10.根据权利要求7所述的方法,其特征在于,
所述根据重建出的编码方式恢复出ES并输出包括:
当重建出的编码方式为JPEG时,针对接收到的各RTP数据包,分别进行以下处理:
将该RTP数据包中的负载数据提取出来;
确定该RTP数据包的RTP头中的时间戳相比于最近一次接收到的RTP数据包的RTP头中的时间戳是否有更新,如果是,则将组帧缓存中的数据输出,并在提取出的负载数据前添加一个量化表后添加到组帧缓存中,如果否,则将提取出的负载数据添加到组帧缓存中。
11.根据权利要求7所述的方法,其特征在于,
所述根据重建出的编码方式恢复出ES并输出包括:
当重建出的编码方式为H.264中的SingleNALU模式时,确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:跳过该RTP数据包的RTP头之后的第一个字节的后5位的取值为7或8;
从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别将其去除RTP头并添加起始码00000001或000001后输出。
12.根据权利要求7所述的方法,其特征在于,
所述根据重建出的编码方式恢复出ES并输出包括:
当重建出的编码方式为H.264中的FU-A模式时,确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:该RTP数据包的FUheader字段中的开始位设置为1、且FUheader字段中的后5位的取值为7或8;
从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别进行以下处理:
将该RTP数据包中的负载数据提取出来;
确定该RTP数据包的RTP头中的时间戳相比于最近一次接收到的RTP数据包的RTP头中的时间戳是否有更新,如果是,则将组帧缓存中的数据输出,并在提取出的负载数据前依次添加一个起始码00000001或000001以及一个由该RTP数据包的FUindicator字段中的前3位和FUheader字段中的后5位组合成的码字后,添加到组帧缓存中,如果否,则将提取出的负载数据添加到组帧缓存中。
13.根据权利要求7所述的方法,其特征在于,
所述根据重建出的编码方式恢复出ES并输出包括:
当重建出的编码方式为H.264中的STAP-A模式时,确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:该RTP数据包中的第一段负载数据的第一个字节的后5位的取值为7或8;
从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别进行以下处理:将该RTP数据包中的各段负载数据提取出来,并分别添加起始码00000001或000001后输出。
14.一种从实时传输协议RTP数据包中重建编码方式的装置,其特征在于,包括:
第一处理模块,用于对接收到的N个RTP数据包分别进行解析,通过解析确定出每个RTP数据包对应的编码方式,N为大于1的正整数;分别统计确定出的每种编码方式对应的RTP数据包数,将统计结果最大的编码方式作为重建出的编码方式。
15.根据权利要求14所述的装置,其特征在于,
所述编码方式包括:动态图像专家组MPEG4、MPEG2、联合图像专家组JPEG和H.264;
所述H.264编码方式进一步包括以下模式:单独封包SingleNALU模式、分片封包FU-A模式和组合封包STAP-A模式。
16.根据权利要求15所述的装置,其特征在于,
所述第一处理模块针对每个RTP数据包,分别确定跳过该RTP数据包的RTP头之后的起始码是否为000001B0,如果是,则确定该RTP数据包对应的编码方式为MPEG4。
17.根据权利要求15所述的装置,其特征在于,
所述第一处理模块针对每个RTP数据包,分别确定跳过该RTP数据包的RTP头之后的起始码是否为000001B3,如果是,则确定该RTP数据包对应的编码方式为MPEG2。
18.根据权利要求15所述的装置,其特征在于,
所述第一处理模块针对每个RTP数据包,分别确定跳过该RTP数据包的RTP头之后的第7个字节是否符合JPEG宽度定义标准以及第8个字节是否符合JPEG高度定义标准,如果均符合,则确定该RTP数据包对应的编码方式为JPEG。
19.根据权利要求15所述的装置,其特征在于,
所述第一处理模块针对每个RTP数据包,分别读取跳过该RTP数据包的RTP头之后的第一个字节的后5位,如果取值在1~23之间,则确定该RTP数据包对应的编码方式为H.264中的SingleNALU模式,如果取值为28,则确定该RTP数据包对应的编码方式为H.264中的FU-A模式,如果取值为24,则确定该RTP数据包对应的编码方式为H.264中的STAP-A模式。
20.根据权利要求15所述的装置,其特征在于,
该装置中进一步包括:
第二处理模块,用于针对接收到的各RTP数据包,根据重建出的编码方式恢复出基本码流ES并输出。
21.根据权利要求20所述的装置,其特征在于,
当重建出的编码方式为MPEG4时,所述第二处理模块针对接收到的各RTP数据包,分别将其去除RTP头后输出。
22.根据权利要求20所述的装置,其特征在于,
当重建出的编码方式为MPEG2时,所述第二处理模块针对接收到的各RTP数据包,分别将其去除RTP头后输出。
23.根据权利要求20所述的装置,其特征在于,
当重建出的编码方式为JPEG时,所述第二处理模块针对接收到的各RTP数据包,分别进行以下处理:将该RTP数据包中的负载数据提取出来;确定该RTP数据包的RTP头中的时间戳相比于最近一次接收到的RTP数据包的RTP头中的时间戳是否有更新,如果是,则将组帧缓存中的数据输出,并在提取出的负载数据前添加一个量化表后添加到组帧缓存中,如果否,则将提取出的负载数据添加到组帧缓存中。
24.根据权利要求20所述的装置,其特征在于,
当重建出的编码方式为H.264中的SingleNALU模式时,所述第二处理模块确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:跳过该RTP数据包的RTP头之后的第一个字节的后5位的取值为7或8;从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别将其去除RTP头并添加起始码00000001或000001后输出。
25.根据权利要求20所述的装置,其特征在于,
当重建出的编码方式为H.264中的FU-A模式时,所述第二处理模块确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:该RTP数据包的FUheader字段中的开始位设置为1、且FUheader字段中的后5位的取值为7或8;从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别进行以下处理:将该RTP数据包中的负载数据提取出来;确定该RTP数据包的RTP头中的时间戳相比于最近一次接收到的RTP数据包的RTP头中的时间戳是否有更新,如果是,则将组帧缓存中的数据输出,并在提取出的负载数据前依次添加一个起始码00000001或000001以及一个由该RTP数据包的FUindicator字段中的前3位和FUheader字段中的后5位组合成的码字后,添加到组帧缓存中,如果否,则将提取出的负载数据添加到组帧缓存中。
26.根据权利要求20所述的装置,其特征在于,
当重建出的编码方式为H.264中的STAP-A模式时,所述第二处理模块确定出接收到的各RTP数据包中第一个符合以下条件的RTP数据包:该RTP数据包中的第一段负载数据的第一个字节的后5位的取值为7或8;从确定出的RTP数据包开始,针对接收到的各RTP数据包,分别进行以下处理:将该RTP数据包中的各段负载数据提取出来,并分别添加起始码00000001或000001后输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410468714.5A CN105407351B (zh) | 2014-09-15 | 2014-09-15 | 一种从实时传输协议数据包中重建编码方式的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410468714.5A CN105407351B (zh) | 2014-09-15 | 2014-09-15 | 一种从实时传输协议数据包中重建编码方式的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105407351A true CN105407351A (zh) | 2016-03-16 |
CN105407351B CN105407351B (zh) | 2019-03-12 |
Family
ID=55472556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410468714.5A Active CN105407351B (zh) | 2014-09-15 | 2014-09-15 | 一种从实时传输协议数据包中重建编码方式的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105407351B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411565A (zh) * | 2015-07-31 | 2017-02-15 | 想象技术有限公司 | 估计处理器负荷 |
CN107948602A (zh) * | 2017-12-05 | 2018-04-20 | 深圳市蓝泰源信息技术股份有限公司 | 一种基于bs的智能公交视频监控方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863314A (zh) * | 2005-10-17 | 2006-11-15 | 华为技术有限公司 | H.264多媒体数据实时传送方法 |
CN101325701A (zh) * | 2008-07-25 | 2008-12-17 | 北京声迅电子有限公司 | 用于硬盘录像机和视频服务器的avs编码网络传输方法 |
US20100275105A1 (en) * | 2009-04-28 | 2010-10-28 | Canon Kabushiki Kaisha | Error correcting method and device |
CN103002353A (zh) * | 2011-09-16 | 2013-03-27 | 杭州海康威视数字技术股份有限公司 | 对多媒体文件进行封装的方法及装置 |
US20130212291A1 (en) * | 2010-07-20 | 2013-08-15 | Industry-University Cooperation Foundation Korea Aerospace University | Method and apparatus for streaming a service for providing scalability and view information |
-
2014
- 2014-09-15 CN CN201410468714.5A patent/CN105407351B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863314A (zh) * | 2005-10-17 | 2006-11-15 | 华为技术有限公司 | H.264多媒体数据实时传送方法 |
CN101325701A (zh) * | 2008-07-25 | 2008-12-17 | 北京声迅电子有限公司 | 用于硬盘录像机和视频服务器的avs编码网络传输方法 |
US20100275105A1 (en) * | 2009-04-28 | 2010-10-28 | Canon Kabushiki Kaisha | Error correcting method and device |
US20130212291A1 (en) * | 2010-07-20 | 2013-08-15 | Industry-University Cooperation Foundation Korea Aerospace University | Method and apparatus for streaming a service for providing scalability and view information |
CN103002353A (zh) * | 2011-09-16 | 2013-03-27 | 杭州海康威视数字技术股份有限公司 | 对多媒体文件进行封装的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411565A (zh) * | 2015-07-31 | 2017-02-15 | 想象技术有限公司 | 估计处理器负荷 |
CN106411565B (zh) * | 2015-07-31 | 2021-06-25 | 想象技术有限公司 | 估计处理器负荷的方法、发送媒体流的设备、系统和介质 |
CN107948602A (zh) * | 2017-12-05 | 2018-04-20 | 深圳市蓝泰源信息技术股份有限公司 | 一种基于bs的智能公交视频监控方法 |
CN107948602B (zh) * | 2017-12-05 | 2021-04-06 | 深圳市蓝泰源信息技术股份有限公司 | 一种基于bs的智能公交视频监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105407351B (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101505316B (zh) | 重排和复用属于互相关会话的多媒体流的包的方法和设备 | |
US7720096B2 (en) | RTP payload format for VC-1 | |
KR101122143B1 (ko) | 수신기 버퍼 아키텍처를 나타내는 버퍼 파라미터의 시그널링 | |
JP5778672B2 (ja) | バックワードルッキングロバストヘッダ圧縮レシーバ | |
CN101729898B (zh) | 视频编码、解码方法与视频编码、解码装置 | |
KR101835340B1 (ko) | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 | |
US9516331B2 (en) | Data substream de-encapsulation method for plural symmetrical substreams and corresponding computer programs | |
CN105191248A (zh) | 用于分组头部压缩的方法和装置 | |
CN103002353A (zh) | 对多媒体文件进行封装的方法及装置 | |
CN104168439B (zh) | 一种视频编码方法和装置 | |
CN110620637B (zh) | 一种基于fpga的数据解压装置及方法 | |
CN102665140A (zh) | 一种avs视频帧的rtp封装方法 | |
US9936266B2 (en) | Video encoding method and apparatus | |
EP3020188B1 (en) | Endpoint information for network vqm | |
CN102256161B (zh) | 一种osd信息的传输方法和设备 | |
CN105407351A (zh) | 一种从实时传输协议数据包中重建编码方式的方法和装置 | |
CN106303537B (zh) | 一种openh264多码流传输方法 | |
CN111083510A (zh) | 推送hevc视频的方法和装置 | |
CN115604481B (zh) | 提升编解码与传输并行的方法、装置及系统 | |
CN101296166B (zh) | 基于索引的多媒体数据的测量方法 | |
CN102724553A (zh) | 图像编码方法、图像解码方法及图像编码器和图像解码器 | |
CN102598690A (zh) | 用于视听数据流的加密方法和设备 | |
US20160269306A1 (en) | Apparatus and method for configuring mmt payload header | |
CN110691212A (zh) | 数据编解码的方法和系统 | |
CN105119893A (zh) | 基于h.264帧内编码模式的视频加密传输方法 |
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 |