一种视频倍速文件的生成方法

文档序号:9551805阅读:2291来源:国知局
一种视频倍速文件的生成方法
【技术领域】
[0001]本发明涉及多媒体技术领域,尤其涉及一种视频倍速文件的生成方法。
【背景技术】
[0002]随着多媒体技术的发展,视频媒体技术也得到广泛应用,用户对视频媒体播放功能的需求也日益增加,快进快退等技术在视频文件播放中的实现得到了越来越多的关注。
[0003]对于本地视频媒体文件的快进快退操作,一般是以只播放关键帧的方式实现,这个过程中可以对关键帧进行提取生成倍速文件,这样用户在观看视频时,可以快速准确的定位到需要观看的内容。但这种方式下生成的倍速文件只针对于生成它的服务器有播放效果,不能兼容其他的多媒体播放设备。
[0004]DVB的TR101290测试标准是码流监测的一项主要内容,可以检验被监测的码流是否符合MPEG-2和DVB标准。根据DVB最新的TR101290测试标准将DVB/MPEG-2TS流的测试错误指示分为3个等级。3个等级错误中分别包括:PAT错误、连续计数错误、PMT错误等;PCR间隔错误、PCR抖动错误、PTS错误等;数据延迟错误、缓冲器错误等。上述方法未对要提取的关键帧进行某些字段的重新设置,生成的倍速文件会出现DVB的TR101290测试标准中的多个测试错误,不符合MPEG-2和DVB标准。
[0005]中国第CN103428213A号专利公开了一种多媒体文件的生成方法。该方法是根据接收的多媒体数据,从中获取待保存的关键帧数据,并对待保存的关键帧数据进行数据信息的设置,最后保存至倍速文件中从而生成倍速文件的。此方法可以保证文件与多媒体播放设备的兼容。但是该方法是每接收一次多媒体数据保存一部分关键帧,但若一次接收的数据中包含关键帧个数较多,有可能会造成生成的倍速文件中前面一部分都是视频关键帧,后面全是为了使文件满足倍速要求而插入的空包,倍速文件中视频数据不均匀,播放效果差,不适用于直接获取了完整的TS文件后再生成倍速文件;且此方法未对插入的空包进行任何设置,生成的倍速文件有可能会出现DVB的TR101290测试标准中PAT错误、PMT错误、PCR间隔错误等。

【发明内容】

[0006]本发明的目的在于克服现有生成视频倍速文件中存在的文件易出现DVB的TR101290测试标准中的多个测试错误,与多媒体播放设备不兼容的缺陷,从而提出一种符合DVB的TR101290测试标准的文件生成方法。
[0007]为实现上述目的,本发明提供了一种视频倍速文件的生成方法,该方法包括:
[0008]步骤1),解析TS原文件,获取生成倍速文件所需要的信息;
[0009]步骤2),根据原文件中所有关键帧的大小总和与目标倍速文件的大小的比例关系,判断选取哪些关键帧作为要填入目标倍速文件中的帧;
[0010]步骤3),修改所有选取的关键帧的内容,将修改后的关键帧填入目标倍速文件;
[0011]步骤4),修改目标倍速文件中各个类型TS包包头的连续计数字段。
[0012]上述技术方案中,所述步骤2)包括:
[0013]2-1),根据解析TS原文件所获取的信息,统计所有关键帧的大小和个数,计算目标倍速和所有关键帧大小的乘积;
[0014]2-2),将上述所得到的乘积与目标倍速文件的大小进行比较;
[0015]目标倍速文件的大小为TS原文件大小与目标倍速的商。如果所得乘积小于等于目标倍速文件的大小,转到步骤2-3);否则,转到步骤2-4)。
[0016]2-3),确定所有关键帧都为要填入到目标倍速文件中的帧,转入2-7);
[0017]2-4),根据所有关键帧的大小和个数计算每个关键帧的平均大小;
[0018]2-5),确定要填入目标倍速文件中的关键帧的个数;
[0019]将目标倍速文件的大小除以关键帧的平均大小,所得值即为要填入目标倍速文件中的关键帧的个数。
[0020]2-6),从所有关键帧中均匀的选取步骤2-5)确定个数的关键帧作为要填入目标倍速文件中的帧;
[0021 ] 2-7),选择关键帧流程结束。
[0022]上述技术方案中,所述步骤3)包括:
[0023]步骤3-1),选择一个要填入目标倍速文件的关键帧;
[0024]步骤3-2),在要填入的关键帧之前填入一次PSI ;
[0025]步骤3-3),修改要填入关键帧的PTS值和DTS值;
[0026]步骤3-4),将一次PSI填入到关键帧的帧尾;
[0027]步骤3-5),计算要插入的空包数;
[0028]步骤3-6),若上述所计算的空包数小于等于0,则要填入的关键帧后面不插入空包,转入步骤3-8),否则,转到步骤3-7);
[0029]步骤3-7),在要填入的关键帧后面插入步骤3-5)所述的空包数的空包,修改空包的内容;
[0030]步骤3-8),修改要填入的关键帧中含有PCR字段的TS包的PCR值;
[0031]步骤3-9),将修改后的要填入的关键帧填入目标倍速文件;
[0032]步骤3-10),判断此关键帧是否为所有选取的关键帧的最后一帧,如果判断结果是肯定的,流程结束,否则转入步骤3-1)。
[0033]本发明的优点在于:
[0034]1、本发明修改了填入目标文件中的关键帧中PTS值、DTS值和PCR值,保证了倍速文件的可用性以及与多媒体设备的兼容性;
[0035]2、本发明对每个要填入的关键帧后插入适量空包进行了码率调整,不仅保证了倍速文件与原文件的传输码率的一致性,也使得倍速文件中视频数据较为均匀,播放时不会出现较长时间的停顿;
[0036]3、本发明对要填入的关键帧后插入的空包设置PCR,并在空包中每隔0.5s插入一次PSI,使得生成的倍速文件满足DVB的TR101290测试标准。
【附图说明】
[0037]图1是本发明实施的一种视频倍速文件生成方法的流程图;
[0038]图2是本发明实施的判断选取哪些关键帧作为要填入目标倍速文件中的帧的流程图;
[0039]图3是本发明实施将选取的关键帧填入目标倍速文件的流程图;
[0040]图4是本发明实施的修改后的关键帧的格式。
【具体实施方式】
[0041]下面结合附图,对本发明的技术方案进行进一步的详细描述。
[0042]图1是一种视频倍速文件生成方法的流程图,具体包括:
[0043]S101,对读取的TS原文件进行解析,获取生成倍速文件所需的信息;
[0044]生成倍速文件所需的信息包括PS1、所有音频包在原文件中的包偏移位置、视频关键帧的数量、视频关键帧的大小及其帧头在TS原文件中的包偏移位置;其中关键帧是指I帧,或I帧和部分P帧,视频关键帧的大小等于此关键帧所含的包数与一个TS包所含的字节数(188Byte)的乘积。
[0045]S102,根据TS原文件中所有关键帧的大小总和与目标倍速文件的大小的比例关系,判断选取哪些关键帧作为要填入目标倍速文件中的帧;
[0046]S103,修改所有选取的关键帧的内容,将修改后的关键帧填入目标倍速文件;
[0047]S104,修改目标倍速文件中各个类型TS包包头的连续计数字段。
[0048]图2是本发明实施的判断选取哪些关键帧作为要填入目标倍速文件中的帧的流程图,具体包括:
[0049]S201,根据解析TS原文件所获取的信息,统计所有关键帧的大小和个数,计算目标倍速和所有关键帧大小的乘积;
[0050]S202,将上述所得到的乘积与目标倍速文件的大小进行比较;
[0
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1