CN105025357A - 一种视频倒放的方法 - Google Patents

一种视频倒放的方法 Download PDF

Info

Publication number
CN105025357A
CN105025357A CN201510303283.1A CN201510303283A CN105025357A CN 105025357 A CN105025357 A CN 105025357A CN 201510303283 A CN201510303283 A CN 201510303283A CN 105025357 A CN105025357 A CN 105025357A
Authority
CN
China
Prior art keywords
frame
video
upside down
put upside
buffering area
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
CN201510303283.1A
Other languages
English (en)
Other versions
CN105025357B (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.)
Beijing Sinonet Science and Technology Co Ltd
Original Assignee
Beijing Sinonet Science and Technology Co Ltd
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 Beijing Sinonet Science and Technology Co Ltd filed Critical Beijing Sinonet Science and Technology Co Ltd
Priority to CN201510303283.1A priority Critical patent/CN105025357B/zh
Publication of CN105025357A publication Critical patent/CN105025357A/zh
Application granted granted Critical
Publication of CN105025357B publication Critical patent/CN105025357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及一种视频倒放的方法,本方法为通过对原视频文件进行预处理,生成新视频文件,对新视频文件正向解码,顺序播放即可实现视频倒放,在倒放过程中,对I帧只解码不播放。本发明通过对原始视频文件预处理生成了新的视频文件,而使用新的视频文件在视频倒放的过程中,节省了视频倒放时寻找I帧和缓冲区读写的时间,显著提升了解码速度,保证了视频倒放过程的流畅性,从而解决视频倒放时卡顿和花屏问题。

Description

一种视频倒放的方法
技术领域
本发明涉及计算机领域,尤其是一种视频倒放的方法。
背景技术
目前,广泛使用的视频文件主要有I帧、P帧几种帧类型。其中I帧称为帧内编码帧,是一种自带全部信息的独立帧,视频序列中的第一个帧始终都是I帧,其无需参考其它图像便可独立进行解码。如果所传输的比特流遭到破坏,则需要将I帧用作新的起始点或重新同步点;P帧也称为帧间预测编码帧,P帧不能够独立解码,必须参考前面的I帧或P帧才能进行编码。与I帧相比,P帧通常占用更少的数据位,但由于P帧对前面的P帧和I帧有着复杂的依赖性,因此对传输错误非常敏感。
视频播放时必须先解码I帧,再解码依赖该I帧的P帧,方可正确解码,清晰播放,否则会出现花屏或者无法播放。
在视频倒放时,由于P帧无法单独解码播放,必须依赖I帧解码,而在原始视频文件的倒播过程中,I帧始终处于依赖I帧的P帧之后,因此需要为P帧寻找I帧,在找到P帧所依赖的I帧之后,才可以进行视频的解码播放。目前视频倒放方法一般为单帧播放方式,播放时,设置数据存放缓冲区和数据解码缓冲区,倒着读文件,遇到P帧先放入数据存放缓冲区,直至遇到I帧并将I帧存入数据存放缓冲区,然后,解码数据存放缓冲区中依赖此I帧的所有P帧保存至数据解码缓冲区,完成后,从数据解码缓冲区中取出解码好的数据来播放。这种方法在寻找I帧和缓冲区数据读写过程中耗费了大量时间,导致解码速度慢,因此在实时倒放时会产生卡顿或花屏现象,无法保证流畅的倒放,而为解决视频倒放时卡顿和花屏问题,重点是提升倒放视频的解码速度。
发明内容
为此,本发明提供了一种视频倒放的方法,本方法通过对原始视频文件进行预处理,节省了视频倒放时的寻找I帧和缓冲区读写的时间,显著提升了解码速度,保证了视频倒放过程的流畅性。
本发明解决上述技术问题的技术方案如下:
一种视频倒放的方法,包括以下步骤:
S1、对原视频文件进行预处理,生成适用于视频倒放的新视频文件;
所述预处理包括将原视频文件中的所有I帧逆序存储,并将I帧存储于依赖所述I帧的P帧之前;
S2、对所述新视频文件正向播放。
优选的,S1中预处理方法包括以下步骤:
S11、逆向读取原视频文件,若读取结果为P帧,则将所述P帧加入缓冲区,若读取结果为I帧,则将所述I帧写入新视频文件,进行步骤S12;
S12、判断所述缓冲区是否为空,若非空,则进行S13,若为空,则进行S14;
S13、将缓冲区内容按写入所述缓冲区的先后顺序,依次写入所述新视频文件,清空队列缓冲区;
S14、判断是否已经读取到原视频文件尾部,若是,则保存新视频文件,预处理结束;若否,继续进行S11。
优选的,所述缓冲区为队列缓冲区。
优选的,在S13中从队列缓冲区头部取出缓冲区中数据,并将所述数据写入新视频文件。
优选的,S2中所述正向播放方法为:
正向读取新视频文件,根据P帧所依赖的I帧依次对所述P帧解码并播放。
优选的,所述正向播放方法中,遇到I帧只解码不播放。
优选的,所述I帧是一种自带全部信息的独立帧,无需参考其它数据便可独立进行编解码;所述P帧需要依赖与所述P帧相关的I帧进行编解码。
本发明的有益效果是:
本发明通过对原始视频文件预处理生成了新的视频文件,而使用新的视频文件在视频倒放的过程中,节省了视频倒放时的寻找I帧和缓冲区读写的时间,显著提升了解码速度,保证了视频倒放过程的流畅性,从而解决视频倒放时卡顿和花屏问题。
附图说明
图1为传统的视频文件存储方式;
图2为本发明预处理后的视频文件的存储方式;
图3为本发明预处理的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
在一个实施例中,一种视频倒放的方法,包括以下步骤:
S1、对原视频文件进行预处理,生成适用于视频倒放的新视频文件;所述预处理包括将原视频文件中的所有I帧逆序存储,并将I帧存储于依赖所述I帧的P帧之前;
S2、对所述新视频文件正向播放。
原视频文件如图1,其中,I代表关键帧I帧,P代表P帧,原视频文件按如下结构存储:
I1-P101-P102-P103……P124-I2-P201-P202-P203……P224……,
以I1-P101-P102-P103……P124这段数据为例,原视频文件先保存I1帧,然后是依赖I1帧解码的P101-P124等P帧,但是,在倒放时,应该先播放P124,再播放P123...最后播放I1帧,而P124、P123...P101等P帧必须在I1帧解码后才能正确解码。因此,普通倒放方法为:在倒放时需要设置数据存放缓冲区和数据解码缓冲区,倒着读文件,遇到P124、P123...P101先放入数据存放缓冲区,直至遇到I1帧并将I1帧存入数据存放缓冲区,然后,依次解码数据存放缓冲区中的P124、P123...P101并将解码结果保存至数据解码缓冲区,完成后,从数据解码缓冲区中取出解码好的数据来播放,而这种寻找I1帧和缓冲区读写的过程都需要耗费大量时间。
为实现流畅倒放,本方法S1对视频文件进行预处理生成了新视频文件,对应于图1的原视频文件的所述新视频文件结构如图2所示为:
……I2-P224-P223-P222……P201-I1-P124-P123-P122……P101,新视频文件的数据存储顺序与视频倒放时对数据的解码顺序相一致。在所述新视频文件中的所有I帧的存储顺序与原视频文件中的I帧存储顺序相反,依赖于所述I帧的P帧存储于所述I帧与所述I帧存储位置的下一个I帧之间,依赖于所述I帧的所有P帧的存储顺序与原视频中相应的P帧存储顺序相反。
预处理过程如图3所示,包括:
S11、逆向读取原视频文件,若读取结果为P帧,则将所述P帧加入队列缓冲区尾部,若读取结果为I帧,则将所述I帧写入新视频文件,进行步骤S12;
S12、判断所述队列缓冲区是否为空,若非空,则进行S13,若为空,则进行S14;
S13、将队列缓冲区头部内容依次取出并写入所述新视频文件,清空队列缓冲区;
S14、判断是否已经读取到原视频文件尾部,若是,则保存新视频文件,预处理结束;若否,继续进行S11。
S2中所述正向播放方法为:
正向读取新视频文件,根据P帧所依赖的I帧依次对所述P帧解码并播放。
优选的,所述正向播放方法中,遇到I帧只解码不播放。
优选的,所述I帧是一种自带全部信息的独立帧,无需参考其它数据便可独立进行编解码;所述P帧需要依赖与所述P帧相关的I帧进行编解码。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (7)

1.一种视频倒放的方法,其特征在于,包括以下步骤:
S1、对原视频文件进行预处理,生成适用于视频倒放的新视频文件;
所述预处理包括将原视频文件中的所有I帧逆序存储,并将I帧存储于依赖所述I帧的P帧之前;
S2、对所述新视频文件正向播放。
2.根据权利要求1所述的一种视频倒放的方法,其特征在于,S1中预处理方法包括以下步骤:
S11、逆向读取原视频文件,若读取结果为P帧,则将所述P帧加入缓冲区,若读取结果为I帧,则将所述I帧写入新视频文件,进行步骤S12;
S12、判断所述缓冲区是否为空,若非空,则进行S13,若为空,则进行S14;
S13、将缓冲区内容按写入所述缓冲区的先后顺序,依次写入所述新视频文件,清空队列缓冲区;
S14、判断是否已经读取到原视频文件尾部,若是,则保存新视频文件,预处理结束;若否,继续进行S11。
3.根据权利要求2所述的一种视频倒放的方法,其特征在于,所述缓冲区为队列缓冲区。
4.根据权利要求3所述的一种视频倒放的方法,其特征在于,在S13中从队列缓冲区头部取出缓冲区中数据,并将所述数据写入新视频文件。
5.根据权利要求1-4中任意一项所述的一种视频倒放的方法,其特征在于,S2中所述正向播放方法为:
正向读取新视频文件,根据P帧所依赖的I帧依次对所述P帧解码并播放。
6.根据权利要求5所述的一种视频倒放的方法,其特征在于,所述正向播放方法中,遇到I帧只解码不播放。
7.根据权利要求6所述的一种视频倒放的方法,其特征在于,所述I帧是一种自带全部信息的独立帧,无需参考其它数据便可独立进行编解码;所述P帧需要依赖与所述P帧相关的I帧进行编解码。
CN201510303283.1A 2015-06-05 2015-06-05 一种视频倒放的方法 Active CN105025357B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510303283.1A CN105025357B (zh) 2015-06-05 2015-06-05 一种视频倒放的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510303283.1A CN105025357B (zh) 2015-06-05 2015-06-05 一种视频倒放的方法

Publications (2)

Publication Number Publication Date
CN105025357A true CN105025357A (zh) 2015-11-04
CN105025357B CN105025357B (zh) 2018-06-08

Family

ID=54415003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510303283.1A Active CN105025357B (zh) 2015-06-05 2015-06-05 一种视频倒放的方法

Country Status (1)

Country Link
CN (1) CN105025357B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105898626A (zh) * 2015-12-11 2016-08-24 乐视网信息技术(北京)股份有限公司 用于生成倒播视频的方法、装置及播放设备
CN106331718A (zh) * 2016-08-31 2017-01-11 浙江大华技术股份有限公司 一种视频倒放方法及装置
CN106507204A (zh) * 2016-12-07 2017-03-15 腾讯科技(上海)有限公司 一种视频倒放方法和装置
CN108184161A (zh) * 2017-12-26 2018-06-19 努比亚技术有限公司 一种视频播放方法、移动终端及计算机可读存储介质
CN110351553A (zh) * 2018-04-08 2019-10-18 腾讯科技(深圳)有限公司 视频倒播、视频倒播数据处理方法、装置和计算机设备
CN111447486A (zh) * 2020-04-07 2020-07-24 上海熙菱信息技术有限公司 一种历史码流正向推送的倒放方法
CN112019856A (zh) * 2020-08-27 2020-12-01 上海七牛信息技术有限公司 一种用于智能手机的视频倒转方法及***
CN112911389A (zh) * 2021-01-18 2021-06-04 浙江大华技术股份有限公司 一种视频播放切换方法、电子设备和计算机存储介质
CN113973225A (zh) * 2020-07-22 2022-01-25 阿里巴巴集团控股有限公司 视频倒播方法和装置,计算机存储介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000021294A1 (en) * 1998-10-05 2000-04-13 Panasonic Technologies, Inc. Algorithm for fast forward and fast rewind of mpeg streams
CN102332284A (zh) * 2011-08-29 2012-01-25 上海文广科技(集团)有限公司 适用于数字媒体播出的多媒体数据处理方法及其处理***
CN103974014A (zh) * 2014-05-06 2014-08-06 浙江宇视科技有限公司 一种视频倒退回放方法及装置
CN104185982A (zh) * 2012-02-29 2014-12-03 远升科技股份有限公司 视频处理方法和实施所述方法的视频设备
CN104602117A (zh) * 2015-01-31 2015-05-06 华为技术有限公司 一种倍速播放视频的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000021294A1 (en) * 1998-10-05 2000-04-13 Panasonic Technologies, Inc. Algorithm for fast forward and fast rewind of mpeg streams
CN102332284A (zh) * 2011-08-29 2012-01-25 上海文广科技(集团)有限公司 适用于数字媒体播出的多媒体数据处理方法及其处理***
CN104185982A (zh) * 2012-02-29 2014-12-03 远升科技股份有限公司 视频处理方法和实施所述方法的视频设备
CN103974014A (zh) * 2014-05-06 2014-08-06 浙江宇视科技有限公司 一种视频倒退回放方法及装置
CN104602117A (zh) * 2015-01-31 2015-05-06 华为技术有限公司 一种倍速播放视频的方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105898626A (zh) * 2015-12-11 2016-08-24 乐视网信息技术(北京)股份有限公司 用于生成倒播视频的方法、装置及播放设备
CN106331718A (zh) * 2016-08-31 2017-01-11 浙江大华技术股份有限公司 一种视频倒放方法及装置
CN106507204A (zh) * 2016-12-07 2017-03-15 腾讯科技(上海)有限公司 一种视频倒放方法和装置
CN106507204B (zh) * 2016-12-07 2020-03-17 腾讯科技(上海)有限公司 一种视频倒放方法和装置
CN108184161A (zh) * 2017-12-26 2018-06-19 努比亚技术有限公司 一种视频播放方法、移动终端及计算机可读存储介质
CN110351553A (zh) * 2018-04-08 2019-10-18 腾讯科技(深圳)有限公司 视频倒播、视频倒播数据处理方法、装置和计算机设备
CN110351553B (zh) * 2018-04-08 2023-09-22 腾讯科技(深圳)有限公司 视频倒播、视频倒播数据处理方法、装置和计算机设备
CN111447486A (zh) * 2020-04-07 2020-07-24 上海熙菱信息技术有限公司 一种历史码流正向推送的倒放方法
CN113973225A (zh) * 2020-07-22 2022-01-25 阿里巴巴集团控股有限公司 视频倒播方法和装置,计算机存储介质和电子设备
CN112019856A (zh) * 2020-08-27 2020-12-01 上海七牛信息技术有限公司 一种用于智能手机的视频倒转方法及***
CN112911389A (zh) * 2021-01-18 2021-06-04 浙江大华技术股份有限公司 一种视频播放切换方法、电子设备和计算机存储介质

Also Published As

Publication number Publication date
CN105025357B (zh) 2018-06-08

Similar Documents

Publication Publication Date Title
CN105025357A (zh) 一种视频倒放的方法
US11706483B2 (en) Video playing method and apparatus, and electronic device
US8670072B1 (en) Method and apparatus for streaming media data processing, and streaming media playback equipment
CN110366033B (zh) 一种视频播放方法、装置、设备及存储介质
US11217279B2 (en) Method and device for adjusting video playback speed
US8879895B1 (en) System and method for processing ancillary data associated with a video stream
WO2020215453A1 (zh) 一种视频录制方法及***
US9531983B2 (en) Decoding interdependent frames of a video for display
CN110418186A (zh) 音视频播放方法、装置、计算机设备和存储介质
CN102831111A (zh) 一种图片显示方法和装置
CN108566552B (zh) 适用于数字机顶盒的多媒体播放方法及***
CN102098423B (zh) 一种无缝文件采集方法及***
CN103873804B (zh) 用于嵌入式nvr的录像回放时间轴与内容同步控制方法
CN103716573A (zh) 一种视频回放的方法和设备
US20100189130A1 (en) Data processing apparatus and method and encoding device
CN112804579B (zh) 视频播放方法、装置、计算机设备和可读存储介质
CN103488433B (zh) 一种基于分布式文件***的批量文件操作方法及***
CN102186116A (zh) 机顶盒保证节目连续播放的方法及其机顶盒
CN101296346B (zh) 图像数据记录/回放设备、***和方法
CN110636368B (zh) 媒体播放方法、***、装置及存储介质
CN102157175B (zh) 一种音视频数据的数字化转储方法及***
CN107169480B (zh) 一种实时视频流的分布式文字识别***
CN106060656B (zh) 基于DirectShow生成BHD文件的方法及***
US8442126B1 (en) Synchronizing audio and video content through buffer wrappers
CN112511475B (zh) 一种报文同步精度补偿方法及***

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