CN111083497B - 一种视频截图方法及装置 - Google Patents
一种视频截图方法及装置 Download PDFInfo
- Publication number
- CN111083497B CN111083497B CN201911421128.4A CN201911421128A CN111083497B CN 111083497 B CN111083497 B CN 111083497B CN 201911421128 A CN201911421128 A CN 201911421128A CN 111083497 B CN111083497 B CN 111083497B
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- target
- video frame
- inter
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47205—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8549—Creating video summaries, e.g. movie trailer
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
一种视频截图方法及装置,属于数据处理领域,所述方法包括:在目标视频的播放过程中,当检测到视频截图操作时,确定所述视频截图操作指示的目标视频帧;如果所述目标视频帧不是关键帧,则按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧;根据所述目标关键帧的视频画面数据、所述帧间预测编码帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。采用本申请提供的技术方案,可以提高生成视频截图的处理速度。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种视频截图方法及装置。
背景技术
在视频编码过程中,可以将视频的各视频帧划分为多个视频帧组,每个视频帧组包含1个I帧(intra picture,关键帧)、多个p帧(predict frame,帧间预测编码帧)和多个b帧(bilateral frame,双向预测编码帧)。针对I帧,可以直接存储视频画面数据,针对p帧和b帧,可以存储表示该视频帧与相邻p帧之间差异的帧间数据。
在播放视频的过程中,如果电子设备检测到用户执行的视频截图操作,并且,视频截图操作指示的目标视频帧不是I帧,则电子设备可以根据目标视频帧的目标播放时间戳,在当前播放视频中确定播放时间在目标视频帧之前、且播放时间与目标视频帧最为接近的关键帧,再确定在关键帧与目标视频帧之间播放的所有视频帧。然后,电子设备可以按照确定出的视频帧的播放顺序,依次针对每个视频帧,叠加该视频帧的帧间数据和相邻p 帧的视频画面数据,得到该视频帧的视频画面数据,直至确定出目标视频帧的视频画面数据。之后,电子设备可以基于目标视频帧的视频画面数据生成视频截图。
然而,当目标视频帧与关键帧的播放时间相差大时,即,当目标视频帧与关键帧之间播放的视频帧的数目多时,电子设备需要依次确定各视频帧的视频画面数据,导致电子设备生成视频截图的处理速度慢。
发明内容
为了解决上述视频截图的处理速度慢的技术问题,本申请提供了一种视频截图方法及装置。
第一方面,提供了一种视频截图方法,所述方法包括:
在目标视频的播放过程中,当检测到视频截图操作时,确定所述视频截图操作指示的目标视频帧;
如果所述目标视频帧不是关键帧,则按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧;
根据所述目标关键帧的视频画面数据、所述帧间预测编码帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述根据所述目标关键帧的视频画面数据、所述帧间预测编码帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图,包括:
将所述目标关键帧作为第一视频帧,在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧;
叠加所述第一视频帧的视频画面数据和所述第二视频帧的帧间数据,得到所述第二视频帧的视频画面数据;
如果确定出的帧间预测编码帧中包含在所述第二视频帧之后的帧间预测编码帧,则将所述第二视频帧作为第一视频帧,执行所述在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧步骤;
如果确定出的帧间预测编码帧中不包含在所述第二视频帧之后的帧间预测编码帧,则根据所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述根据所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图,包括:
如果所述目标视频帧为帧间预测编码帧,则通过叠加所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图;
如果所述目标视频帧为双向预测编码帧,则确定在所述第二视频帧之后、且与所述第二视频帧最接近的第三视频帧,所述第三视频帧为帧间预测编码帧;
根据所述第二视频帧的视频画面数据、所述第三视频帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,包括:
在预先存储的视频帧播放序列中,确定排列在所述目标视频帧之前、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
将排列在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
可选的,所述按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,包括:
获取所述目标视频帧的目标播放时间戳;
根据预先存储的播放时间戳与视频帧的对应关系和所述目标播放时间戳,确定在所述目标视频帧之前播放、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
将播放时间戳在所述目标播放时间戳与所述目标关键帧的播放时间戳之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
可选的,所述方法还包括:
如果所述目标视频帧是关键帧,则将该关键帧的视频画面数据,作为所述目标视频帧的视频画面数据,得到视频截图。
第二方面,提供了一种视频截图装置,所述装置包括:
第一确定模块,用于在目标视频的播放过程中,当检测到视频截图操作时,确定所述视频截图操作指示的目标视频帧;
第二确定模块,用于当所述目标视频帧不是关键帧时,按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧;
第三确定模块,用于根据所述目标关键帧的视频画面数据、所述帧间预测编码帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述第三确定模块包括:
第一确定子模块,用于将所述目标关键帧作为第一视频帧,在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧;
叠加子模块,用于叠加所述第一视频帧的视频画面数据和所述第二视频帧的帧间数据,得到所述第二视频帧的视频画面数据;
第二确定子模块,用于当确定出的帧间预测编码帧中包含在所述第二视频帧之后的帧间预测编码帧时,将所述第二视频帧作为第一视频帧,并触发所述第一确定子模块执行所述在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧步骤;
第三确定子模块,用于当在确定出的帧间预测编码帧中不包含在所述第二视频帧之后的帧间预测编码帧时,根据所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述第二确定子模块具体用于当所述目标视频帧为帧间预测编码帧时,叠加所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,得到所述目标视频帧的视频画面数据,得到视频截图;当所述目标视频帧为双向预测编码帧时,确定在所述第二视频帧之后、且与所述第二视频帧最接近的第三视频帧,所述第三视频帧为帧间预测编码帧;根据所述第二视频帧的视频画面数据、所述第三视频帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述第二确定模块包括:
第四确定子模块,用于在预先存储的视频帧播放序列中,确定排列在所述目标视频帧之前、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
第五确定子模块,用于将排列在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
可选的,所述第二确定模块包括:
获取子模块,用于获取所述目标视频帧的目标播放时间戳;
第六确定子模块,用于根据预先存储的播放时间戳与视频帧的对应关系和所述目标播放时间戳,确定在所述目标视频帧之前播放、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
第七确定子模块,用于将播放时间戳在所述目标播放时间戳与所述目标关键帧的播放时间戳之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
可选的,所述装置还包括:
第四确定模块,用于当所述目标视频帧是关键帧时,将该关键帧的视频画面数据,作为所述目标视频帧的视频画面数据,得到视频截图。
第三方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现任一第一方面所述的方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如任一第一方面所述的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行任一第一方面所述的方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该方法,可以在目标视频的播放过程中,当检测到视频截图操作时,确定视频截图操作指示的目标视频帧;如果目标视频帧不是关键帧,确定在目标视频帧之前、且与目标视频帧最接近的目标关键帧,以及在目标关键帧与目标视频帧之间的帧间预测编码帧;根据目标关键帧的视频画面数据和帧间预测编码帧的帧间数据,确定目标视频帧的视频画面数据,得到视频截图。由于仅需确定目标关键帧与目标视频帧之间的帧间预测编码帧,再根据目标关键帧的视频画面数据和帧间预测编码帧的帧间数据,即可确定目标视频帧的视频画面数据,因此,能够减少需要确定视频画面数据的视频帧的数目,从而能够提高生成视频截图的处理速度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本申请实施例提供的一种视频截图方法的流程图;
图2a为本申请实施例提供的一种视频帧播放序列的示意图;
图2b为本申请实施例提供的另一种视频帧播放序列的示意图;
图3为本申请实施例提供的另一种视频截图方法的流程图;
图4为本申请实施例提供的一种视频截图装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供了一种视频截图方法,可以应用于电子设备,电子设备可以具有数据处理功能,例如,电子设备可以是手机、平板电脑、笔记本电脑等。
为了便于描述和理解,将关键帧简写为I帧,将帧间预测编码帧简写为 P帧,将双向预测编码帧简写为B帧。
下面将结合具体实施方式,对本申请实施例提供的一种视频截图方法进行详细的说明,如图1所示,具体步骤如下:
步骤101,在目标视频的播放过程中,当检测到视频截图操作时,确定视频截图操作指示的目标视频帧。
在实施中,在电子设备播放目标视频的过程中,如果用户想要进行视频截图,用户可以执行视频截图操作,视频截图操作可以是点击视频显示界面中的预设视频截图图标,视频截图操作也可以是在预设输入框中输入想要截图的视频帧的播放时间戳。
当电子设备检测到视频截图操作时,电子设备可以确定视频截图操作指示的视频帧,作为视频截图的目标视频帧。
本申请实施例中,电子设备可以通过多种方式确定视频截图操作指示的目标视频帧,在一种可行的实现方式中,电子设备可以记录检测到视频截图操作的操作时间戳,然后,电子设备可以将播放时间戳与操作时间戳相同的视频帧作为目标视频帧。在另一种可行的实现方式中,视频截图操作可以携带有视频截图的播放时间戳,电子设备可以获取视频截图操作携带的播放时间戳,然后,电子设备可以将播放时间戳对应的视频帧作为目标视频帧。
在确定视频截图操作指示的目标视频帧之后,电子设备可以判断目标视频帧是否为I帧。
可选的,如果目标视频帧是I帧,则电子设备可以读取目标视频帧的视频画面数据,将该I帧的视频画面数据,作为目标视频帧的视频画面数据,然后,电子设备可以基于视频画面数据生成视频截图。
步骤102,如果目标视频帧不是I帧,则按照目标视频包含的视频帧的播放顺序,确定在目标视频帧之前、且与目标视频帧最接近的目标I帧,以及在目标I帧与目标视频帧之间的P帧。
在实施中,如果目标视频帧不是I帧,则电子设备可以按照目标视频包含的视频帧的播放顺序,确定在目标视频帧之前、且与目标视频帧最接近的I帧,得到目标I帧。然后,电子设备可以按照播放顺序,确定在目标I 帧与目标视频帧之间的P帧。为了便于描述,可以将在目标I帧与目标视频帧之间的P帧,称为目标P帧。
本申请实施例中,电子设备按照播放顺序确定目标I帧和目标P帧的方式可以是多种多样的。在一种可行的实现方式中,由于在视频编码过程中,将视频的各视频帧划分为多个视频帧组,因此,电子设备可以确定目标视频帧所属视频帧组包含的I帧,得到在目标视频帧之前、且与目标视频帧最接近的目标I帧。然后,电子设备可以按照视频帧组中各视频帧的播放顺序,确定在目标I帧与目标视频帧之间的P帧,得到目标P帧。
在另一种可行的实现方式中,电子设备还可以基于各视频帧的播放时间戳,确定目标I帧和目标P帧,具体处理过程后续会进行详细说明。
在另一种可行的实现方式中,电子设备还可以基于预先存储的视频帧播放序列,确定目标I帧和目标P帧,具体处理过程后续会进行详细说明。
如图2a所示,为本申请实施例提供的一种目标视频的视频帧播放序列的示意图,其中,P4帧为目标视频帧,电子设备可以确定在目标视频帧之前、且与目标视频帧最接近的目标I帧为I2帧,然后,电子设备可以确定在I2帧与P4帧之间的P帧,得到P1帧、P2帧和P3帧。
步骤103,根据目标I帧的视频画面数据、P帧的帧间数据和目标视频帧的帧间数据,确定目标视频帧的视频画面数据,得到视频截图。
在实施中,根据目标视频帧所属视频帧类型的不同,电子设备根据目标I帧的视频画面数据和P帧的帧间数据,确定目标视频帧的视频画面数据的具体处理过程有所不同。
如果目标视频帧为P帧,则电子设备可以按照播放顺序,依次确定每个目标P帧的视频画面数据,直至确定出与目标视频帧最为接近的目标P 帧的视频画面数据。然后,电子设备可以叠加该视频画面数据和目标视频帧的帧间数据,得到目标视频帧的视频画面数据。
如果目标视频帧为B帧,则电子设备还需要确定在目标视频帧之后、且与目标视频帧最为接近的P帧。然后,电子设备可以根据目标I帧的视频画面数据、每个目标P帧的帧间数据、再次确定出的P帧的帧间数据,确定目标视频帧的视频画面数据。
然后,电子设备可以基于目标视频帧的视频画面数据生成视频截图。
在图2a所示的视频帧播放序列中,电子设备可以根据目标I帧I2帧的视频画面数据、P1帧的帧间数据、P2帧的帧间数据、P3帧的帧间数据和目标视频帧P4帧的帧间数据,确定目标视频帧P4帧的视频画面数据。
本申请实施例中,电子设备可以在检测到视频截图操作时,确定视频截图操作指示的目标视频帧;如果目标视频帧不是I帧,确定在目标视频帧之前、且与目标视频帧最接近的目标I帧,以及在目标I帧与目标视频帧之间的P帧;根据目标I帧的视频画面数据和P帧的帧间数据,确定目标视频帧的视频画面数据,得到视频截图。由于仅需确定目标I帧与目标视频帧之间的P帧,再根据目标I帧的视频画面数据和P帧的帧间数据,即可确定目标视频帧的视频画面数据,因此,能够减少需要确定视频画面数据的视频帧的数目,从而能够提高生成视频截图的处理速度。
下面结合图2a,对本申请实施例提供的一种视频截图方法的处理流程进行说明:在用户观看目标视频的过程中,如果检测到用户的视频截图操作,电子设备可以确定视频截图操作指示的目标视频帧。然后,电子设备可以通过判断目标视频帧的视频帧类型,来对目标视频进行截图。例如,如果目标视频帧是I2帧,则电子设备可以读取I2帧的视频画面数据,基于 I2帧的视频画面数据生成视频截图。
如果目标视频帧是P4帧,则电子设备可以确定在目标视频帧P4帧之前、且与目标视频帧P4帧最接近的I帧,得到I2帧,然后,电子设备可以确定在I2帧与P4帧之间的P帧,得到P1帧、P2帧和P3帧。之后,电子设备可以根据I2帧的视频画面数据、P1帧、P2帧和P3帧的帧间数据,和 P4帧的帧间数据,确定P4帧的视频画面数据,再基于P4帧的视频画面数据生成视频截图。
如果目标视频帧是B9帧,则电子设备可以确定在目标视频帧B9帧之前、且与目标视频帧B9帧最接近的I帧,得到I2帧。然后,电子设备可以确定在I2帧与P4帧之间的P帧,得到P1帧、P2帧、P3帧和P4帧,电子设备还可以确定在B9帧之后的P帧,得到P5帧。之后,电子设备可以根据I2的视频画面数据、P1帧、P2帧、P3帧、P4帧的帧间数据,和P5帧的帧间数据,确定B9帧的视频画面数据,再基于B9帧的视频画面数据生成视频截图。
由此,采用本申请实施例提供的视频截图方法,在对目标视频进行截图时,通过丢弃部分视频帧,减少需要确定视频画面数据的视频帧的数目,从而能够提高生成视频截图的处理速度。
可选的,电子设备可以基于预先存储的视频帧播放序列,确定目标I 帧和目标P帧,具体处理过程包括:
步骤1、在预先存储的视频帧播放序列中,确定排列在目标视频帧之前、且与目标视频帧最接近的I帧,得到目标I帧。
在实施中,电子设备可以在预先存储的视频帧播放序列中,查找排列在目标视频帧之前、且排列位置与目标视频帧最接近的I帧,得到在目标视频帧之前、且与目标视频帧最接近的目标I帧。
步骤2、将排列在目标I帧与目标视频帧之间的P帧,作为在目标I帧与目标视频帧之间的P帧。
在实施中,电子设备可以在视频帧播放序列中,确定排列在目标I帧和目标视频帧之间的P帧,得到在目标I帧与目标视频帧之间的P帧。
本申请实施例中,电子设备可以在预先存储的视频帧播放序列中,确定排列在目标视频帧之前、且与目标视频帧最接近的I帧,得到目标I帧,然后,电子设备可以将排列在目标I帧与目标视频帧之间的P帧,作为在目标I帧与目标视频帧之间的P帧。基于视频帧播放序列,可以快速确定目标 I帧、目标P帧,便于后续根据目标I帧的视频画面数据、目标P帧的帧间数据和目标视频帧的帧间数据,确定目标视频帧的视频画面数据,从而能够提高视频截图的处理速度。
可选的,电子设备可以基于比较目标视频帧的目标播放时间戳和各视频帧的播放时间戳,确定目标I帧和目标P帧,具体处理过程包括:
步骤1、获取目标视频帧的目标播放时间戳。
在实施中,电子设备可以将检测到视频截图操作时的操作时间戳,作为目标视频帧的目标播放时间戳。或者,视频截图操作可以携带有播放时间戳,电子设备可以将视频截图操作携带的播放时间戳,作为目标视频帧的目标播放时间戳。
步骤2、根据预先存储的播放时间戳与视频帧的对应关系和目标播放时间戳,确定在目标视频帧之前播放、且与目标视频帧最接近的I帧,得到目标I帧。
在实施中,电子设备可以在预先存储的播放时间戳与视频帧的对应关系中,确定播放时间戳小于目标播放时间戳、且与目标播放时间戳最为接近的I帧,即,确定在目标视频帧之前播放、且与目标视频帧最接近的I帧。然后,电子设备可以将确定出的I帧作为目标I帧。
步骤3、将播放时间戳在目标播放时间戳与目标I帧的播放时间戳之间的P帧,作为在目标I帧与目标视频帧之间的P帧。
本申请实施例中,电子设备可以获取目标视频帧的目标播放时间戳,根据预先存储的播放时间戳与视频帧的对应关系和目标播放时间戳,确定在目标视频帧之前播放、且与目标视频帧最接近的I帧,得到目标I帧。然后,电子设备可以将播放时间戳在目标播放时间戳与目标I帧的播放时间戳之间的P帧,作为在目标I帧与目标视频帧之间的P帧。
基于目标播放时间戳、播放时间戳与视频帧的对应关系,可以快速确定目标I帧、目标P帧,便于后续根据目标I帧的视频画面数据、目标P帧的帧间数据和目标视频帧的帧间数据,确定目标视频帧的视频画面数据,从而能够提高视频截图的处理速度。
可选的,本申请实施例提供了一种电子设备根据目标I帧的视频画面数据、目标P帧的帧间数据和目标视频帧的帧间数据,确定目标视频帧的视频画面数据,得到视频截图的实现方式,如图3所示,包括:
步骤301、在确定出的P帧中,按照视频帧的播放顺序,确定在第一视频帧之后、且与第一视频帧最接近的第二视频帧。
在实施中,电子设备可以将目标I帧作为第一视频帧,然后,电子设备可以在视频帧播放序列中,将排列在第一视频帧之后的第一个P帧,作为第二视频帧。
或者,电子设备可以在播放时间戳与视频帧的对应关系中,确定播放时间戳大于第一视频帧的播放时间戳、且与第一视频帧的播放时间戳最接近的P帧,得到第二视频帧。
例如,以图2a为例,电子设备可以将目标I帧I2帧作为第一视频帧,然后,电子设备可以在视频帧播放序列中,将排列在第一视频帧I2帧之后的第一个P帧,即P1帧,作为第二视频帧。
步骤302、叠加第一视频帧的视频画面数据和第二视频帧的帧间数据,得到第二视频帧的视频画面数据。
在实施中,电子设备叠加第一视频帧的视频画面数据和第二视频帧的帧间数据,得到第二视频帧的视频画面数据的处理过程可以参照相关技术中任一叠加某一视频帧的视频画面数据和另一视频帧的帧间数据,得到该另一视频帧的视频画面数据的处理过程,此处不再赘述。
例如,仍以图2a为例,电子设备可以叠加第一视频帧I2帧的视频画面数据和第二视频帧P1帧的帧间数据,得到第二视频帧P1帧的视频画面数据。
步骤303、判断确定出的P帧中是否包含在第二视频帧之后的P帧。
在实施中,电子设备可以判断目标P帧中是否包含在第二视频帧之后的P帧,如果目标P帧中包含在第二视频帧之后的P帧,则电子设备可以执行步骤304;如果目标P帧中不包含在第二视频帧之后的P帧,则电子设备可以执行步骤305。
例如,仍以图2a为例,电子设备可以判定目标P帧中包含在第二视频帧P1帧之后的P帧,即P2帧和P3帧,然后,电子设备可以执行步骤304。
步骤304、将第二视频帧作为第一视频帧。
在实施中,电子设备可以将第二视频帧作为第一视频帧,并返回执行在确定出的P帧中,按照视频帧的播放顺序,确定在第一视频帧之后、且与第一视频帧最接近的第二视频帧步骤,即返回执行步骤301。
例如,仍以图2a为例,电子设备可以将第二视频帧P1帧作为第一视频帧,在目标P帧P2帧和P3帧中,按照视频帧的播放顺序,确定在第一视频帧P1帧之后、且与第一视频帧P1帧最接近的目标P帧,得到P2帧,即,第二视频帧为P2帧。
步骤305、根据第二视频帧的视频画面数据和目标视频帧的帧间数据,确定目标视频帧的视频画面数据。
在实施中,根据目标视频帧所属视频帧类型的不同,电子设备根据第二视频帧的视频画面数据和目标视频帧的帧间数据,确定目标视频帧的视频画面数据的实现方式有所不同。
电子设备可以先确定目标视频帧所属的视频帧类型,然后采用与确定出的视频帧类型对应的实现方式,确定目标视频帧的视频画面数据,具体处理过程后续会进行详细说明。
本申请实施例中,电子设备可以将目标I帧作为第一视频帧,在确定出的P帧中,按照视频帧的播放顺序,确定在第一视频帧之后、且与第一视频帧最接近的第二视频帧;叠加第一视频帧的视频画面数据和第二视频帧的帧间数据,得到第二视频帧的视频画面数据;然后,在目标P帧中包含在第二视频帧之后的P帧的情况下,将第二视频帧作为第一视频帧,返回执行确定该第一视频帧的第二视频帧步骤;在确定出的P帧中不包含在第二视频帧之后的P帧的情况下,根据第二视频帧的视频画面数据和目标视频帧的帧间数据,确定目标视频帧的视频画面数据,得到视频截图。
由于采用重复设定第一视频帧和第二视频帧,并根据第一视频帧的视频画面数据和第二视频帧的帧间数据,确定第二视频帧的视频画面数据的方式,能够快速确定每个目标P帧的视频画面数据,从而可以快速确定目标视频帧的视频画面数据,提高电子设备生成视频截图的处理速度。
可选的,针对目标视频帧所属视频帧类型的两种情况,本申请实施例提供了相应的实现方式,包括:
情况一、目标视频帧为P帧。
此种情况中,电子设备可以叠加第二视频帧的视频画面数据和目标视频帧的帧间数据,得到目标视频帧的视频画面数据。
情况二、目标视频帧为B帧。
此种情况中,电子设备可以按照视频帧的播放顺序,确定在第二视频帧之后、且与第二视频帧最接近的第三视频帧。然后,电子设备可以根据第二视频帧的视频画面数据、第三视频帧的帧间数据和目标视频帧的帧间数据,确定目标视频帧的视频画面数据,得到视频截图。
其中,第三视频帧为P帧。
在实施中,电子设备可以叠加第二视频帧的视频画面数据和第三视频帧的帧间数据,得到第三视频帧的视频画面数据。然后,电子设备可以叠加第二视频帧的视频画面数据、第三视频帧的视频画面数据和目标视频帧的帧间数据,得到目标视频帧的视频画面数据。
仍以图2a为例,目标视频帧为B9帧时,第二视频帧为P4帧,电子设备可以确定在第二视频帧P4帧之后、且与第二视频帧P4帧最接近的P帧,得到P5帧,即,第三视频帧为P5帧。然后,电子设备可以叠加第二视频帧P4帧的视频画面数据和第三视频帧P5帧的帧间数据,得到第三视频帧 P5帧的视频画面数据。然后,电子设备可以叠加第二视频帧P4帧的视频画面数据、第三视频帧P5帧的视频画面数据和目标视频帧B9帧的帧间数据,得到目标视频帧B9帧的视频画面数据。
相关技术中,电子设备的视频解码方式可以是多种多样的,在一种可行的视频解码方式中,电子设备可以结合某一B帧的相邻视频帧,确定该B帧的视频画面数据。为了便于描述,将视频帧播放顺序中排列在某一视频帧之前的相邻视频帧称为前一视频帧,排列在某一视频帧之后的相邻视频帧称为后一视频帧。
例如,如果目标视频帧是B9帧,目标视频帧的前一视频帧是P4帧,目标视频帧的后一视频帧是B10帧,电子设备可以叠加P4帧的视频画面数据、B9帧的帧间数据、B10帧的帧间数据,得到B9帧的视频画面数据。
在另一种可行的实现方式中,电子设备可以结合某一B帧的前一视频帧的视频画面数据、在该B帧之后的相邻P帧的视频画面数据,确定该B 帧的视频画面数据。
例如,如果目标视频帧是B10帧,目标视频帧的前一视频帧为B9帧,在该B帧之后的相邻P帧为P5帧,电子设备可以先确定B9帧的视频画面数据,即针对B9帧,确定B9帧的前一视频帧为P4帧、在该B帧之后的相邻P帧为P5帧,叠加P4帧的视频画面数据、P5帧的视频画面数据、B9 帧的帧间数据,得到B9帧的视频画面数据。
然后,电子设备可以叠加B9帧的视频画面数据、P5帧的视频画面数据和B10帧的帧间数据,得到B10帧的视频画面数据。
为了保证针对多种视频解码方式均能确定出目标视频帧的视频画面数据,如果目标视频帧为B帧,在确定第三视频帧的视频画面数据之后,电子设备可以确定在第二视频帧与第三视频帧之间的B帧,按照播放顺序依次确定每个B帧的视频画面数据,直至确定出目标视频帧的视频画面数据。
本申请实施例中,电子设备可以针对目标视频帧所属视频帧类型的两种情况,采用与视频帧类型相应的实现方式,确定目标视频帧的视频画面数据,由此,可以确保获取到目标视频帧的全部视频画面数据,得到准确的视频截图。
本申请实施例中,视频截图操作指示的目标视频帧的个数可以为一个也可以为多个。当视频截图操作为输入待截图视频的起始播放时间戳和结束时间戳时,目标视频帧的个数可以为多个。由此,电子设备可以生成由单个目标视频帧构成的视频截图,也可以生成由多个目标视频帧构成的视频截图片段。
可选的,视频截图操作指示的目标视频帧为播放时间连续的多个视频帧时,针对每个目标视频帧,电子设备可以采用上述视频截图方法确定该目标视频帧的视频画面数据。电子设备也可以基于已确定出的目标视频帧的视频画面数据,和其他目标视频帧的帧间数据,确定其他目标视频帧的视频画面数据。
例如,在如图2b 所示的视频帧播放序列中,目标视频帧为P4帧、B9 帧、B9帧和P5帧,电子设备可以采用上述视频截图方法确定P4帧的视频画面数据,然后,电子设备可以叠加P4帧的视频画面数据和P5帧的帧间数据,得到P5帧的视频画面数据。之后,电子设备可以叠加P4帧的视频画面数据、P5帧的视频画面数据和B9帧的帧间数据,得到B9帧的视频画面数据。相似的,电子设备可以叠加P4帧的视频画面数据、P5帧的视频画面数据和B10帧的帧间数据,得到B10帧的视频画面数据。
由此,确定播放时间连续的多个目标视频帧的视频画面数据,从而生成由多个目标视频帧构成的视频截图片段。
本申请实施例还提供了一种基于目标视频帧的目标播放时间戳,确定目标视频帧的视频画面数据的示例,电子设备可以在检测到视频截图操作时,确定视频截图操作指示的目标视频帧。然后,电子设备可以确定在目标视频帧之前、且与目标视频帧最接近的目标关键帧。之后,电子设备可以按照播放顺序,依次确定在目标关键帧之后的P帧、P帧的视频画面数据,直至确定出的P帧的播放时间戳不小于目标播放时间戳。
如果目标视频帧为P帧,则电子设备可以将最后确定出的第一P帧的视频画面数据,作为目标视频帧的视频画面数据。
如果目标视频帧为B帧,则电子设备可以获取第二P帧的视频画面数据,第二P帧为视频帧播放顺序中,排列在第一P帧之前、且与第一P帧最接近的P帧。然后,电子设备可以叠加第一P帧的视频画面数据、目标视频帧的帧间数据、第二P帧的视频画面数据,得到目标视频帧的视频画面数据。
本申请实施例还提供了一种视频截图装置,如图4所示,所述装置包括:
第一确定模块410,用于在目标视频的播放过程中,当检测到视频截图操作时,确定所述视频截图操作指示的目标视频帧;
第二确定模块420,用于当所述目标视频帧不是关键帧,按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧;
第三确定模块430,用于根据所述目标关键帧的视频画面数据、所述帧间预测编码帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述第三确定模块包括:
第一确定子模块,用于将所述目标关键帧作为第一视频帧,在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧;
叠加子模块,用于叠加所述第一视频帧的视频画面数据和所述第二视频帧的帧间数据,得到所述第二视频帧的视频画面数据;
第二确定子模块,用于当确定出的帧间预测编码帧中包含在所述第二视频帧之后的帧间预测编码帧时,将所述第二视频帧作为第一视频帧,并触发所述第一确定子模块执行所述在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧步骤;
第三确定子模块,用于当确定出的帧间预测编码帧中不包含在所述第二视频帧之后的帧间预测编码帧时,根据所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述第二确定子模块具体用于当所述目标视频帧为帧间预测编码帧时,通过叠加所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图;当所述目标视频帧为双向预测编码帧时,确定在所述第二视频帧之后、且与所述第二视频帧最接近的第三视频帧,所述第三视频帧为帧间预测编码帧;根据所述第二视频帧的视频画面数据、所述第三视频帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述第二确定模块包括:
第四确定子模块,用于在预先存储的视频帧播放序列中,确定排列在所述目标视频帧之前、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
第五确定子模块,用于将排列在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
可选的,所述第二确定模块包括:
获取子模块,用于获取所述目标视频帧的目标播放时间戳;
第六确定子模块,用于根据预先存储的播放时间戳与视频帧的对应关系和所述目标播放时间戳,确定在所述目标视频帧之前播放、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
第七确定子模块,用于将播放时间戳在所述目标播放时间戳与所述目标关键帧的播放时间戳之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
可选的,所述装置还包括:
第四确定模块,用于当所述目标视频帧是关键帧时,将该关键帧的视频画面数据,作为所述目标视频帧的视频画面数据,得到视频截图。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该装置,可以在检测到视频截图操作时,确定视频截图操作指示的目标视频帧;如果目标视频帧不是关键帧,确定在目标视频帧之前、且与目标视频帧最接近的目标关键帧,以及在目标关键帧与目标视频帧之间的帧间预测编码帧;根据目标关键帧的视频画面数据和帧间预测编码帧的帧间数据,确定目标视频帧的视频画面数据,得到视频截图。由于仅需确定目标关键帧与目标视频帧之间的帧间预测编码帧,再根据目标关键帧的视频画面数据和帧间预测编码帧的帧间数据,即可确定目标视频帧的视频画面数据,因此,能够减少需要确定视频画面数据的视频帧的数目,从而能够提高生成视频截图的处理速度。
本申请实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
在目标视频的播放过程中,当检测到视频截图操作时,确定所述视频截图操作指示的目标视频帧;
如果所述目标视频帧不是关键帧,则按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧;
根据所述目标关键帧的视频画面数据、所述帧间预测编码帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述根据所述目标关键帧的视频画面数据、所述帧间预测编码帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图,包括:
将所述目标关键帧作为第一视频帧,在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧;
叠加所述第一视频帧的视频画面数据和所述第二视频帧的帧间数据,得到所述第二视频帧的视频画面数据;
如果确定出的帧间预测编码帧中包含在所述第二视频帧之后的帧间预测编码帧,则将所述第二视频帧作为第一视频帧,执行所述在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧步骤;
如果确定出的帧间预测编码帧中不包含在所述第二视频帧之后的帧间预测编码帧,则根据所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述根据所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图,包括:
如果所述目标视频帧为帧间预测编码帧,则通过叠加所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图;
如果所述目标视频帧为双向预测编码帧,则确定在所述第二视频帧之后、且与所述第二视频帧最接近的第三视频帧,所述第三视频帧为帧间预测编码帧;
根据所述第二视频帧的视频画面数据、所述第三视频帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
可选的,所述按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,包括:
在预先存储的视频帧播放序列中,确定排列在所述目标视频帧之前、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
将排列在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
可选的,所述按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,包括:
获取所述目标视频帧的目标播放时间戳;
根据预先存储的播放时间戳与视频帧的对应关系和所述目标播放时间戳,确定在所述目标视频帧之前播放、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
将播放时间戳在所述目标播放时间戳与所述目标关键帧的播放时间戳之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
可选的,所述方法还包括:
如果所述目标视频帧是关键帧,则将该关键帧的视频画面数据,作为所述目标视频帧的视频画面数据,得到视频截图。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路 (Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field -Programmable GateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频截图方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频截图方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD)) 等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种视频截图方法,其特征在于,所述方法包括:
在目标视频的播放过程中,当检测到视频截图操作时,确定所述视频截图操作指示的目标视频帧;
如果所述目标视频帧不是关键帧,则按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,所述帧间预测编码帧为P帧;
根据所述目标关键帧的视频画面数据、所述帧间预测编码帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标关键帧的视频画面数据、所述帧间预测编码帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图,包括:
将所述目标关键帧作为第一视频帧,在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧;
叠加所述第一视频帧的视频画面数据和所述第二视频帧的帧间数据,得到所述第二视频帧的视频画面数据;
如果确定出的帧间预测编码帧中包含在所述第二视频帧之后的帧间预测编码帧,则将所述第二视频帧作为第一视频帧,执行所述在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧步骤;
如果确定出的帧间预测编码帧中不包含在所述第二视频帧之后的帧间预测编码帧,则根据所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图,包括:
如果所述目标视频帧为帧间预测编码帧,则通过叠加所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图;
如果所述目标视频帧为双向预测编码帧,则确定在所述第二视频帧之后、且与所述第二视频帧最接近的第三视频帧,所述第三视频帧为帧间预测编码帧;
根据所述第二视频帧的视频画面数据、所述第三视频帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
4.根据权利要求1所述的方法,其特征在于,所述按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,包括:
在预先存储的视频帧播放序列中,确定排列在所述目标视频帧之前、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
将排列在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
5.根据权利要求1所述的方法,其特征在于,所述按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,包括:
获取所述目标视频帧的目标播放时间戳;
根据预先存储的播放时间戳与视频帧的对应关系和所述目标播放时间戳,确定在所述目标视频帧之前播放、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
将播放时间戳在所述目标播放时间戳与所述目标关键帧的播放时间戳之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述目标视频帧是关键帧,则将该关键帧的视频画面数据,作为所述目标视频帧的视频画面数据,得到视频截图。
7.一种视频截图装置,其特征在于,所述装置包括:
第一确定模块,用于在目标视频的播放过程中,当检测到视频截图操作时,确定所述视频截图操作指示的目标视频帧;
第二确定模块,用于当所述目标视频帧不是关键帧时,按照所述目标视频包含的视频帧的播放顺序,确定在所述目标视频帧之前、且与所述目标视频帧最接近的目标关键帧,以及在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,所述帧间预测编码帧为P帧;
第三确定模块,用于根据所述目标关键帧的视频画面数据、所述帧间预测编码帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
8.根据权利要求7所述的装置,其特征在于,所述第三确定模块包括:
第一确定子模块,用于将所述目标关键帧作为第一视频帧,在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧;
叠加子模块,用于叠加所述第一视频帧的视频画面数据和所述第二视频帧的帧间数据,得到所述第二视频帧的视频画面数据;
第二确定子模块,用于当确定出的帧间预测编码帧中包含在所述第二视频帧之后的帧间预测编码帧时,将所述第二视频帧作为第一视频帧,并触发所述第一确定子模块执行所述在确定出的帧间预测编码帧中,按照视频帧的播放顺序,确定在所述第一视频帧之后、且与所述第一视频帧最接近的第二视频帧步骤;
第三确定子模块,用于当确定出的帧间预测编码帧中不包含在所述第二视频帧之后的帧间预测编码帧时,根据所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
9.根据权利要求8所述的装置,其特征在于,所述第二确定子模块具体用于当所述目标视频帧为帧间预测编码帧时,叠加所述第二视频帧的视频画面数据和所述目标视频帧的帧间数据,得到所述目标视频帧的视频画面数据,得到视频截图;当所述目标视频帧为双向预测编码帧时,确定在所述第二视频帧之后、且与所述第二视频帧最接近的第三视频帧,所述第三视频帧为帧间预测编码帧;根据所述第二视频帧的视频画面数据、所述第三视频帧的帧间数据和所述目标视频帧的帧间数据,确定所述目标视频帧的视频画面数据,得到视频截图。
10.根据权利要求7所述的装置,其特征在于,所述第二确定模块包括:
第四确定子模块,用于在预先存储的视频帧播放序列中,确定排列在所述目标视频帧之前、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
第五确定子模块,用于将排列在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
11.根据权利要求7所述的装置,其特征在于,所述第二确定模块包括:
获取子模块,用于获取所述目标视频帧的目标播放时间戳;
第六确定子模块,用于根据预先存储的播放时间戳与视频帧的对应关系和所述目标播放时间戳,确定在所述目标视频帧之前播放、且与所述目标视频帧最接近的关键帧,得到目标关键帧;
第七确定子模块,用于将播放时间戳在所述目标播放时间戳与所述目标关键帧的播放时间戳之间的帧间预测编码帧,作为在所述目标关键帧与所述目标视频帧之间的帧间预测编码帧。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于当所述目标视频帧是关键帧时,将该关键帧的视频画面数据,作为所述目标视频帧的视频画面数据,得到视频截图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911421128.4A CN111083497B (zh) | 2019-12-31 | 2019-12-31 | 一种视频截图方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911421128.4A CN111083497B (zh) | 2019-12-31 | 2019-12-31 | 一种视频截图方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111083497A CN111083497A (zh) | 2020-04-28 |
CN111083497B true CN111083497B (zh) | 2022-07-08 |
Family
ID=70321361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911421128.4A Active CN111083497B (zh) | 2019-12-31 | 2019-12-31 | 一种视频截图方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111083497B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709574B (zh) * | 2021-03-17 | 2024-03-19 | 腾讯科技(北京)有限公司 | 视频截图方法、装置、电子设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107801092A (zh) * | 2017-09-15 | 2018-03-13 | 青岛海信移动通信技术股份有限公司 | 一种视频倍速播放方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013148002A2 (en) * | 2012-03-26 | 2013-10-03 | Euclid Discoveries, Llc | Context based video encoding and decoding |
CN105100776B (zh) * | 2015-08-24 | 2017-03-15 | 深圳凯澳斯科技有限公司 | 一种立体视频截图方法及装置 |
CN110351553B (zh) * | 2018-04-08 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 视频倒播、视频倒播数据处理方法、装置和计算机设备 |
CN110505513A (zh) * | 2019-08-15 | 2019-11-26 | 咪咕视讯科技有限公司 | 一种视频截图方法、装置、电子设备及存储介质 |
-
2019
- 2019-12-31 CN CN201911421128.4A patent/CN111083497B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107801092A (zh) * | 2017-09-15 | 2018-03-13 | 青岛海信移动通信技术股份有限公司 | 一种视频倍速播放方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111083497A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108495185B (zh) | 一种视频标题生成方法和装置 | |
US10448082B2 (en) | Information exchanging method and device, audio terminal and computer-readable storage medium | |
CN108966016B (zh) | 一种视频片段重播的方法、装置及终端设备 | |
WO2017181598A1 (zh) | 视频播放方法及装置 | |
WO2017181597A1 (zh) | 视频播放方法及装置 | |
CN109086105B (zh) | 一种页面布局转换方法、装置及电子设备 | |
US11316925B2 (en) | Video data storage method and device in cloud storage system | |
CN109698979B (zh) | 一种视频播放的方法、装置及电子设备 | |
CN108668172B (zh) | 一种视频播放方法和装置 | |
CN104243590A (zh) | 资源对象推荐方法和装置 | |
CN111526388A (zh) | 视频播放方法及装置、视频播放控制方法及装置 | |
CN111083497B (zh) | 一种视频截图方法及装置 | |
CN111541927A (zh) | 一种视频播放方法及装置 | |
CN111669622A (zh) | 一种视频缺省播放关系的确定方法、装置及电子设备 | |
US20150156393A1 (en) | Video Monitoring System and Method for Reducing Pan-Tilt Control Delay | |
CN110366010B (zh) | 控制视频播放的方法、装置、服务器及介质 | |
CN110324707B (zh) | 一种视频开播耗时测试方法及装置 | |
CN112929728A (zh) | 一种视频渲染方法、装置、系统、电子设备及存储介质 | |
CN110277110B (zh) | 一种网络页面的录音、播放方法、装置及终端 | |
CN111539929A (zh) | 一种版权检测方法、装置及电子设备 | |
EP3598738A1 (en) | Video synthesis method, apparatus and device, and video playing method, apparatus and device | |
CN112019878A (zh) | 一种视频解码和编辑的方法、装置、设备和存储介质 | |
CN113923481A (zh) | 多媒体内容的播放方法、装置、电子设备及存储介质 | |
CN111147954A (zh) | 一种缩略图抽取方法及装置 | |
US20170168662A1 (en) | Display Method and Electronic Device for Rapidly Positioning Play Time Point |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |