CN109905749B - 视频播放方法和装置、存储介质及电子装置 - Google Patents
视频播放方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN109905749B CN109905749B CN201910290904.5A CN201910290904A CN109905749B CN 109905749 B CN109905749 B CN 109905749B CN 201910290904 A CN201910290904 A CN 201910290904A CN 109905749 B CN109905749 B CN 109905749B
- Authority
- CN
- China
- Prior art keywords
- video
- recording
- target
- playing
- segment
- 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
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了一种视频播放方法和装置、存储介质及电子装置。其中,该方法包括:在显示屏的第一区域显示第一视频的过程中,获取视频录制请求,其中,第一视频中关键帧的数量大于第一阈值;响应视频录制请求,录制画面以生成第二视频,其中,在录制过程中,在显示屏的第二区域中呈现第二视频中的视频录制片段,在开始录制视频录制片段时,第一区域中的第一视频从与视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使视频录制片段与第一视频同步播放;对第一视频及第二视频进行合成处理,以得到目标视频;在显示屏中播放目标视频。本发明解决了由于衔接点丢帧所导致的视频播放不连续的技术问题。
Description
技术领域
本发明涉及视频处理领域,具体而言,涉及一种视频播放方法和装置、存储介质及电子装置。
背景技术
如今,很多视频发布平台常常会为用户提供一种画中画录制视频的方式。也就是说,在启动播放器播放第一视频的同时,通过摄像头采集画面,以录制得到第二视频。然后,收集播放器和摄像头二者的视频数据源,按照指定布局进行合成渲染,输出得到目标视频。其中,在上述目标视频中,包括来自上述播放器的第一视频和摄像头录制的第二视频,二者通过显示器同步播放。在录制第二视频的过程中,往往需要多次中断再录制。为了保证第二视频和第一视频可以同步播放,则通常需要在第一视频中确定出第二视频中断录制的中断时间点,再从该中断时间点开始重新启动录制。
然而,在采用上述方式录制画中画视频的过程中,在对第一视频和第二视频进行合成渲染处理时,将可能出现第一视频中的图像帧已经解码输出,但第二视频中的图像帧尚未完成录制,使得无法及时将第一视频中的图像帧,和第二视频中对应的图像帧进行合成编码,以得到目标视频中的一帧目标图像帧。从而使得最终生成的目标视频在衔接点出现丢帧的情况,导致所播放的目标视频出现播放不连续的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种视频播放方法和装置、存储介质及电子装置,以至少解决由于衔接点丢帧所导致的视频播放不连续的技术问题。
根据本发明实施例的一个方面,提供了一种视频播放方法,包括:在显示屏的第一区域显示第一视频的过程中,获取视频录制请求,其中,所述第一视频中关键帧的数量大于第一阈值;响应所述视频录制请求,录制画面以生成第二视频,其中,在录制过程中,在所述显示屏的第二区域中呈现所述第二视频中的视频录制片段,在开始录制所述视频录制片段时,所述第一区域中的所述第一视频从与所述视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使所述视频录制片段与所述第一视频同步播放;对所述第一视频及所述第二视频进行合成处理,以得到目标视频;在所述显示屏中播放所述目标视频。
根据本发明实施例的另一方面,还提供了一种视频播放装置,包括:第一获取单元,用于在显示屏的第一区域显示第一视频的过程中,获取视频录制请求,其中,上述第一视频中关键帧的数量大于第一阈值;录制单元,用于响应上述视频录制请求,录制画面以生成第二视频,其中,在录制过程中,在上述显示屏的第二区域中呈现上述第二视频中的视频录制片段,在开始录制上述视频录制片段时,上述第一区域中的上述第一视频从与上述视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使上述视频录制片段与上述第一视频同步播放;合成单元,用于对上述第一视频及上述第二视频进行合成处理,以得到目标视频;播放单元,用于在上述显示屏中播放上述目标视频。
作为一种可选的实施方式,上述拼接模块包括:确定子模块,用于在上述录制完成指令所指示的录制时长大于上述第一视频的播放时长的情况下,根据上述录制时长确定上述第一区域中上述第一视频被重复播放的播放次数;排序子模块,用于根据上述当前播放次数及上述起始录制时刻,对获取到的上述视频录制片段进行排序,得到视频片段序列;第二拼接子模块,用于对上述视频片段序列依次进行拼接;第二编码子模块,用于对拼接后的上述视频录制片段进行编码保存,以生成上述第二视频。
作为一种可选的实施方式,上述装置还包括:分离单元,用于在上述对上述第一视频及上述第二视频进行合成处理之前,对上述第一视频进行音视频分离,得到对象音频和对象视频;解码单元,用于解码上述对象视频得到第一图像帧,并解码上述第二视频得到第二图像帧。
作为一种可选的实施方式,上述合成模块包括:合成子模块,用于上述对象视频中的上述第一图像帧和上述第二视频中的上述第二图像帧,按照目标布局进行合成,得到合成视频中的合成图像帧;第三编码子模块,用于对上述合成视频中的上述合成图像帧与上述对象音频进行音视频编码,以生成上述目标视频。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述视频播放方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述视频播放方法。
在本发明实施例中,在显示屏的第一区域中显示第一视频的同时,在显示屏的第二区域中预览正在录制的第二视频的视频录制片段,并利用视频录制片段生成独立的第二视频。其中,在录制过程中,第二视频中的视频录制片段在开始录制时,将控制第一区域中的第一视频定位到与上述视频录制片段的起始录制时刻相关联的目标关键帧,以使二者同步播放。从而实现在第二视频完成录制后,再对内容同步播放的第一视频和第二视频,两个独立的视频进行合成处理,以得到无缝连接的目标视频,达到合成后的目标视频可以连续播放的效果。进而克服相关技术中由于第一视频和第二视频二者无法同步完成编码,来及时得到一帧合成后的图像帧,使得所播放的合成视频在衔接点出现丢帧而无法连续播放的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的视频播放方法的网络环境的示意图;
图2是根据本发明实施例的一种可选的视频播放方法的硬件环境的示意图;
图3是根据本发明实施例的一种可选的视频播放方法的流程图;
图4是根据本发明实施例的一种可选的视频播放方法的示意图;
图5是根据本发明实施例的另一种可选的视频播放方法的示意图;
图6是根据本发明实施例的又一种可选的视频播放方法的示意图;
图7是根据本发明实施例的又一种可选的视频播放方法的示意图;
图8是根据本发明实施例的又一种可选的视频播放方法的示意图;
图9是根据本发明实施例的一种可选的视频播放装置的结构示意图;
图10是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种视频播放方法,可选地,作为一种可选的实施方式,上述视频播放方法可以但不限于应用于如图1所示的网络环境中的视频播放控制系统中,该视频播放控制系统包括用户设备102、网络110及服务器112。假设用户设备102中安装有视频播放应用的客户端,其中,用户设备102中包括人机交互屏幕104,处理器106及存储器108。人机交互屏幕104用于在第一区域显示第一视频(如图1显示界面左侧内容),还用于通过与上述客户端对应的人机交互接口检测人机交互操作(如触控操作);处理器106,用于根据人机交互操作生成视频录制请求,并响应该视频录制请求控制上述客户端所在用户设备102录制画面以生成第二视频(如图1显示界面右侧内容)。存储器108用于存储上述第一视频和第二视频。
如步骤S102,在用户设备102显示屏(可以为下文记载的人机交互屏幕104)的第一区域中显示第一视频的过程中,通过人机交互屏幕104获取视频录制请求。用户设备102中的处理器106将响应该视频录制请求,开始录制画面以生成第二视频,如步骤S104。其中在录制过程中,在上述显示屏的第二区域中呈现上述第二视频中的视频录制片段,且在该视频录制片段开始录制时,第一区域中的第一视频也将从与该视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使上述视频录制片段与第一视频同步。然后,用户设备102可以执行步骤S106,通过网络110发送该第二视频至服务器112。服务器112中包括数据库114及处理引擎116。其中,数据库114用于存储第二视频及对第一视频及第二视频进行合成处理的组合协议,处理器引擎116用于合成第一视频及第二视频,以得到目标视频。
服务器112接收到用户设备102发送的第二视频之后,执行步骤S106,对第一视频及第二视频进行合成处理,以得到目标视频。然后如步骤S110,将该目标视频通过网络110发送给用户设备102。进一步,用户设备102在收到上述目标视频之后,将在显示屏(上述人机交互屏幕104)中播放上述目标视频。
此外,作为一种可选的实施方式,上述视频播放方法还可以但不限于应用于如图2所示的硬件环境中。仍假设用户设备102中安装有视频播放应用的客户端,其中,用户设备102中包括上述人机交互屏幕104,处理器106及存储器108。
如步骤S202,用户设备102获取在用户设备102显示屏(可以为下文记载的人机交互屏幕104)的第一区域中显示第一视频的过程中,通过人机交互屏幕104获取视频录制请求。用户设备102中的处理器106将响应该视频录制请求,开始录制画面以生成第二视频,如步骤S204。进一步,仍由用户设备102的处理器106执行步骤S206,对上述第一视频及第二视频进行合成处理,以得到目标视频。再执行步骤S208,通过人机交互屏幕104播放该目标视频。
需要说明的是,在本实施例中,在显示屏的第一区域显示第一视频的过程中获取到视频录制请求之后,响应该视频录制请求,录制画面以生成第二视频,其中,在显示屏的第二区域呈现该第二视频的视频录制片段,该视频录制片段开始录制时,第一区域中的第一视频从与视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使第一视频和视频录制片段同步播放。然后对第一视频和第二视频进行合成处理,以得到目标视频,并在显示屏中播放该目标视频。也就是说,在显示屏的第一区域中显示第一视频的同时,在显示屏的第二区域中预览正在录制的第二视频的视频录制片段,并利用视频录制片段生成独立的第二视频。其中,在录制过程中,第二视频中的视频录制片段在开始录制时,将控制第一区域中的第一视频定位到与上述视频录制片段的起始录制时刻相关联的目标关键帧,以使二者同步播放。从而实现在第二视频完成录制后,再对内容同步播放的第一视频和第二视频,两个独立的视频进行合成处理,以得到无缝连接的目标视频,达到合成后的目标视频可以连续播放的效果。进而克服相关技术中由于第一视频和第二视频二者无法同步完成编码,来及时得到一帧合成后的图像帧,使得所播放的合成视频在衔接点出现丢帧而无法连续播放的问题。
可选地,在本实施例中,上述用户设备可以但不限于为手机、平板电脑、笔记本电脑、PC机等支持运行应用客户端的终端设备。上述服务器和用户设备可以但不限于通过网络实现数据交互,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图3所示,上述视频播放方法可以包括:
S302,在显示屏的第一区域显示第一视频的过程中,获取视频录制请求,其中,第一视频中关键帧的数量大于第一阈值;
S304,响应视频录制请求,录制画面以生成第二视频,其中,在录制过程中,在显示屏的第二区域中呈现第二视频中的视频录制片段,在开始录制视频录制片段时,第一区域中的第一视频从与视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使视频录制片段与第一视频同步播放;
S306,对第一视频及第二视频进行合成处理,以得到目标视频;
S308,在显示屏中播放目标视频。
需要说明的是,上述图3所示方法步骤可以但不限于应用于图1所示视频播放控制系统中,通过用户设备102和服务器112之间的数据交互步骤完成,也可以但不限于应用于图2所示用户设备102中,由用户设备102独立执行完成。上述仅是示例,本实施例中对此不作任何限定。
可选地,在本实施例中,上述视频播放方法可以但不限于应用于可以实现画中画视频播放的场景中,如视频播放应用、视频编辑应用、视频分享平台应用等等。需要说明的是,在本实施例的视频中可以包括但不限于:关键帧和非关键帧。例如,关键帧可以为内部画面帧(Intra Picture Frame,简称I帧),画面组(Group of Picture,简称GOP)的第一帧,非关键帧可以为P帧,依赖它前面的I帧或P帧预测得到。上述第一视频可以但不限于为应用客户端中预存的视频,第二视频可以但不限于为通过应用客户端所在设备的摄像头采集到的画面所生成的录制视频。上述仅是一种示例,本实施例中对此不作任何限定。
例如,以短视频分享平台应用为例,使用目标账号登录应用客户端后,选择在第一区域显示的第一视频,其中,该第一视频中关键帧的数量大于第一阈值。然后,在显示屏的第一区域显示该第一视频的过程中,获取对视频录制按钮执行操作所生成的视频录制请求,响应该视频录制请求,录制画面来生成第二视频,其中,该第二视频中可以包括但不限于多个视频录制片段,每个视频录制片段在开始录制时,第一区域中的第一视频也将从与该视频录制片段的起始录制片刻相对应的目标关键帧开始播放,从而使得显示屏中的第一视频和第二视频可以同步播放。进一步,对完成录制生成的第二视频和已有的第一视频进行合成处理,以得到无缝连接且可以实现同步连续播放的目标视频,进而避免相关技术中由于衔接点两个视频无法同步完成编码,使得合成后的视频出现丢帧导致播放不连续的问题。上述仅是一种示例,本实施例中对此不作任何限定。
需要说明的是,在本实施例中,在显示屏的第一区域中显示第一视频的同时,在显示屏的第二区域中预览正在录制的第二视频的视频录制片段,并利用视频录制片段生成独立的第二视频。其中,在录制过程中,第二视频中的视频录制片段在开始录制时,将控制第一区域中的第一视频定位到与上述视频录制片段的起始录制时刻相关联的目标关键帧,以使二者同步播放。从而实现在第二视频完成录制后,再对内容同步播放的第一视频和第二视频,两个独立的视频进行合成处理,以得到无缝连接的目标视频,达到合成后的目标视频可以连续播放的效果。进而克服相关技术中由于第一视频和第二视频二者无法同步完成编码,来及时得到一帧合成后的图像帧,使得所播放的合成视频在衔接点出现丢帧而无法连续播放的问题。
可选地,在本实施例中,上述第二视频可以包括但不限于多个视频录制片段。也就是说,可以通过控制暂停录制过程,或开启录制过程,来分多次录制以得到第二视频。其中,在暂停录制过程中,显示屏第一区域中的第一视频仍会继续播放,而第二区域中可以呈现摄像头正在采集的画面,但不会编码保存以得到第二视频中的视频录制片段。在开启录制的过程中,在第二区域中可以呈现摄像头正在采集的画面,并对该画面进行编码保存,以得到第二视频中的视频录制片段。也就是说在第二区域中可以预览所录制的第二视频中的视频录制片段。此外,在上述视频录制片段开始录制时,第一区域中的第一视频也将定位到与该视频录制片段的起始录制时刻对应的目标关键帧,从而实现第一区域和第二区域可以按照相同进度同步播放。
进一步,在本实施例中,在获取到录制完成指令后,可以但不限于对已经保存的多个视频录制片段进行拼接,并对拼接后的视频进行编码,以生成独立的第二视频。其中,上述生成的第二视频可以但不限于是以MP4格式保存的视频文件。
例如,假设上述视频播放方法应用于如图4所示的视频播放控制系统中。该系统可以包括但不限于:播放器402、录制模块404、录制逻辑模块406、编码模块408、存储模块410、处理模块412、合成渲染模块414及播放模块416。上述各个模块的功能可以但不限于如下:
1)播放器402:用于显示第一视频(也可称作画中画视频),并实现对上述视频录制及播放过程的控制,例如播放、暂停、定位图像帧等操作。
2)录制模块404:用于获取摄像头采集到的画面,并实现画面预览。
3)录制逻辑模块406:主要用于处理用户操作和控制录制实现逻辑。例如,在开启录制模块404进行预览时,该录制逻辑模块406可以控制开启画中画效果,从后台获取画中画协议,解析出画中画视频及合成布局。然后控制在第一区域中显示画中画视频,并在第二区域中呈现未编码的录制画面。进一步在开始录制后,则通知编码模块408,对第二区域中的画面进行录制编码。此外,该录制逻辑模块406还可以用于记录,在第二视频暂停录制时,画中画视频播放的时间点,以及第二视频完成录制时,画中画视频的结束时间点。
4)编码模块408:用于将录制模块404采集的视频数据(也就是第二视频中的视频录制片段)进行编码处理,生成MP4格式的视频录制片段。还用于将上述多个视频录制片段进行拼接,以得到第二视频。
5)存储模块410:用于保存上述编码后的多个视频录制片段及第二视频。
6)处理模块412:用于根据设置的播放呈现效果,对第一视频和第二视频进行数据处理操作,这里的处理操作可以包括但不限于:添加美颜滤镜等效果。
7)合成渲染模块414:根据画中画协议所指示的合成布局,将录制模块404录制的第二视频中的图像帧,和播放器解码出的第一视频(即画中画视频)中的图像帧合成为目标视频中的一帧图像帧,并通过渲染输出到显示屏上。
8)播放模块416,用于播放目标视频。其中,该目标视频可以为尚未编码时的第一视频和第二视频,也可以为获取导出指令后,对第一视频和第二视频完成合成编码的视频。
可选地,在本实施例中,上述第一视频中关键帧的数量可以但不限于该第一视频中全部图像帧的数量,也就是说第一视频可以配置为全I帧视频。
需要说明的是,在相关技术中通常会为第一视频(画中画视频)配置非全I帧视频。这样在每次视频录制片段开始录制时,通常会在第一视频中定位出与上述视频录制片段的起始录制时刻的时间点相距最近的一个I帧,但由于相邻I帧之间包含的P帧影响,将使得所确定出用于同步播放的时间点不够精确。此外,还有另外一种方式是采用精确定位。也就是先定位到与该视频录制片段的起始录制时刻的时间点相距最近的一个I帧,然后依次解码与该I帧相邻的P帧,以便于精准地确定出与上述视频录制片段的起始录制时刻匹配的P帧,但这种方式往往会占用很长查找时间,使得编码延时,进而影响视频播放实时性。而在本实施例中,将第一视频配置为全I帧视频,从而实现直接快速地定位到与上述视频录制片段的起始录制时刻匹配的I帧,以便于在第二视频中的视频录制片段开始录制时,第一视频可以从上述定位出的精确的I帧开始播放,保证第一区域和第二区域中的视频可以按照相同进度同步播放。
可选地,在本实施例中,在获取到第一视频之后,可以但不限于对该第一视频进行音视频分离,得到对象音频和对象视频。其中,在对第一视频和第二视频进行合成处理时,是对分离后的对象视频和第二视频进行视频合成编码处理。然后再对合成后的视频和上述分离出的对象音频进行音视频合成处理,从而实现将从原始的第一视频中分离的对象音频可以在最后完整地合成到目标视频中,从而避免由于视频录制片段的影响导致目标视频中音视频不同步的问题
通过本申请提供的实施例,在显示屏的第一区域中显示第一视频的同时,在显示屏的第二区域中预览正在录制的第二视频的视频录制片段,并利用视频录制片段生成独立的第二视频。其中,在录制过程中,第二视频中的视频录制片段在开始录制时,将控制第一区域中的第一视频定位到与上述视频录制片段的起始录制时刻相关联的目标关键帧,以使二者同步播放。从而实现在第二视频完成录制后,再对内容同步播放的第一视频和第二视频,两个独立的视频进行合成处理,以得到无缝连接的目标视频,达到合成后的目标视频可以连续播放的效果。进而克服相关技术中由于第一视频和第二视频二者无法同步完成编码,来及时得到一帧合成后的图像帧,使得所播放的合成视频在衔接点出现丢帧而无法连续播放的问题。
作为一种可选的方案,响应视频录制请求,录制画面以生成第二视频包括:
S1,响应视频录制请求,控制摄像头录制目标画面;
S2,对目标画面进行编码,以得到第二视频中的视频录制片段;
S3,获取录制完成指令;
S4,响应录制完成指令,对获取到的视频录制片段进行拼接,以生成第二视频。
可选地,在本实施例中,上述视频录制请求可以但不限于是执行人机交互操作所生成的请求。其中,该人机交互操作可以但不限于以下至少之一:对用户设备中的按键执行的点击操作、对用户设备的显示屏(也是人机交互屏幕)中所呈现的虚拟按键执行的触控操作、对用户设备中的语音触发按键执行操作,以便于通过用户设备的语音采集装置获取语音指令。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,在本实施例中,上述录制完成指令可以但不限于是在完成对第二视频中的多个视频录制片段的录制过程后所获取的控制指令。其中,该录制完成指令可以是执行人机交互操作后所生成的操作指令,如点击“完成”或“导出”等按键后生成的操作指令,也可以是在完成录制后自动生成的指令。本实施例中对此不作任何限定。
具体结合图5所示进行说明:
如图5(a)所示,在应用客户端中打开用于录制第二视频的拍摄页面进行预览,以呈现摄像头当前拍摄到的目标画面(如图所示目标画面中为笑脸对象),以便于实现录制过程。此外,在开始正式录制前,还可以打开热门挂件面板,为第一视频和第二视频配置画中画挂件。其中,这里第一视频(也是画中画视频)将按照画中画协议所指示的布局(如在第一区域中)循环播放,第二视频将按照画中画协议所指示的布局(如在第二区域中)进行预览。
如图5(b)-5(c)所示,在点击录制按钮开始录制后,将开始录制第二视频中的视频录制片段。在每个视频录制开始录制时,都会定位到第一视频中对应的目标关键帧,以便于二者可以同步播放。例如,假设第一视频为15秒的画中画视频。在该画中画视频循环播放时,获取到视频录制请求,则响应该视频录制请求,开始录制画面以生成第二视频。
假设如图5(c)所示先录制2秒后暂停录制,记录该时间点以作为下一段视频录制片段的起始录制时刻。此时上述画中画视频将继续循环播放。在该画中画视频播放到第8秒时,获取到再次启动第二段录制的视频录制请求,此时画中画视频会直接定位到上述第2秒对应的目标关键帧,并从该目标关键帧开始播放。进一步,假设第二段录制5秒后暂停,即画中画视频在第7秒时暂停录制。则在下一个视频录制片段再次启动录制时,画中画视频将从第7秒开始播放。上述录制过程中,如果当前录制的视频录制片段不满意,可以直接删除重新再录制。
如图5(d)所示,在完成多个视频录制片段完成录制后,可点击右上角完成按钮,进行预览导出。从而实现对多个视频录制片段进行拼接合成,以得到连续播放的第二视频。
通过本申请提供的实施例,响应视频录制请求,控制摄像头录制目标画面,并对目标画面进行编码,以得到第二视频中的视频录制片段;进一步在获取录制完成指令之后,对获取到的视频录制片段进行拼接,以生成第二视频。也就是说,通过多次录制调整得到的多个视频录制片段,在经过拼接后,可以再生成独立的第二视频。从而对第二视频实现灵活调整录制。
作为一种可选的方案,在控制摄像头录制目标画面时,还包括:
S1,确定开始录制目标画面的起始录制时刻;
S2,在第一视频中查找与起始录制时刻相匹配的目标关键帧;
S3,控制第一区域中的第一视频从目标关键帧开始播放,并控制第二区域同步呈现所录制的目标画面。
可选地,在本实施例中,在第一视频中查找与起始录制时刻相匹配的目标关键帧包括:在第一视频中的图像帧全部为关键帧的情况下,直接从关键帧中定位出与起始录制时刻相匹配的目标关键帧。
具体结合图6所示进行说明:
如图6所示“非全I帧普通seek”,则是在每次视频录制片段开始录制时,通常会在第一视频中定位出与上述视频录制片段的起始录制时刻的时间点相距最近的一个I帧,但由于相邻I帧之间包含的P帧影响,将使得所确定出用于同步播放的时间点不够精确。
如图6所示“非全I帧精确seek”,则是采用精确定位。先定位到与该视频录制片段的起始录制时刻的时间点相距最近的一个I帧,然后依次解码与该I帧相邻的P帧,以便于精准地确定出与上述视频录制片段的起始录制时刻匹配的P帧,但这种方式往往会占用很长查找时间,使得编码延时,进而影响视频播放实时性。
如图6所示“全I帧seek”,也就是本实施例中所提供的方式将第一视频配置为全I帧视频,可以直接快速地定位到与上述视频录制片段的起始录制时刻匹配的I帧。
通过本申请提供的实施例,在第二视频中的视频录制片段开始录制时,第一视频可以从上述定位出的精确的I帧开始播放,保证第一区域和第二区域中的视频可以按照相同进度同步播放。
作为一种可选的方案,对获取到的视频录制片段进行拼接,以生成第二视频包括:
作为一种可选的实施例,上述生成过程可以包括但不限于:
S1,在录制完成指令所指示的录制时长小于等于第一视频的播放时长的情况下,根据起始录制时刻对获取到的视频录制片段依次进行拼接;
S2,对拼接后的视频录制片段进行编码保存,以生成第二视频。
作为另一种可选的实施例,上述生成过程可以包括但不限于:
S1,在录制完成指令所指示的录制时长大于第一视频的播放时长的情况下,根据录制时长确定第一区域中第一视频被重复播放的播放次数;
S2,根据当前播放次数及起始录制时刻,对获取到的视频录制片段进行排序,得到视频片段序列;
S3,对视频片段序列依次进行拼接;
S4,对拼接后的视频录制片段进行编码保存,以生成第二视频。
需要说明的是,在本实施例中,第一视频是连续重复播放,因而第二视频的录制时长可以但不限于小于等于第一视频的播放时长,也可以但不限于大于第一视频的播放时长。
进一步,在第二视频的录制时长小于等于第一视频的播放时长的情况下,则可以直接对已存储的多个视频录制片段按序进行拼接,以生成第二视频。而在第二视频的录制时长大于第一视频的播放时长的情况下,则需结合第一视频当前的播放次数及起始录制时刻,共同确定多个视频录制片段的排序结果,得到视频片段序列,以便于准确地拼接生成第二视频。
可选地,在本实施例中,上述多个视频录制片段可以但不限于均为第0秒到第n秒的独立视频录制片段。因而在生成第二视频的过程中,可以但不限于根据各个视频录制片段在录制过程中的起始录制时刻(可以存储为时间戳),依次进行排序进行拼接。例如,假设多个视频录制片段为3个,分别为2秒的第一个视频录制片段,5秒的第二个视频录制片段,3秒的第三个视频录制片段。则按照顺序拼接,可以将第二个视频录制片段拼接在第2秒到第7秒,将第三个视频录制片段拼接在第7秒到第10秒,从而生成一个时长为10秒的第二视频。
通过本申请提供的实施例,通过将多个视频录制片段进行拼接,以得到独立的完整的第二视频,从而实现在合成编码过程中,可以避免出现衔接点丢帧的问题。进而达到保证视频播放连续性的效果。
作为一种可选的方案,
在对第一视频及第二视频进行合成处理之前,还包括:S1,对第一视频进行音视频分离,得到对象音频和对象视频;S2,解码对象视频得到第一图像帧,并解码第二视频得到第二图像帧;
对第一视频及第二视频进行合成处理,以得到目标视频包括:S1,对对象视频中的第一图像帧和第二视频中的第二图像帧,按照目标布局进行合成,得到合成视频中的合成图像帧;S2,对合成视频中的合成图像帧与对象音频进行音视频编码,以生成目标视频。
具体结合图7-8所示示例进行说明:
如图7所示,在对第一视频(如图所示画中画原始视频)进行音视频分离后,得到音频轨(对应对象音频)及视频轨1(对应对象视频)。第二视频为图7所示视频轨2(对应录制视频)。上述解码编码及合成过程可以但不限于应用于图8所示系统中,该系统包括:资源组合模块802、第一视频解码模块804、第二视频解码模块806、音频解码模块808、处理合成模块810、视频编码模块812、音频编码模块814及合成模块816。上述模块具体功能可以如下:
1)资源组合模块802:主要是将画中画视频和录制的多个视频录制片段,按照记录的时间点(如各个视频录制片段的起始录制时刻)和循环播放次数,以及画中画协议指定的布局,生成一个组合视频协议,便于播放器进行解码和合成渲染。
2)第一视频解码模块804和第二视频解码模块806及音频解码模块808:用于音视频解码。如视频解码器可以包括但不限于用于解码第一视频中的图像帧的第一视频解码模块804,及用于解码第二视频中的图像帧的第二视频解码模块806。音频解码器用于解码画中画视频中原始音频。在解码后,可以收集两个视频的图像帧,以便于送到处理合成模块进行渲染合成。
3)处理合成模块810:主要用于根据协议指定的布局进行合成渲染。
4)视频编码模块812、音频编码模块814:主要是进行音视频编码。即第一视频和第二视频合成后的视频数据送到视频编码模块812进行编码,解码出的音频数据直接送到音频解码模块814进行编码。因有多个视频录制片段,所以会先按照时间戳计算逻辑,合成独立完整的与第二视频对应的MP4格式的视频文件,再对从第一视频分离出的视频和上述第二视频进行二次编码处理。
5)合成模块816:用于音视频合成,以生成最终用于播放的目标视频。
通过本申请提供的实施例,对从第一视频分离出的对象视频中的第一图像帧和第二视频中的第二图像帧,按照目标布局进行合成,得到合成视频中的合成图像帧;再对合成视频中的合成图像帧与对象音频进行音视频编码,以生成目标视频。从而实现将各自独立的两个视频进行合成,其中第二视频在录制过程与第一视频是按照相同进度同步录制播放的。进而达到保证合成后的目标视频连续播放的效果,避免相关技术中由于衔接点丢帧导致的无法连续播放的问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述视频播放方法的视频播放装置,可以位于如图1或图2所示用户设备102中。如图9所示,该装置包括:
1)第一获取单元902,用于在显示屏的第一区域显示第一视频的过程中,获取视频录制请求,其中,第一视频中关键帧的数量大于第一阈值;
2)录制单元904,用于响应视频录制请求,录制画面以生成第二视频,其中,在录制过程中,在显示屏的第二区域中呈现第二视频中的视频录制片段,在开始录制视频录制片段时,第一区域中的第一视频从与视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使视频录制片段与第一视频同步播放;
3)合成单元906,用于对第一视频及第二视频进行合成处理,以得到目标视频;
4)播放单元908,用于在显示屏中播放目标视频。
需要说明的是,上述图9所示的各个单元可以但不限于位于图1所示视频播放控制系统中的用户设备102和服务器112中,也可以但不限于位于图2所示用户设备102中。上述仅是示例,本实施例中对此不作任何限定。
可选地,在本实施例中,上述视频播放装置可以但不限于应用于可以实现画中画视频播放的场景中,如视频播放应用、视频编辑应用、视频分享平台应用等等。需要说明的是,在本实施例的视频中可以包括但不限于:关键帧和非关键帧。例如,关键帧可以为内部画面帧(Intra Picture Frame,简称I帧),画面组(Group of Picture,简称GOP)的第一帧,非关键帧可以为P帧,依赖它前面的I帧或P帧预测得到。上述第一视频可以但不限于为应用客户端中预存的视频,第二视频可以但不限于为通过应用客户端所在设备的摄像头采集到的画面所生成的录制视频。上述仅是一种示例,本实施例中对此不作任何限定。
例如,以短视频分享平台应用为例,使用目标账号登录应用客户端后,选择在第一区域显示的第一视频,其中,该第一视频中关键帧的数量大于第一阈值。然后,在显示屏的第一区域显示该第一视频的过程中,获取对视频录制按钮执行操作所生成的视频录制请求,响应该视频录制请求,录制画面来生成第二视频,其中,该第二视频中可以包括但不限于多个视频录制片段,每个视频录制片段在开始录制时,第一区域中的第一视频也将从与该视频录制片段的起始录制片刻相对应的目标关键帧开始播放,从而使得显示屏中的第一视频和第二视频可以同步播放。进一步,对完成录制生成的第二视频和已有的第一视频进行合成处理,以得到无缝连接且可以实现同步连续播放的目标视频,进而避免相关技术中由于衔接点两个视频无法同步完成编码,使得合成后的视频出现丢帧导致播放不连续的问题。上述仅是一种示例,本实施例中对此不作任何限定。
需要说明的是,在本实施例中,在显示屏的第一区域中显示第一视频的同时,在显示屏的第二区域中预览正在录制的第二视频的视频录制片段,并利用视频录制片段生成独立的第二视频。其中,在录制过程中,第二视频中的视频录制片段在开始录制时,将控制第一区域中的第一视频定位到与上述视频录制片段的起始录制时刻相关联的目标关键帧,以使二者同步播放。从而实现在第二视频完成录制后,再对内容同步播放的第一视频和第二视频,两个独立的视频进行合成处理,以得到无缝连接的目标视频,达到合成后的目标视频可以连续播放的效果。进而克服相关技术中由于第一视频和第二视频二者无法同步完成编码,来及时得到一帧合成后的图像帧,使得所播放的合成视频在衔接点出现丢帧而无法连续播放的问题。
可选地,在本实施例中,上述第二视频可以包括但不限于多个视频录制片段。也就是说,可以通过控制暂停录制过程,或开启录制过程,来分多次录制以得到第二视频。其中,在暂停录制过程中,显示屏第一区域中的第一视频仍会继续播放,而第二区域中可以呈现摄像头正在采集的画面,但不会编码保存以得到第二视频中的视频录制片段。在开启录制的过程中,在第二区域中可以呈现摄像头正在采集的画面,并对该画面进行编码保存,以得到第二视频中的视频录制片段。也就是说在第二区域中可以预览所录制的第二视频中的视频录制片段。此外,在上述视频录制片段开始录制时,第一区域中的第一视频也将定位到与该视频录制片段的起始录制时刻对应的目标关键帧,从而实现第一区域和第二区域可以按照相同进度同步播放。
进一步,在本实施例中,在获取到录制完成指令后,可以但不限于对已经保存的多个视频录制片段进行拼接,并对拼接后的视频进行编码,以生成独立的第二视频。其中,上述生成的第二视频可以但不限于是以MP4格式保存的视频文件。
可选地,在本实施例中,上述第一视频中关键帧的数量可以但不限于该第一视频中全部图像帧的数量,也就是说第一视频可以配置为全I帧视频。
需要说明的是,在相关技术中通常会为第一视频(画中画视频)配置非全I帧视频。这样在每次视频录制片段开始录制时,通常会在第一视频中定位出与上述视频录制片段的起始录制时刻的时间点相距最近的一个I帧,但由于相邻I帧之间包含的P帧影响,将使得所确定出用于同步播放的时间点不够精确。此外,还有另外一种方式是采用精确定位。也就是先定位到与该视频录制片段的起始录制时刻的时间点相距最近的一个I帧,然后依次解码与该I帧相邻的P帧,以便于精准地确定出与上述视频录制片段的起始录制时刻匹配的P帧,但这种方式往往会占用很长查找时间,使得编码延时,进而影响视频播放实时性。而在本实施例中,将第一视频配置为全I帧视频,从而实现直接快速地定位到与上述视频录制片段的起始录制时刻匹配的I帧,以便于在第二视频中的视频录制片段开始录制时,第一视频可以从上述定位出的精确的I帧开始播放,保证第一区域和第二区域中的视频可以按照相同进度同步播放。
可选地,在本实施例中,在获取到第一视频之后,可以但不限于对该第一视频进行音视频分离,得到对象音频和对象视频。其中,在对第一视频和第二视频进行合成处理时,是对分离后的对象视频和第二视频进行视频合成编码处理。然后再对合成后的视频和上述分离出的对象音频进行音视频合成处理,从而实现将从原始的第一视频中分离的对象音频可以在最后完整地合成到目标视频中,从而避免由于视频录制片段的影响导致目标视频中音视频不同步的问题
通过本申请提供的实施例,在显示屏的第一区域中显示第一视频的同时,在显示屏的第二区域中预览正在录制的第二视频的视频录制片段,并利用视频录制片段生成独立的第二视频。其中,在录制过程中,第二视频中的视频录制片段在开始录制时,将控制第一区域中的第一视频定位到与上述视频录制片段的起始录制时刻相关联的目标关键帧,以使二者同步播放。从而实现在第二视频完成录制后,再对内容同步播放的第一视频和第二视频,两个独立的视频进行合成处理,以得到无缝连接的目标视频,达到合成后的目标视频可以连续播放的效果。进而克服相关技术中由于第一视频和第二视频二者无法同步完成编码,来及时得到一帧合成后的图像帧,使得所播放的合成视频在衔接点出现丢帧而无法连续播放的问题。
作为一种可选的方案,录制单元904包括:
1)第一控制模块,用于响应视频录制请求,控制摄像头录制目标画面;
2)第一编码模块,用于对目标画面进行编码,以得到第二视频中的视频录制片段;
3)获取模块,用于获取录制完成指令;
4)拼接模块,用于响应录制完成指令,对获取到的视频录制片段进行拼接,以生成第二视频。
可选地,在本实施例中,上述视频录制请求可以但不限于是执行人机交互操作所生成的请求。其中,该人机交互操作可以但不限于以下至少之一:对用户设备中的按键执行的点击操作、对用户设备的显示屏(也是人机交互屏幕)中所呈现的虚拟按键执行的触控操作、对用户设备中的语音触发按键执行操作,以便于通过用户设备的语音采集装置获取语音指令。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,在本实施例中,上述录制完成指令可以但不限于是在完成对第二视频中的多个视频录制片段的录制过程后所获取的控制指令。其中,该录制完成指令可以是执行人机交互操作后所生成的操作指令,如点击“完成”或“导出”等按键后生成的操作指令,也可以是在完成录制后自动生成的指令。本实施例中对此不作任何限定。
通过本申请提供的实施例,响应视频录制请求,控制摄像头录制目标画面,并对目标画面进行编码,以得到第二视频中的视频录制片段;进一步在获取录制完成指令之后,对获取到的视频录制片段进行拼接,以生成第二视频。也就是说,通过多次录制调整得到的多个视频录制片段,在经过拼接后,可以再生成独立的第二视频。从而对第二视频实现灵活调整录制。
作为一种可选的方案,还包括:
1)确定模块,用于在控制摄像头录制目标画面时,确定开始录制目标画面的起始录制时刻;
2)查找模块,用于在第一视频中查找与起始录制时刻相匹配的目标关键帧;
3)第二控制模块,用于控制第一区域中的第一视频从目标关键帧开始播放,并控制第二区域同步呈现所录制的目标画面。
通过本申请提供的实施例,在第二视频中的视频录制片段开始录制时,第一视频可以从上述定位出的精确的I帧开始播放,保证第一区域和第二区域中的视频可以按照相同进度同步播放。
作为一种可选的方案,查找模块包括:
1)定位子模块,用于在第一视频中的图像帧全部为关键帧的情况下,直接从关键帧中定位出与起始录制时刻相匹配的目标关键帧。
作为一种可选的方案,拼接模块包括:
1)第一拼接子模块,用于在录制完成指令所指示的录制时长小于等于第一视频的播放时长的情况下,根据起始录制时刻对获取到的视频录制片段依次进行拼接;
2)第一编码子模块,用于对拼接后的视频录制片段进行编码保存,以生成第二视频。
作为一种可选的方案,拼接模块包括:
1)确定子模块,用于在录制完成指令所指示的录制时长大于第一视频的播放时长的情况下,根据录制时长确定第一区域中第一视频被重复播放的播放次数;
2)排序子模块,用于根据当前播放次数及起始录制时刻,对获取到的视频录制片段进行排序,得到视频片段序列;
3)第二拼接子模块,用于对视频片段序列依次进行拼接;
4)第二编码子模块,用于对拼接后的视频录制片段进行编码保存,以生成第二视频。
需要说明的是,在本实施例中,第一视频是连续重复播放,因而第二视频的录制时长可以但不限于小于等于第一视频的播放时长,也可以但不限于大于第一视频的播放时长。
进一步,在第二视频的录制时长小于等于第一视频的播放时长的情况下,则可以直接对已存储的多个视频录制片段按序进行拼接,以生成第二视频。而在第二视频的录制时长大于第一视频的播放时长的情况下,则需结合第一视频当前的播放次数及起始录制时刻,共同确定多个视频录制片段的排序结果,得到视频片段序列,以便于准确地拼接生成第二视频。
可选地,在本实施例中,上述多个视频录制片段可以但不限于均为第0秒到第n秒的独立视频录制片段。因而在生成第二视频的过程中,可以但不限于根据各个视频录制片段在录制过程中的起始录制时刻(可以存储为时间戳),依次进行排序进行拼接。例如,假设多个视频录制片段为3个,分别为2秒的第一个视频录制片段,5秒的第二个视频录制片段,3秒的第三个视频录制片段。则按照顺序拼接,可以将第二个视频录制片段拼接在第2秒到第7秒,将第三个视频录制片段拼接在第7秒到第10秒,从而生成一个时长为10秒的第二视频。
通过本申请提供的实施例,通过将多个视频录制片段进行拼接,以得到独立的完整的第二视频,从而实现在合成编码过程中,可以避免出现衔接点丢帧的问题。进而达到保证视频播放连续性的效果。
作为一种可选的方案,上述装置还包括:分离单元,用于在对第一视频及第二视频进行合成处理之前,对第一视频进行音视频分离,得到对象音频和对象视频;解码单元,用于解码对象视频得到第一图像帧,并解码第二视频得到第二图像帧;合成模块包括:合成子模块,用于对象视频中的第一图像帧和第二视频中的第二图像帧,按照目标布局进行合成,得到合成视频中的合成图像帧;第三编码子模块,用于对合成视频中的合成图像帧与对象音频进行音视频编码,以生成目标视频。
通过本申请提供的实施例,对从第一视频分离出的对象视频中的第一图像帧和第二视频中的第二图像帧,按照目标布局进行合成,得到合成视频中的合成图像帧;再对合成视频中的合成图像帧与对象音频进行音视频编码,以生成目标视频。从而实现将各自独立的两个视频进行合成,其中第二视频在录制过程与第一视频是按照相同进度同步录制播放的。进而达到保证合成后的目标视频连续播放的效果,避免相关技术中由于衔接点丢帧导致的无法连续播放的问题。
根据本发明实施例的又一个方面,还提供了一种用于实施上述视频播放方法的电子装置,如图10所示,该电子装置包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在显示屏的第一区域显示第一视频的过程中,获取视频录制请求,其中,第一视频中关键帧的数量大于第一阈值;
S2,响应视频录制请求,录制画面以生成第二视频,其中,在录制过程中,在显示屏的第二区域中呈现第二视频中的视频录制片段,在开始录制视频录制片段时,第一区域中的第一视频从与视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使视频录制片段与第一视频同步播放;
S3,对第一视频及第二视频进行合成处理,以得到目标视频;
S4,在显示屏中播放目标视频。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的视频播放方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的视频播放方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储第一视频和第二视频,及画中画合成协议等信息。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述视频播放装置中的第一获取单元902、录制单元904、合成单元906及播放单元908。此外,还可以包括但不限于上述视频播放装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1008,用于显示第一视频和第二视频;和连接总线1010,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在显示屏的第一区域显示第一视频的过程中,获取视频录制请求,其中,第一视频中关键帧的数量大于第一阈值;
S2,响应视频录制请求,录制画面以生成第二视频,其中,在录制过程中,在显示屏的第二区域中呈现第二视频中的视频录制片段,在开始录制视频录制片段时,第一区域中的第一视频从与视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使视频录制片段与第一视频同步播放;
S3,对第一视频及第二视频进行合成处理,以得到目标视频;
S4,在显示屏中播放目标视频。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种视频播放方法,其特征在于,包括:
在显示屏的第一区域显示第一视频的过程中,获取视频录制请求,其中,所述第一视频中关键帧的数量大于第一阈值;
响应所述视频录制请求,录制画面以生成第二视频,其中,在录制过程中,在所述显示屏的第二区域中呈现所述第二视频中的视频录制片段,在开始录制所述视频录制片段时,所述第一区域中的所述第一视频从与所述视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使所述视频录制片段与所述第一视频同步播放;
其中,获取视频录制请求,响应所述视频录制请求,录制画面以生成第二视频,包括:
先录制t1秒后暂停录制,记录该时间点以作为下一段视频录制片段的起始录制时刻,所述第一视频继续循环播放,在所述第一视频播放到第t2秒时,获取到再次启动第二段视频录制的视频录制请求,所述第一视频直接定位到所述第t1秒对应的所述目标关键帧,并从所述目标关键帧开始播放;
对所述第一视频及所述第二视频进行合成处理,以得到目标视频;
在所述显示屏中播放所述目标视频。
2.根据权利要求1所述的方法,其特征在于,所述响应所述视频录制请求,录制画面以生成第二视频包括:
响应所述视频录制请求,控制摄像头录制目标画面;
对所述目标画面进行编码,以得到所述第二视频中的所述视频录制片段;
获取录制完成指令;
响应所述录制完成指令,对获取到的所述视频录制片段进行拼接,以生成所述第二视频。
3.根据权利要求2所述的方法,其特征在于,在所述控制摄像头录制目标画面时,还包括:
确定开始录制所述目标画面的所述起始录制时刻;
在所述第一视频中查找与所述起始录制时刻相匹配的所述目标关键帧;
控制所述第一区域中的所述第一视频从所述目标关键帧开始播放,并控制所述第二区域同步呈现所录制的所述目标画面。
4.根据权利要求3所述的方法,其特征在于,所述在所述第一视频中查找与所述起始录制时刻相匹配的所述目标关键帧包括:
在所述第一视频中的图像帧全部为所述关键帧的情况下,直接从所述关键帧中定位出与所述起始录制时刻相匹配的所述目标关键帧。
5.根据权利要求2所述的方法,其特征在于,所述对获取到的所述视频录制片段进行拼接,以生成所述第二视频包括:
在所述录制完成指令所指示的录制时长小于等于所述第一视频的播放时长的情况下,根据所述起始录制时刻对获取到的所述视频录制片段依次进行拼接;
对拼接后的所述视频录制片段进行编码保存,以生成所述第二视频。
6.根据权利要求2所述的方法,其特征在于,所述对获取到的所述视频录制片段进行拼接,以生成所述第二视频包括:
在所述录制完成指令所指示的录制时长大于所述第一视频的播放时长的情况下,根据所述录制时长确定所述第一区域中所述第一视频被重复播放的播放次数;
根据所述播放次数及所述起始录制时刻,对获取到的所述视频录制片段进行排序,得到视频片段序列;
对所述视频片段序列依次进行拼接;
对拼接后的所述视频录制片段进行编码保存,以生成所述第二视频。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述对所述第一视频及所述第二视频进行合成处理之前,还包括:
对所述第一视频进行音视频分离,得到对象音频和对象视频;
解码所述对象视频得到第一图像帧,并解码所述第二视频得到第二图像帧。
8.根据权利要求7所述的方法,其特征在于,所述对所述第一视频及所述第二视频进行合成处理,以得到目标视频包括:
对所述对象视频中的所述第一图像帧和所述第二视频中的所述第二图像帧,按照目标布局进行合成,得到合成视频中的合成图像帧;
对所述合成视频中的所述合成图像帧与所述对象音频进行音视频编码,以生成所述目标视频。
9.一种视频播放装置,其特征在于,包括:
第一获取单元,用于在显示屏的第一区域显示第一视频的过程中,获取视频录制请求,其中,所述第一视频中关键帧的数量大于第一阈值;
录制单元,用于响应所述视频录制请求,录制画面以生成第二视频,其中,在录制过程中,在所述显示屏的第二区域中呈现所述第二视频中的视频录制片段,在开始录制所述视频录制片段时,所述第一区域中的所述第一视频从与所述视频录制片段的起始录制时刻对应的目标关键帧开始播放,以使所述视频录制片段与所述第一视频同步播放;
合成单元,用于对所述第一视频及所述第二视频进行合成处理,以得到目标视频;
播放单元,用于在所述显示屏中播放所述目标视频;
其中,所述装置用于通过如下方式获取视频录制请求,响应所述视频录制请求,录制画面以生成第二视频:先录制t1秒后暂停录制,记录该时间点以作为下一段视频录制片段的起始录制时刻,所述第一视频继续循环播放,在所述第一视频播放到第t2秒时,获取到再次启动第二段视频录制的视频录制请求,所述第一视频直接定位到所述第t1秒对应的所述目标关键帧,并从所述目标关键帧开始播放;对所述第一视频及所述第二视频进行合成处理,以得到目标视频;在所述显示屏中播放所述目标视频。
10.根据权利要求9所述的装置,其特征在于,所述录制单元包括:
第一控制模块,用于响应所述视频录制请求,控制摄像头录制目标画面;
第一编码模块,用于对所述目标画面进行编码,以得到所述第二视频中的所述视频录制片段;
获取模块,用于获取录制完成指令;
拼接模块,用于响应所述录制完成指令,对获取到的所述视频录制片段进行拼接,以生成所述第二视频。
11.根据权利要求10所述的装置,其特征在于,还包括:
确定模块,用于在所述控制摄像头录制目标画面时,确定开始录制所述目标画面的所述起始录制时刻;
查找模块,用于在所述第一视频中查找与所述起始录制时刻相匹配的所述目标关键帧;
第二控制模块,用于控制所述第一区域中的所述第一视频从所述目标关键帧开始播放,并控制所述第二区域同步呈现所录制的所述目标画面。
12.根据权利要求11所述的装置,其特征在于,所述查找模块包括:
定位子模块,用于在所述第一视频中的图像帧全部为所述关键帧的情况下,直接从所述关键帧中定位出与所述起始录制时刻相匹配的所述目标关键帧。
13.根据权利要求11所述的装置,其特征在于,所述拼接模块包括:
第一拼接子模块,用于在所述录制完成指令所指示的录制时长小于等于所述第一视频的播放时长的情况下,根据所述起始录制时刻对获取到的所述视频录制片段依次进行拼接;
第一编码子模块,用于对拼接后的所述视频录制片段进行编码保存,以生成所述第二视频。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序可被终端设备或计算机运行时执行所述权利要求1至8任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290904.5A CN109905749B (zh) | 2019-04-11 | 2019-04-11 | 视频播放方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290904.5A CN109905749B (zh) | 2019-04-11 | 2019-04-11 | 视频播放方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109905749A CN109905749A (zh) | 2019-06-18 |
CN109905749B true CN109905749B (zh) | 2020-12-29 |
Family
ID=66954695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910290904.5A Active CN109905749B (zh) | 2019-04-11 | 2019-04-11 | 视频播放方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905749B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110248245B (zh) * | 2019-06-21 | 2022-05-06 | 维沃移动通信有限公司 | 一种视频定位方法、装置、移动终端及存储介质 |
CN112218154B (zh) * | 2019-07-12 | 2023-02-10 | 腾讯科技(深圳)有限公司 | 视频的获取方法和装置、存储介质及电子装置 |
CN112653916B (zh) * | 2019-10-10 | 2023-08-29 | 腾讯科技(深圳)有限公司 | 一种音视频同步优化的方法及设备 |
CN113542844A (zh) * | 2021-07-28 | 2021-10-22 | 北京优酷科技有限公司 | 视频数据处理方法、装置及存储介质 |
CN115720292B (zh) * | 2021-08-23 | 2024-08-23 | 北京字跳网络技术有限公司 | 视频录制方法、设备、存储介质及程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106804002A (zh) * | 2017-02-14 | 2017-06-06 | 北京时间股份有限公司 | 一种视频处理系统及方法 |
CN108632541A (zh) * | 2017-03-20 | 2018-10-09 | 杭州海康威视数字技术股份有限公司 | 一种多视频片段合并方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771853A (zh) * | 2010-01-29 | 2010-07-07 | 华为终端有限公司 | 会议内容播放的方法及装置 |
CN102821308B (zh) * | 2012-06-04 | 2014-11-05 | 西安交通大学 | 一种多场景流媒体课件录制与直播方法 |
US9973722B2 (en) * | 2013-08-27 | 2018-05-15 | Qualcomm Incorporated | Systems, devices and methods for displaying pictures in a picture |
CN106792152B (zh) * | 2017-01-17 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种视频合成方法及终端 |
CN108566519B (zh) * | 2018-04-28 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 视频制作方法、装置、终端和存储介质 |
CN109348155A (zh) * | 2018-11-08 | 2019-02-15 | 北京微播视界科技有限公司 | 视频录制方法、装置、计算机设备和存储介质 |
-
2019
- 2019-04-11 CN CN201910290904.5A patent/CN109905749B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106804002A (zh) * | 2017-02-14 | 2017-06-06 | 北京时间股份有限公司 | 一种视频处理系统及方法 |
CN108632541A (zh) * | 2017-03-20 | 2018-10-09 | 杭州海康威视数字技术股份有限公司 | 一种多视频片段合并方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109905749A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109905749B (zh) | 视频播放方法和装置、存储介质及电子装置 | |
US10939069B2 (en) | Video recording method, electronic device and storage medium | |
CN107613235B (zh) | 视频录制方法和装置 | |
CN113965811B (zh) | 播放控制方法和装置、存储介质及电子装置 | |
CN104159151B (zh) | 一种在ott盒子上进行视频截取并处理的装置及方法 | |
KR100579387B1 (ko) | 디지털 정보의 효율적인 전송 및 재생 | |
WO2017140229A1 (zh) | 移动终端的视频录制方法和装置 | |
CN109587570B (zh) | 视频的播放方法和装置 | |
CN109168037B (zh) | 视频播放方法和装置 | |
CN106792152B (zh) | 一种视频合成方法及终端 | |
EP3361738A1 (en) | Method and device for stitching multimedia files | |
CN100546360C (zh) | 视频处理装置,及添加时间代码和准备编辑列表的方法 | |
CN103428555A (zh) | 一种多媒体文件的合成方法、系统及应用方法 | |
CN112218154B (zh) | 视频的获取方法和装置、存储介质及电子装置 | |
CN112188307B (zh) | 视频资源的合成方法、装置、存储介质及电子装置 | |
CN204013943U (zh) | 一种在ott盒子上进行视频截取并处理的装置 | |
EP3748978A1 (en) | Screen recording method, client, and terminal device | |
CN112383790A (zh) | 直播的录屏方法、装置、电子设备及存储介质 | |
US20240107087A1 (en) | Server, terminal and non-transitory computer-readable medium | |
CN107231537B (zh) | 一种画中画切换方法和装置 | |
US20170213577A1 (en) | Device for generating a video output data stream, video source, video system and method for generating a video output data stream and a video source data stream | |
US20090214179A1 (en) | Display processing apparatus, control method therefor, and display processing system | |
KR102069897B1 (ko) | 사용자 영상 생성 방법 및 이를 위한 장치 | |
CN103313124A (zh) | 本地录制业务的实现方法和装置 | |
JP6513854B2 (ja) | 映像再生装置および映像再生方法 |
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 |