CN105306973A - 一种视频倍速文件的生成方法 - Google Patents
一种视频倍速文件的生成方法 Download PDFInfo
- Publication number
- CN105306973A CN105306973A CN201410334191.5A CN201410334191A CN105306973A CN 105306973 A CN105306973 A CN 105306973A CN 201410334191 A CN201410334191 A CN 201410334191A CN 105306973 A CN105306973 A CN 105306973A
- Authority
- CN
- China
- Prior art keywords
- key frame
- file
- speed file
- target speed
- size
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开一种视频倍速文件的生成方法;包括:对TS(数据流)原文件进行解析,获取到生成倍速文件所需的信息;根据原文件中所有关键帧的大小总和与目标倍速文件的大小的比例关系,判断选取哪些关键帧作为要填入目标倍速文件中的帧;修改所有选取的关键帧的内容,将修改后的关键帧填入目标倍速文件;修改目标倍速文件中TS包包头的连续计数字段,最终生成目标倍速文件。该方法适用于对TS文件进行倍速文件的生成,生成的倍速文件符合MPEG-2和数字视频广播(DVB)标准,保证了文件与多媒体设备的兼容性。
Description
技术领域
本发明涉及多媒体技术领域,尤其涉及一种视频倍速文件的生成方法。
背景技术
随着多媒体技术的发展,视频媒体技术也得到广泛应用,用户对视频媒体播放功能的需求也日益增加,快进快退等技术在视频文件播放中的实现得到了越来越多的关注。
对于本地视频媒体文件的快进快退操作,一般是以只播放关键帧的方式实现,这个过程中可以对关键帧进行提取生成倍速文件,这样用户在观看视频时,可以快速准确的定位到需要观看的内容。但这种方式下生成的倍速文件只针对于生成它的服务器有播放效果,不能兼容其他的多媒体播放设备。
DVB的TR101290测试标准是码流监测的一项主要内容,可以检验被监测的码流是否符合MPEG-2和DVB标准。根据DVB最新的TR101290测试标准将DVB/MPEG-2TS流的测试错误指示分为3个等级。3个等级错误中分别包括:PAT错误、连续计数错误、PMT错误等;PCR间隔错误、PCR抖动错误、PTS错误等;数据延迟错误、缓冲器错误等。上述方法未对要提取的关键帧进行某些字段的重新设置,生成的倍速文件会出现DVB的TR101290测试标准中的多个测试错误,不符合MPEG-2和DVB标准。
中国第CN103428213A号专利公开了一种多媒体文件的生成方法。该方法是根据接收的多媒体数据,从中获取待保存的关键帧数据,并对待保存的关键帧数据进行数据信息的设置,最后保存至倍速文件中从而生成倍速文件的。此方法可以保证文件与多媒体播放设备的兼容。但是该方法是每接收一次多媒体数据保存一部分关键帧,但若一次接收的数据中包含关键帧个数较多,有可能会造成生成的倍速文件中前面一部分都是视频关键帧,后面全是为了使文件满足倍速要求而插入的空包,倍速文件中视频数据不均匀,播放效果差,不适用于直接获取了完整的TS文件后再生成倍速文件;且此方法未对插入的空包进行任何设置,生成的倍速文件有可能会出现DVB的TR101290测试标准中PAT错误、PMT错误、PCR间隔错误等。
发明内容
本发明的目的在于克服现有生成视频倍速文件中存在的文件易出现DVB的TR101290测试标准中的多个测试错误,与多媒体播放设备不兼容的缺陷,从而提出一种符合DVB的TR101290测试标准的文件生成方法。
为实现上述目的,本发明提供了一种视频倍速文件的生成方法,该方法包括:
步骤1),解析TS原文件,获取生成倍速文件所需要的信息;
步骤2),根据原文件中所有关键帧的大小总和与目标倍速文件的大小的比例关系,判断选取哪些关键帧作为要填入目标倍速文件中的帧;
步骤3),修改所有选取的关键帧的内容,将修改后的关键帧填入目标倍速文件;
步骤4),修改目标倍速文件中各个类型TS包包头的连续计数字段。
上述技术方案中,所述步骤2)包括:
2-1),根据解析TS原文件所获取的信息,统计所有关键帧的大小和个数,计算目标倍速和所有关键帧大小的乘积;
2-2),将上述所得到的乘积与目标倍速文件的大小进行比较;
目标倍速文件的大小为TS原文件大小与目标倍速的商。如果所得乘积小于等于目标倍速文件的大小,转到步骤2-3);否则,转到步骤2-4)。
2-3),确定所有关键帧都为要填入到目标倍速文件中的帧,转入2-7);
2-4),根据所有关键帧的大小和个数计算每个关键帧的平均大小;
2-5),确定要填入目标倍速文件中的关键帧的个数;
将目标倍速文件的大小除以关键帧的平均大小,所得值即为要填入目标倍速文件中的关键帧的个数。
2-6),从所有关键帧中均匀的选取步骤2-5)确定个数的关键帧作为要填入目标倍速文件中的帧;
2-7),选择关键帧流程结束。
上述技术方案中,所述步骤3)包括:
步骤3-1),选择一个要填入目标倍速文件的关键帧;
步骤3-2),在要填入的关键帧之前填入一次PSI;
步骤3-3),修改要填入关键帧的PTS值和DTS值;
步骤3-4),将一次PSI填入到关键帧的帧尾;
步骤3-5),计算要插入的空包数;
步骤3-6),若上述所计算的空包数小于等于0,则要填入的关键帧后面不插入空包,转入步骤3-8),否则,转到步骤3-7);
步骤3-7),在要填入的关键帧后面插入步骤3-5)所述的空包数的空包,修改空包的内容;
步骤3-8),修改要填入的关键帧中含有PCR字段的TS包的PCR值;
步骤3-9),将修改后的要填入的关键帧填入目标倍速文件;
步骤3-10),判断此关键帧是否为所有选取的关键帧的最后一帧,如果判断结果是肯定的,流程结束,否则转入步骤3-1)。
本发明的优点在于:
1、本发明修改了填入目标文件中的关键帧中PTS值、DTS值和PCR值,保证了倍速文件的可用性以及与多媒体设备的兼容性;
2、本发明对每个要填入的关键帧后插入适量空包进行了码率调整,不仅保证了倍速文件与原文件的传输码率的一致性,也使得倍速文件中视频数据较为均匀,播放时不会出现较长时间的停顿;
3、本发明对要填入的关键帧后插入的空包设置PCR,并在空包中每隔0.5s插入一次PSI,使得生成的倍速文件满足DVB的TR101290测试标准。
附图说明
图1是本发明实施的一种视频倍速文件生成方法的流程图;
图2是本发明实施的判断选取哪些关键帧作为要填入目标倍速文件中的帧的流程图;
图3是本发明实施将选取的关键帧填入目标倍速文件的流程图;
图4是本发明实施的修改后的关键帧的格式。
具体实施方式
下面结合附图,对本发明的技术方案进行进一步的详细描述。
图1是一种视频倍速文件生成方法的流程图,具体包括:
S101,对读取的TS原文件进行解析,获取生成倍速文件所需的信息;
生成倍速文件所需的信息包括PSI、所有音频包在原文件中的包偏移位置、视频关键帧的数量、视频关键帧的大小及其帧头在TS原文件中的包偏移位置;其中关键帧是指I帧,或I帧和部分P帧,视频关键帧的大小等于此关键帧所含的包数与一个TS包所含的字节数(188Byte)的乘积。
S102,根据TS原文件中所有关键帧的大小总和与目标倍速文件的大小的比例关系,判断选取哪些关键帧作为要填入目标倍速文件中的帧;
S103,修改所有选取的关键帧的内容,将修改后的关键帧填入目标倍速文件;
S104,修改目标倍速文件中各个类型TS包包头的连续计数字段。
图2是本发明实施的判断选取哪些关键帧作为要填入目标倍速文件中的帧的流程图,具体包括:
S201,根据解析TS原文件所获取的信息,统计所有关键帧的大小和个数,计算目标倍速和所有关键帧大小的乘积;
S202,将上述所得到的乘积与目标倍速文件的大小进行比较;
目标倍速文件的大小为TS原文件大小与目标倍速的商。如果所得乘积小于等于目标倍速文件的大小,转到S203;否则,转到S204。
S203,确定所有关键帧都为要填入到目标倍速文件中的帧,转入S207;
S204,根据所有关键帧的大小和个数计算每个关键帧的平均大小;
S205,确定要填入目标倍速文件中的关键帧的个数;
将目标倍速文件的大小除以关键帧的平均大小,所得值即为要填入目标倍速文件中的关键帧的个数。
S206,从所有关键帧中均匀的选取这个个数的关键帧作为要填入目标倍速文件中的帧;
S207,选择关键帧流程结束。
图3是本发明实施的将选取的关键帧填入目标倍速文件的流程图。
S301,选择一个要填入目标倍速文件的关键帧;
S302,在要填入的关键帧之前填入一次PSI;
S303,修改要填入的关键帧的PTS值和DTS值;
如果要填入的关键帧是第一个要填入的关键帧,其PTS和DTS需要设置初值;如果是生成正向倍速文件,PTS和DTS可设置一个较小(接近于或等于0)的值;如果是生成负向倍速文件,则PTS和DTS可设置一个较大(接近于或等于PTS和DTS字段全为FF时的值)的值。
如果要填入的关键帧不是第一个要填入的关键帧,计算要填入的关键帧PTS和上一个已填入的关键帧的原有PTS值的差值,和目标倍速修改要填入关键帧的PTS值;DTS值的修改方法与PTS值的修改方法相同;
S304,将一次PSI填入到关键帧的帧尾;
S305,计算要插入的空包数;
首先计算要填入的关键帧和上一个已填入的关键帧修改后的PTS差值,根据这个差值和TS原文件的传输码率计算这两个关键帧帧头之间要传输的包数,然后将此包数减去要填入的关键帧的帧长得到要插入到已填入关键帧后面的空包数。
S306,若上述所计算的空包数小于等于0,则要填入的关键帧后面不插入空包,转入S308,否则,转到S307;
S307,在要填入的关键帧后面插入S305所述的空包数的空包,修改空包的内容;
对第一个空包设置PCR,根据TS源文件的传输码率和要设置的含PCR字段的TS包在目标倍速文件中的包序计算PCR值;填入的空包中每隔0.5s插入一次PSI、每隔40ms设置一次PCR;
S308,修改要填入的关键帧中含PCR字段的TS包的PCR值;
如果要填入的关键帧是第一个要填入的关键帧,且TS包是此关键帧中第一次出现含有PCR字段的TS包,其PCR需要设置初值;如果是生成正向倍速文件,PCR值可设置一个较小(接近于或等于0)的值;如果是生成负向倍速文件,PCR值可设置一个较大(接近于或等于包中PCR字段全为FF时的值)的值。
如果要填入的关键帧是第一个要填入的关键帧,但TS包不是此关键帧中第一次出现含有PCR字段的TS包,或者要填入的关键帧中不是第一个要填入的关键帧,根据TS原文件的传输码率和含PCR字段的TS包在目标倍速文件中的包序计算PCR值,并以此值修改此TS包中PCR字段。
S309,将修改后的要填入的关键帧填入目标倍速文件,修改后的要填入的关键帧的格式见图4;
S310,判断此关键帧是否为所有选取的关键帧的最后一帧,如果判断结果是肯定的,流程结束,否则转入步骤S301。
如果是生成正向倍速文件,将修改后的关键帧填入正向倍速文件的起始位置;如果生成负向倍速文件,则根据TS原文件大小和目标倍速,预先生成一个空文件,此空文件大小要大于等于TS原文件大小和目标倍速的商,然后将修改后的关键帧向前填入空文件的尾部;将每个选取的关键帧按照图3所示的流程填入到目标倍速文件中。
最后应说明,此处所描述的实例仅用于解释本发明,不能以此来限定本发明之权利范围。因此对于在本发明权利要求所作的等同变化,也视为本发明的保护范围。
Claims (3)
1.一种视频倍速文件的生成方法,包括:
步骤1),解析数据流原文件,获取生成倍速文件所需要的信息;
步骤2),根据原文件中所有关键帧的大小总和与目标倍速文件的大小的比例关系,判断选取哪些关键帧作为要填入目标倍速文件中的帧;
步骤3),修改所有选取的关键帧的内容,将修改后的关键帧填入目标倍速文件;
步骤4),修改目标倍速文件中数据流文件包包头的连续计数字段。
2.根据权利要求1所述的视频倍速文件的生成方法,其特征在于,所述步骤2)包括:
2-1),根据解析数据流原文件所获取的信息,统计所有关键帧的大小和个数,计算目标倍速和所有关键帧大小的乘积;
2-2),将所得到的乘积与目标倍速文件的大小进行比较;
目标倍速文件的大小为数据流原文件大小与目标倍速的商;如果所得乘积小于等于目标倍速文件的大小,转到步骤2-3);否则,转到步骤2-4);
2-3),确定所有关键帧都为要填入到目标倍速文件中的帧,转入2-7);
2-4),根据所有关键帧的大小和个数计算每个关键帧的平均大小;
2-5),确定要填入目标倍速文件中的关键帧的个数;
将目标倍速文件的大小除以关键帧的平均大小,所得值即为要填入目标倍速文件中的关键帧的个数;
2-6),从所有关键帧中均匀的选取步骤2-5)确定个数的关键帧作为要填入目标倍速文件中的帧;
2-7),选择关键帧流程结束。
3.根据权利要求1所述的视频倍速文件的生成方法,其特征在于,所述步骤3)包括:
步骤3-1),选择一个要填入目标倍速文件的关键帧;
步骤3-2),在要填入的关键帧之前填入一次节目特殊信息;
步骤3-3),修改要填入关键帧的显示时间标签值和解码时间标签值;
步骤3-4),将一次节目特殊信息填入到关键帧的帧尾;
步骤3-5),计算要插入的空包数;
步骤3-6),若上述所计算的空包数小于等于0,则要填入的关键帧后面不插入空包,转入步骤3-8),否则,转到步骤3-7);
步骤3-7),在要填入的关键帧后面插入步骤3-5)所述的空包数的空包,修改空包的内容;
步骤3-8),修改要填入的关键帧中含有节目时钟参考字段的数据流包的节目时钟参考值;
步骤3-9),将修改后的关键帧填入目标倍速文件;
步骤3-10),判断此关键帧是否为所有选取的关键帧的最后一帧,如果判断结果是肯定的,流程结束,否则转入步骤3-1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410334191.5A CN105306973B (zh) | 2014-07-14 | 2014-07-14 | 一种视频倍速文件的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410334191.5A CN105306973B (zh) | 2014-07-14 | 2014-07-14 | 一种视频倍速文件的生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105306973A true CN105306973A (zh) | 2016-02-03 |
CN105306973B CN105306973B (zh) | 2018-08-17 |
Family
ID=55203647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410334191.5A Expired - Fee Related CN105306973B (zh) | 2014-07-14 | 2014-07-14 | 一种视频倍速文件的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105306973B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030152363A1 (en) * | 2002-02-14 | 2003-08-14 | Koninklijke Philips Electronics N.V. | Visual summary for scanning forwards and backwards in video content |
CN101257615A (zh) * | 2007-10-25 | 2008-09-03 | 复旦大学 | 基于视频分割技术的流媒体分发和用户vcr操作方法 |
CN101409831A (zh) * | 2008-07-10 | 2009-04-15 | 浙江师范大学 | 一种多媒体视频对象处理方法 |
CN101478681A (zh) * | 2008-12-31 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种快进退视频文件的生成方法、系统及多媒体设备 |
CN101478680A (zh) * | 2008-12-31 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种快进退视频文件的生成方法、系统及多媒体设备 |
CN101521782A (zh) * | 2008-12-30 | 2009-09-02 | 深圳市同洲电子股份有限公司 | 一种快进退浏览视频的方法、系统及多媒体设备 |
US20090252228A1 (en) * | 2005-08-26 | 2009-10-08 | Boyce Jill Macdonald | Trick Play Using Temporal Layering |
CN101635847A (zh) * | 2009-09-02 | 2010-01-27 | 中兴通讯股份有限公司 | 一种流媒体的传输方法、视频播放装置及终端 |
US20100223648A1 (en) * | 2007-06-07 | 2010-09-02 | Hongliang Tian | Implementation Method And System For A Media-On-Demand Frame-Spanning Playing Mode In A Peer-To-Peer Network |
CN101980533A (zh) * | 2010-11-12 | 2011-02-23 | 中国华录集团有限公司 | 一种基于索引文件实现传输流文件特技模式功能的方法 |
CN102467940A (zh) * | 2010-11-08 | 2012-05-23 | 安凯(广州)微电子技术有限公司 | 一种无索引视频文件快进快退方法、装置以及播放系统 |
CN103152607A (zh) * | 2013-01-10 | 2013-06-12 | 上海思华科技股份有限公司 | 视频超快速粗编方法 |
CN103428213A (zh) * | 2013-08-08 | 2013-12-04 | 深圳市同洲电子股份有限公司 | 一种多媒体文件生成的方法及多媒体设备 |
CN103686411A (zh) * | 2013-12-11 | 2014-03-26 | 深圳Tcl新技术有限公司 | 视频的播放方法及多媒体设备 |
-
2014
- 2014-07-14 CN CN201410334191.5A patent/CN105306973B/zh not_active Expired - Fee Related
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030152363A1 (en) * | 2002-02-14 | 2003-08-14 | Koninklijke Philips Electronics N.V. | Visual summary for scanning forwards and backwards in video content |
US20090252228A1 (en) * | 2005-08-26 | 2009-10-08 | Boyce Jill Macdonald | Trick Play Using Temporal Layering |
US20100223648A1 (en) * | 2007-06-07 | 2010-09-02 | Hongliang Tian | Implementation Method And System For A Media-On-Demand Frame-Spanning Playing Mode In A Peer-To-Peer Network |
CN101257615A (zh) * | 2007-10-25 | 2008-09-03 | 复旦大学 | 基于视频分割技术的流媒体分发和用户vcr操作方法 |
CN101409831A (zh) * | 2008-07-10 | 2009-04-15 | 浙江师范大学 | 一种多媒体视频对象处理方法 |
CN101521782A (zh) * | 2008-12-30 | 2009-09-02 | 深圳市同洲电子股份有限公司 | 一种快进退浏览视频的方法、系统及多媒体设备 |
CN101478681A (zh) * | 2008-12-31 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种快进退视频文件的生成方法、系统及多媒体设备 |
CN101478680A (zh) * | 2008-12-31 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种快进退视频文件的生成方法、系统及多媒体设备 |
CN101635847A (zh) * | 2009-09-02 | 2010-01-27 | 中兴通讯股份有限公司 | 一种流媒体的传输方法、视频播放装置及终端 |
CN102467940A (zh) * | 2010-11-08 | 2012-05-23 | 安凯(广州)微电子技术有限公司 | 一种无索引视频文件快进快退方法、装置以及播放系统 |
CN101980533A (zh) * | 2010-11-12 | 2011-02-23 | 中国华录集团有限公司 | 一种基于索引文件实现传输流文件特技模式功能的方法 |
CN103152607A (zh) * | 2013-01-10 | 2013-06-12 | 上海思华科技股份有限公司 | 视频超快速粗编方法 |
CN103428213A (zh) * | 2013-08-08 | 2013-12-04 | 深圳市同洲电子股份有限公司 | 一种多媒体文件生成的方法及多媒体设备 |
CN103686411A (zh) * | 2013-12-11 | 2014-03-26 | 深圳Tcl新技术有限公司 | 视频的播放方法及多媒体设备 |
Non-Patent Citations (1)
Title |
---|
史苇杭,林楠: "TS流文件的快进快退方法研究", 《商丘师范学院学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN105306973B (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105611320B (zh) | 收发媒体文件的方法以及使用该方法发送/接收的装置 | |
EP1329108B1 (en) | System and method of processing mpeg streams for file index insertion | |
KR101828639B1 (ko) | 멀티미디어 흐름을 동기화시키기 위한 방법 및 대응하는 장치 | |
CN105191325A (zh) | 数据发送方法、数据再现方法、数据发送装置及数据再现装置 | |
US20130083859A1 (en) | Method to match input and output timestamps in a video encoder and advertisement inserter | |
US20120272281A1 (en) | Method and apparatus for transmitting media data, and method and apparatus for receving media data | |
US20070211718A1 (en) | Method of and apparatus for converting data stream format and method of and apparatus for recording data stream using the method and apparatus | |
CN102474588B (zh) | 发送控制装置、接收控制装置、发送控制方法、接收控制方法 | |
US20050060420A1 (en) | System for decoding multimedia data and method thereof | |
JP2010538536A (ja) | メタデータをデジタルプログラムストリームにエンコードするための方法及び装置 | |
US10446188B2 (en) | Method and apparatus for low latency non-linear media editing using file-based inserts into finalized digital multimedia files | |
CN103491430A (zh) | 流媒体数据处理方法和电子设备 | |
EP3261339B1 (en) | Information processing device, information recording medium and information processing method, and program | |
US9654823B2 (en) | File generating method and file generating apparatus | |
KR102344751B1 (ko) | 정보 처리 장치, 정보 기록 매체 및 정보 처리 방법, 그리고 프로그램 | |
CN102780929A (zh) | 一种通过处理时码跳变以使视音频同步的方法 | |
JP6957186B2 (ja) | 情報処理装置、情報処理方法、プログラム、および記録媒体製造方法 | |
CN103152607B (zh) | 视频超快速粗编方法 | |
US10535369B2 (en) | Information processing device, information generation device, information recording medium, information processing method, and program | |
CN105306973A (zh) | 一种视频倍速文件的生成方法 | |
CN103875252A (zh) | 内容显示方法、内容同步方法、广播内容显示方法及显示装置 | |
CN103297843B (zh) | 一种用于mpeg ts文件回放的节目选择方法 | |
CN102857812B (zh) | 一种支持ts流媒体文件的容错方法及系统 | |
CN102231803B (zh) | 一种支持ts流媒体文件的容错方法 | |
US20090323719A1 (en) | Methods and apparatus for transforming first transport stream of first format into second transport stream of second format by emulating arrival time stamp information |
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 | ||
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: 20180817 |