一种测试用的无缝循环传输流生成方法及装置制造方法及图纸

技术编号:9740324 阅读:193 留言:0更新日期:2014-03-07 00:11
本发明专利技术涉及一种测试用的无缝循环传输流生成方法和装置。所述方法是在测试用的传输流中截取一段包括整视频序列的传输流,并在该段传输流中,将除去空包和视频包的所有PID的最后一包中打上不连续标记,并修改顺序码。对于视频包则在含PCR的最后一包中打上不连续标记,并修改顺序码和PCR值,再修改后续的不含PCR的视频包中的顺序码。本发明专利技术解决了测试用的传输流在循环播放过程中出现的画面抖动、残损、声音中断及生成的测试流不可移植等问题,并节省了大量的存储空间。

【技术实现步骤摘要】
一种测试用的无缝循环传输流生成方法及装置
本专利技术涉及传输流
,特别是涉及一种测试用的无缝循环传输流生成方法及装置。
技术介绍
在数字电视研究设计,检测,维修过程中,通常需要使用符合测试标准的传输流(TS流)。现有的测试用的传输流的处理方法是使用播放机循环播放存储的测试用传输流。但由于预先存储的传输流长度和数量有限,播放长度为1分钟的TS流需要的存储空间为38M,如果播放1个小时的测试用传输流,则需要约2G的内存空间。这种处理方法占用了大量的存储空间,成本过高。另外在循环播放过程中,测试用传输流的首位接缝处出现画面残损,抖动,声音中断等问题。专利CN200910081867.3中介绍了一种测试用传输流处理方法和装置,是一种实时处理方法,属于边播放边处理,TS流具有不可移植性,即生成的TS流不可以独立于该测试用传输流处理装置使用。因此,针对上述问题,本专利技术提出了一种测试用的无缝循环传输流生成方法及装置。
技术实现思路
本专利技术所要解决的技术问题是提供一种测试用的无缝循环传输流生成方法及装置,用于解决现有测试用传输流的处理方法占用存储空间大、成本高,且循环播放过程中首尾接缝处易出现画面残损、抖动、声音中断及生成的测试流不可移植等问题。本专利技术解决上述技术问题的技术方案如下:一种测试用的无缝循环传输流生成方法,包括:步骤1,选取测试用的传输流,并找出其中唯一视频流的包标志符PID,再找出该PID对应的视频序列的序列头及第一个图像组GOP头;步骤2,截取并保存包含该视频序列的一段传输流,且要求该段传输流的起始GOP循环和结束GOP循环的第一帧均为步骤1中对应的序列头和GOP头;步骤3,对截取的传输流,找出其除去空包和视频包以外所有的PID对应的第一个TS包的顺序码和最后一个TS包的包数,并修改最后一个TS包的顺序码为对应的第一个TS包的顺序码减1,同时在修改后的顺序码后插入不连续标记;步骤4,对截取的传输流,找出其视频包的第一包的顺序码Video_first_counter及最后一个含节目时钟基准PCR的视频包Video_Last_packet,并计算Video_Last_packet到截取的传输流结尾时所含的视频包的包总数PCR_cnt;步骤5,将Video_Last_packet的顺序码修改为Video_first_counter减去PCR_cnt的值,并以此为基准将Video_Last_packet包到传输流结尾的视频包的顺序码依次递增;步骤6,获取截取的传输流中含PCR的第一个TS包的PCR信息,再根据两个PCR之间的固定差值ΔPCR获得Video_Last_packet的PCR信息,并将Video_Last_packet的不连续标记改为1。在上述技术方案的基础上,本专利技术还可以做如下改进。进一步,所述步骤1中找出视频流的PID具体包括:选取测试用的传输流,在测试用的传输流中查找节目关联表PAT,从PAT表中,找出TS流中各视频流分别对应的节目映射表PMT的PID,并记录,再根据节目映射表PMT的PID找出对应视频流的PID,并记录。进一步,所述步骤1中找出各PID分别对应的视频序列的序列头及第一个图像组GOP头具体包括:找出传输流中各视频流的PID对应的视频序列中的序列头,搜索该视频序列中的第一个GOP头,确定含该GOP头的帧所在TS包在传输流中的位置。进一步,所述步骤2具体包括:根据步骤1确定的序列头和GOP头,确定要截取的传输流的起始GOP循环序号和结束GOP循环序号,再确保起始GOP循环和结束GOP循环的第一帧均为步骤1中对应的序列头和GOP头,截取这段传输流,并以文件的方式进行保存。进一步,所述步骤6中根据两个PCR之间的固定差值ΔPCR获得Video_Last_packet的PCR信息具体包括:根据MPEG-2传输流标准确定两个PCR之间的固定差值ΔPCR,再根据截取的传输流中含PCR的第一个TS包的PCR信息,按MPEG-2传输流标准的规定计算Video_Last_packet包中的基本值PCR_ba和扩展值PCR_ext,将PCR_ba和PCR_ext分别赋值给PCR信息所在的高33位和低9位,得到Video_Last_packet的PCR信息。本专利技术的技术方案还包括一种测试用的无缝循环传输流生成装置,其与上述无缝循环传输流生成方法的技术方案一一对应,包括:预处理模块,其用于选取测试用的传输流,并找出其中唯一视频流的包标志符PID对应的视频序列的序列头及第一个图像组GOP头;传输流截取模块,其用于截取并保存包含视频序列的一段传输流,且要求该段传输流的起始GOP循环和结束GOP循环的第一帧均为通过预处理模块得到的序列头和GOP头;第一顺序码修改模块,其用于对截取的传输流,找出其除去空包和视频包以外所有的PID对应的第一个TS包的顺序码和最后一个TS包的包数,并修改最后一个TS包的顺序码为对应的第一个TS包的顺序码减1,同时在修改后的顺序码后插入不连续标记;视频包处理模块,其用于对截取的传输流,找出其视频包的第一包的顺序码Video_first_counter及最后一个含节目时钟基准PCR的视频包Video_Last_packet,并计算Video_Last_packet到截取的传输流结尾时所含的视频包的包总数PCR_cnt;第二顺序码修改模块,其用于将Video_Last_packet的顺序码修改为Video_first_counter减去PCR_cnt的值,并以此为基准将Video_Last_packet包到传输流结尾的视频包的顺序码依次递增;PCR计算模块,其用于获取截取的传输流中含PCR的第一个TS包的PCR信息,再根据两个PCR之间的固定差值ΔPCR获得Video_Last_packet的PCR信息,并将Video_Last_packet的不连续标记改为1。进一步,所述预处理模块用于找出视频流的PID具体包括:选取测试用的传输流,在测试用的传输流中查找节目关联表PAT,从PAT表中,找出TS流中各视频流对应的节目映射表PMT的PID,并记录,再根据节目映射表PMT的PID找出各视频流的PID,并记录。进一步,所述预处理模块用于找出PID对应的视频序列的序列头及第一个图像组GOP头具体包括:找出传输流中视频流的PID对应的视频序列中的序列头,搜索该视频序列中的第一个GOP头,确定含该GOP头的帧所在TS包在传输流中的位置。进一步,所述传输流截取模块具体用于:根据所述预处理模块确定的序列头和GOP头,确定要截取的传输流的起始GOP循环序号和结束GOP循环序号,再确保起始GOP循环和结束GOP循环的第一帧均为所述预处理模块中对应的序列头和GOP头,截取这段传输流,并以文件的方式进行保存。进一步,所述PCR计算模块用于根据两个PCR之间的固定差值ΔPCR获得Video_Last_packet的PCR信息具体包括:根据MPEG-2传输流标准确定两个PCR之间的固定差值ΔPCR,再根据截取的传输流中含PCR的第一个TS包的PCR信息,按MPEG-2传输流标准的规定计算Video_Last_packet包中的基本值PCR_ba和扩展值PCR_ext,将PCR_ba和PCR_ext分别赋本文档来自技高网...
一种测试用的无缝循环传输流生成方法及装置

【技术保护点】
一种测试用的无缝循环传输流生成方法,其特征在于,包括:步骤1,选取测试用的传输流,并找出其中唯一视频流的包标志符PID,再找出PID对应的视频序列的序列头及第一个图像组GOP头;步骤2,截取并保存包含该视频序列的一段传输流,且要求该段传输流的起始GOP循环和结束GOP循环的第一帧均为步骤1中对应的序列头和GOP头;步骤3,对截取的传输流,找出其除去空包和视频包以外所有的PID对应的第一个TS包的顺序码和最后一个TS包的包数,并修改最后一个TS包的顺序码为对应的第一个TS包的顺序码减1,同时在修改后的顺序码后插入不连续标记;步骤4,对截取的传输流,找出其视频包的第一包的顺序码Video_first_counter及最后一个含节目时钟基准PCR的视频包Video_Last_packet,并计算Video_Last_packet到截取的传输流结尾时所含的视频包的包总数PCR_cnt;步骤5,将Video_Last_packet的顺序码修改为Video_first_counter减去PCR_cnt的值,并以此为基准将Video_Last_packet包到传输流结尾的视频包的顺序码依次递增;步骤6,获取截取的传输流中含PCR的第一个TS包的PCR信息,再根据两个PCR之间的固定差值ΔPCR获得Video_Last_packet的PCR信息,并将Video_Last_packet的不连续标记改为1。...

【技术特征摘要】
1.一种测试用的无缝循环传输流生成方法,其特征在于,包括:步骤1,选取测试用的传输流,并找出其中唯一视频流的包标志符PID,再找出PID对应的视频序列的序列头及第一个图像组GOP头;步骤2,截取并保存包含该视频序列的一段传输流,且要求该段传输流的起始GOP循环和结束GOP循环的第一帧均为步骤1中对应的序列头和GOP头;步骤3,对截取的传输流,找出其除去空包和视频包以外所有的PID对应的第一个TS包的顺序码和最后一个TS包的包数,并修改最后一个TS包的顺序码为对应的第一个TS包的顺序码减1,同时在最后一个TS包修改后的顺序码后插入不连续标记;步骤4,对截取的传输流,找出其视频包的第一包的顺序码Video_first_counter及最后一个含节目时钟基准PCR的视频包Video_Last_packet,并计算Video_Last_packet到截取的传输流结尾时所含的视频包的包总数PCR_cnt;步骤5,将Video_Last_packet的顺序码修改为Video_first_counter减去PCR_cnt的值,并以此为基准将Video_Last_packet包到传输流结尾的视频包的顺序码依次递增;步骤6,获取截取的传输流中含PCR的第一个TS包的PCR信息,再根据两个PCR之间的固定差值△PCR获得Video_Last_packet的PCR信息,并将最后一个含节目时钟基准PCR的视频包Video_Last_packet的不连续标记改为1。2.根据权利要求1所述的无缝循环传输流生成方法,其特征在于,所述步骤1中找出视频流的PID具体包括:选取测试用的传输流,在测试用的传输流中查找节目关联表PAT,从PAT表中,找出TS流中唯一视频流分别对应的节目映射表PMT的PID,并记录,再根据节目映射表PMT的PID找出对应视频流的PID,并记录。3.根据权利要求1或2所述的无缝循环传输流生成方法,其特征在于,所述步骤1中找出PID对应的视频序列的序列头及第一个图像组GOP头具体包括:找出传输流中视频流的PID对应的视频序列中的序列头,搜索该视频序列中的第一个GOP头,确定含该GOP头的帧所在TS包在传输流中的位置。4.根据权利要求1所述的无缝循环传输流生成方法,其特征在于,所述步骤2具体包括:根据步骤1确定的序列头和GOP头,确定要截取的传输流的起始GOP循环序号和结束GOP循环序号,再确保起始GOP循环和结束GOP循环的第一帧均为步骤1中对应的序列头和GOP头,截取这段传输流,并以文件的方式进行保存。5.根据权利要求1所述的无缝循环传输流生成方法,其特征在于,所述步骤6中根据两个PCR之间的固定差值△PCR获得Video_Last_packet的PCR信息具体包括:根据MPEG-2传输流标准确定两个PCR之间的固定差值△PCR,再根据截取的传输流中含PCR的第一个TS包的PCR信息,按MPEG-2传输流标准的规定计算Video_Last_packet包中的基本值PCR_ba和扩展值PCR_ext,将PCR_ba和PCR_ext分别赋值给PCR信息所在的高33位和低9位,得到Video_Last_packet的PCR信息。6.一种测试用的无缝循环传输流生成装置,其特征在于,包括...

【专利技术属性】
技术研发人员:王利芳赵德智徐晖
申请(专利权)人:北京牡丹视源电子有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1