视频处理方法、装置及设备
阅读说明:本技术 视频处理方法、装置及设备 (Video processing method, device and equipment ) 是由 刘江浩 于 2020-03-18 设计创作,主要内容包括:本申请实施例提供一种视频处理方法、装置及设备,该方法包括:获取多个轨道的属性信息以及所述多个轨道与多路视频之间的对应关系;基于所述轨道的属性信息,生成对应路视频的渲染信息;根据所述多路视频的渲染信息对所述多路视频进行渲染,以得到所述多路视频的合成画面。本申请能够根据合成需求实现对多个视频灵活的合成处理。(The embodiment of the application provides a video processing method, a video processing device and video processing equipment, wherein the method comprises the following steps: acquiring attribute information of a plurality of tracks and corresponding relations between the plurality of tracks and a plurality of paths of videos; generating rendering information of the corresponding road video based on the attribute information of the track; rendering the multi-channel video according to the rendering information of the multi-channel video to obtain a composite picture of the multi-channel video. According to the method and the device, flexible synthesis processing of the plurality of videos can be achieved according to synthesis requirements.)
技术领域
本申请涉及视频处理
技术领域
,尤其涉及一种视频处理方法、装置及设备。背景技术
随着多媒体技术的不断发展,对视频进行合成的需求也越来越多,通过对多个视频进行合成,能够实现在同一屏幕中同时播放该多个视频。例如,可以将实时拍摄的视频与视频素材进行合成,实现视频合拍。
在对多个视频进行合成时,需要针对该多个视频进行合成处理,由于人们对于视频的合成制作需求日趋旺盛,且形式多样,需求复杂多变,因此如何能够根据合成需求实现对多个视频灵活的合成处理,成为目前亟待解决的问题。
发明内容
本申请实施例提供一种视频处理方法、装置及设备,用以解决现有技术中如何能够根据合成需求实现对多个视频灵活的合成处理的问题。
第一方面,本申请实施例提供一种视频处理方法,所述方法包括:
获取多个轨道的属性信息以及所述多个轨道与多路视频之间的对应关系;
基于所述轨道的属性信息,生成对应路视频的渲染信息;
根据所述多路视频的渲染信息对所述多路视频进行渲染,以得到所述多路视频的合成画面。
第二方面,本申请实施例提供一种视频处理装置,所述装置包括:
获取模块,用于获取多个轨道的属性信息以及所述多个轨道与多路视频之间的对应关系;
生成模块,用于基于所述轨道的属性信息,生成对应路视频的渲染信息;
合成模块,用于根据所述多路视频的渲染信息对所述多路视频进行渲染,以得到所述多路视频的合成画面。
第三方面,本申请实施例提供一种用户设备,包括:存储器、处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第一方面任一项所述的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包含至少一段代码,所述至少一段代码可由计算机执行,以控制所述计算机执行如第一方面任一项所述的方法。
本申请实施例还提供一种计算机程序,当所述计算机程序被计算机执行时,用于实现如第一方面任一项所述的方法。
本申请实施例提供的视频处理方法、装置及设备,通过获取多个轨道的属性信息以及多个轨道与多路视频之间的对应关系,基于轨道的属性信息生成对应路视频的渲染信息,并根据多路视频的渲染信息对多路视频进行渲染,以得到多路视频的合成画面,实现了基于抽象出的轨道提供符合合成需求的合成处理,具体可以基于合成需求灵活的进行轨道配置,并基于轨道配置实现符合合成需求的合成处理,从而能够根据合成需求实现灵活的视频合成处理。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-图2为本申请实施例的应用场景示意图;
图3为本申请一实施例提供的视频处理方法的流程示意图;
图4A-图4D为获取轨道配置的示意图;
图5A和图5B为多个轨道与多路视频的关系示意图;
图6A和图6B为合拍视频的流程示意图;
图7为本申请一实施例提供的视频处理装置的结构示意图;
图8为本申请一实施例提供的用户设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
下面通过两个示例性的应用场景具体说明本申请各个实施例提供的视频处理方法。
场景一
在一个场景中,如图1所示,视频处理装置11可以先获得视频素材,例如可以从服务器获得视频素材,当然也可以通过其他方式获得视频素材,本申请对此不作限定。在获得视频素材之后,用户开启视频合拍功能情况下,视频处理装置11可以将视频采集装置12(例如相机)采集的视频作为一路视频,将预先获得的视频素材作为另一路视频,采用本申请实施例提供的视频处理方法进行处理,以得到这两路视频的合成画面。
在得到这两路视频的合成画面之后,如图1所示,视频处理装置11可以通过显示装置13对合成画面进行显示。和/或,在得到这两路视频的合成画面之后,可以对合成画面进行编码并在编码之后进行存储。
需要说明的是,视频处理装置11可以在视频采集装置12采集视频的过程中,执行本申请实施例提供的视频处理方法,此时可以理解为实时合成方案;或者,视频处理装置11可以在视频采集装置12结束视频采集之后,执行本申请实施例提供的视频处理方法,此时可以理解为后合成方案。
图1中视频处理装置11、视频采集装置12以及显示装置13可以实现为能够提供视频合拍功能的用户设备,例如智能手机、平板电脑等。当然,在其他实施例中,也可以实现为其他形式,本申请对此不作限定,例如一用户设备可以包括视频采集装置12和显示装置13,该用户设备之外的其他设备可以包括视频处理装置11,且两个设备之间可以通信。
场景二
在另一个场景中,如图2所示,数据接收装置14可以从服务器15接收视频流。其中,对应于点播场景,数据接收装置14从服务器15接收到的视频流可以为服务器15中预先存储视频的视频流;对于直播场景,数据接收装置14从服务器15接收到的视频流可以为服务器15从其他设备实时接收视频的视频流。
如图2所示,在视频采集装置12实时采集视频的过程中,视频处理装置11可以将视频采集装置12实时采集的视频作为一路视频,并将数据接收装置14接收到的视频流作为另一路视频,采用本申请实施例提供的视频处理方法进行处理,以得到这两路视频的合成画面。
在得到这两路视频的合成画面之后,如图2所示,可以通过显示装置13对合成画面进行显示。和/或,在得到这两路视频的合成画面之后,可以对合成画面进行编码,并在编码之后进行存储和/或通过数据发送装置16发送至服务器15。服务器15在接收到合成画面之后可以对其进行存储,以便于其他设备对合成后的视频进行点播,或者可以将合成画面转发至其他设备,以便于对合成后的视频进行直播。
图2中视频处理装置11、视频采集装置12、显示装置13、数据接收装置14及数据发送装置16可以实现为能够提供视频播放及采集功能的用户设备,例如智能手机、平板电脑、台式电脑、可穿戴设备等。当然,在其他实施例中,也可以实现为其他形式,本申请对此不作限定,例如一用户设备可以包括视频采集装置12、显示装置13、数据接收装置14和数据发送装置16,该用户设备之外的其他设备可以包括视频处理装置11,且两个设备之间可以通信。
需要说明的是,图1、图2所示的应用场景仅为本申请提供的视频处理方法的场景举例,并不作为限制。本申请提供的视频处理方法可以应用于任意需要合成视频的场景,待合成的视频可以为同一视频,或者为不同视频,可以将待合成的视频分为两路或者更多路进行合成。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图3为本申请一实施例提供的视频处理方法的流程示意图,本实施例的执行主体可以为图1、图2中的视频处理装置。如图3所示,本实施例的方法可以包括:
步骤301,获取多个轨道的属性信息以及所述多个轨道与多路视频之间的对应关系;
步骤302,基于所述轨道的属性信息,生成对应路视频的渲染信息;
步骤303,根据所述多路视频的渲染信息对所述多路视频进行渲染,以得到所述多路视频的合成画面。
本申请实施例中,可以基于轨道提供符合合成需求的多路视频的合成处理。其中,轨道是抽象出来的概念,多个轨道对应于用于进行合成的多路视频,而与一般视频中讲到的音轨和视轨的含义不同。示例性的,所述轨道的属性信息可以与合成需求相对应,用于表征对应路视频在屏幕上的显示区域。
本申请实施例中,所述合成需求可以为固定需求,轨道的属性信息可以为预先配置的信息。基于此,可以采用从存储空间中读取信息的方式获取所述多个轨道的属性信息。在需要提供符合一合成需求的合成处理方式情况下,可以将轨道的属性信息预先配置为与该合成需求对应的取值;在需要提供符合另一合成需求的合成处理方式情况下,可以将轨道的属性信息预先配置为符合该另一合成需求对应的取值。示例性的,轨道的属性信息可以由软件开发平台提供的接口函数进行预先设置,基于该软件开发平台进行软件开发的软件开发人员可以通过调用接口函数的方式对轨道的属性信息进行预先设置以便轨道的属性信息能够与合成需求对应,有利于提高软件开发人员基于软件开发平台进行软件开发的灵活性。可选的,所述轨道的数量也可以由软件开发人员调用接口函数的方式进行预先设置。
或者,所述合成需求可以为可变需求,轨道的属性信息可以为可配置的信息,即所述轨道的属性信息可以是可变配置。基于此,可以采用获取用户输入信息的方式获取所述多个轨道的属性信息。在合成需求是可变需求的情况下,所述轨道的数量可以为固定数量或可变数量,通过所述轨道的数量为可变数量,即所述轨道的数量是可配置的,有利于进一步提高合成的灵活性。
示例性的,可以预先设置多个候选需求分别对应的轨道配置,获取用户从多个候选需求中选择的合成需求,以得到与该合成需求对应的轨道配置,例如,轨道的数量以及多个轨道中各轨道的属性信息。
示例性的,可以通过接收用户在用户界面中输入的绘图指令的方式,获取与用户的合成需求对应的轨道配置。假设用户如图4A所示从屏幕的A点开始垂直向下到屏幕的B点绘制了如图4B所示的直线,则参考图4B,轨道的数量可以为2,且一个轨道的属性信息表征其对应路视频在屏幕上的显示区域为区域1,另一个轨道的属性信息表征其对应路视频在屏幕上的显示区域为区域2。进一步的,如图4C所示,假设用户在图4B的基础上从屏幕的C点开始水平向右到屏幕的D点绘制了如图4D所示的直线,则参考图4D,轨道的数量可以为4,4个轨道分别记为轨道a-轨道d,其中,轨道a的属性信息表征其对应路视频在屏幕上的显示区域为区域11,轨道b的属性信息表征其对应路视频在屏幕上的显示区域为区域12,轨道c的属性信息表征其对应路视频在屏幕上的显示区域为区域21,轨道d的属性信息表征其对应路视频在屏幕上的显示区域为区域22。
示例性的,可以直接接收用户基于合成需求输入的轨道配置数据。例如,以屏幕的左上角为坐标原点且坐标系为归一化坐标系为例,当用户输入四组信息(四组信息对应4个轨道)分别为{中心点坐标(0.25,0.25),宽度0.5,高度0.5}、{中心点坐标(0.75,0.25),宽度0.5,高度0.5}、{中心点坐标(0.25,0.75),宽度0.5,高度0.5}以及{中心点坐标(0.25,0.25),宽度0.5,高度0.5}时,则各轨道对应路视频在屏幕上的显示区域可以如图4D所示。
需要说明的是,图4D中以对应路视频在屏幕上的显示区域为正方形区域为例,可以理解的是,显示区域还可以为其他形状,例如长方形、圆形等,具体可以根据需求灵活实现。需要说明的是,图4C中以不同显示区域未重叠为例,可以理解的是不同显示区域还可以部分重叠,例如画中画的合成形式。
本申请实施例中,轨道的属性信息具体可以为能够表征对应路视频在屏幕上的显示区域的任意类型的信息。示例性的,所述轨道的属性信息可以包括下述中的一种或多种:中心点坐标、高度或宽度。
本申请实施例中,所述多路视频中的至少一路视频可以由用户设置,以实现将用户选择的视频进行视频合成,基于此,所述对应关系可以根据用户设置确定。可选的,所述多路视频中的部分路视频可以为预设视频,以实现将用户选择的视频与预设视频进行视频合成,基于此,所述对应关系还可以基于预设配置确定。
可选的,所述多路视频的视频内容可以均相同,例如均对应同一视频文件,通过多路视频的视频内容均相同,能够实现将同一视频在同一画面中不同位置的重复,有利于提高播放该视频的灵活性。
可选的,所述多路视频中至少两路视频的视频内容可以不同,通过至少两路视频的视频内容不同,能够实现将不同视频在同一页面中不同位置呈现,有利于提高播放多个视频的灵活性。例如两路中一路视频为视频素材1,另一路视频为视频素材2,又例如,三路视频中一路视频为视频素材1、一路视频为相机采集的视频,一路视频为视频素材2。示例性的,所述至少两路视频中一路视频为视频素材,另一路视频为相机拍摄的视频。通过一路视频为视频素材,另一路视频为相机拍摄的视频,能够实现视频合拍功能。
本申请实施例中,所述多路视频中各路视频的视频个数可以均为1个,有利于简化实现。对应于图4D,在各路视频的个数均为一个且各轨道对应视频不同的情况下,多个轨道与多路视频的对应关系可以如图5A所示。如图5A所示,轨道a对应路视频包括视频1,轨道b对应路视频包括视频2,轨道c对应路视频包括视频3,轨道d对应路视频包括视频4。
或者,所述多路视频中至少一路视频的视频个数可以为多个,有利于进一步提高视频合成的灵活性。基于此,该多个视频可以同时播放,例如叠加显示区域11,或者,该多个视频之间可以存在播放顺序关系,即先播放该多个视频中的哪一个视频,再播放该多个视频中的哪一个视频,然后播放该多个视频中的哪一个视频,……。在多个视频之间存在播放顺序关系情况下,可以通过该多个视频的首尾连接关系表征该多个视频的播放顺序关系,基于此,对应于图4D,在至少一路视频的个数为多个且各轨道对应视频不同的情况下,多个轨道与多路视频的对应关系可以如图5B所示。如图5B所示,轨道a对应路视频包括视频5、视频6和视频7,轨道b对应路视频包括视频8,轨道c对应路视频包括视频9和视频10,轨道d对应路视频包括视频11。当然,在其他实施例中,也可以通过其他方式表征该多个视频的播放顺序关系,本申请对此不作限定。
需要说明的是,图5A和图5B中不同轨道分别对应路视频的时长相同仅为举例,不作为实施本申请的限制。
在获取多个轨道的属性信息以及所述多个轨道与多路视频之间的对应关系之后,可以基于所述轨道的属性信息,生成对应路视频的渲染信息。其中,一路视频的渲染信息用于渲染引擎对该路视频进行渲染,以得到多路视频的合成画面。参照图4D,可以基于轨道a的属性信息生成轨道a对应路视频的渲染信息,以将轨道a对应路视频中的视频帧依次渲染至显示区域11,可以基于轨道b的属性信息生成轨道b对应路视频的渲染信息,以将轨道b对应路视频中的视频帧依次渲染至显示区域12,可以基于轨道c的属性信息生成轨道c对应路视频的渲染信息,以将轨道c对应路视频中的视频帧依次渲染至显示区域21,可以基于轨道d的属性信息生成轨道d对应路视频的渲染信息,以将轨道d对应路视频中的视频帧依次渲染至显示区域22,进而实现将4个轨道分别对应的4路视频渲染至同一显示屏幕,从而得到该4路视频的合成画面。
本申请实施例中,所述渲染信息可以包括渲染位置信息和渲染顺序信息;所述基于所述轨道的属性信息,生成对应路视频的渲染信息,具体可以包括:根据各轨道的属性信息,分别生成各轨道对应路视频中视频帧在屏幕中的渲染位置,以得到渲染位置信息;以及,以轨道为单元按照播放时间先后顺序,分别生成各轨道对应路视频中视频帧的时间戳,以得到渲染顺序信息。
参照图5A,基于轨道a的属性信息生成视频1中视频帧的渲染位置为屏幕的区域11的信息,基于轨道b的属性信息生成视频2中视频帧的渲染位置为屏幕的区域12的信息,基于轨道c的属性信息生成视频3中视频帧的渲染位置为屏幕的区域21的信息,基于轨道d的属性信息生成视频4中视频帧的渲染位置为屏幕的区域22的信息,从而得到渲染位置信息。
以视频1至视频4同时播放,且每1秒播放一个视频帧为例,视频1-视频4的第一个视频帧对应的时间戳可以为播放时间中的第0秒,视频1-视频4的第二个视频帧对应的时间戳可以为播放时间中的第1秒,视频1-视频4的第三个视频帧对应的时间戳可以为播放时间中的第2秒,视频1-视频4的第四个视频帧对应的时间戳可以为播放时间中的第3秒,……,依次类推,从而得到渲染顺序信息。需要说明的是,这里为了便于描述以每1秒播放一个视频帧为例,在实际应用中一秒可以播放多个视频帧。
在所述多路视频中至少一路视频的视频个数为多个,且该多个视频之间存在播放顺序关系情况下,所述基于所述轨道的属性信息,生成对应路视频的渲染信息,具体可以包括:基于所述轨道的属性信息以及所述播放顺序关系,生成对应路视频的渲染信息。参照图5B,基于轨道a的属性信息生成视频5、视频6和视频7中视频帧的渲染位置为屏幕的区域11的信息,基于轨道b的属性信息生成视频8中视频帧的渲染位置为屏幕的区域12的信息,基于轨道c的属性信息生成视频9和视频10中视频帧的渲染位置为屏幕的区域21的信息,基于轨道d的属性信息生成视频11中视频帧的渲染位置为屏幕的区域22的信息,从而得到渲染位置信息。
以视频5、视频8、视频9和视频11同时播放,且每1秒播放一个视频帧为例,视频5、视频8、视频9和视频11的第一个视频帧对应的时间戳可以为播放时间中的第0秒,视频5、视频8、视频9和视频11的第二个视频帧对应的时间戳可以为播放时间中的第1秒,……,假设视频5包括10个视频帧,则视频6的第一个视频帧、视频8、9、11的第11个视频帧对应的时间戳可以为播放时间中的第10秒,视频6的第二个视频帧、视频8、9、11的第12个视频帧对应的时间戳可以为播放时间中的第11秒,……,依次类推,从而得到渲染顺序信息。
需要说明的是,以上基于图5A和图5B生成渲染位置信息和渲染顺序信息的举例说明是以轨道对应路的视频均为已录制视频为例。在轨道对应路视频包括实时录制视频情况下,基于视频帧的采集速率与播放速率关系的不同,实时录制视频的视频帧的时间戳可以不同。
在采集速率大于播放速率情况下,所采集的视频帧对于播放来说是过剩的,此时采集到的部分视频帧不存在时间戳从而不会被渲染显示,以视频帧的采集速率为播放速率的2倍且每1秒播放一个视频帧为例,实时录制视频的第一个视频帧对应的时间戳可以为播放时间中的第0秒,实时录制视频的第三个视频帧对应的时间戳可以为播放时间中的第1秒,实时录制视频的第五个视频帧对应的时间戳可以为播放时间中的第2秒,……;实时录制视频的第二、四、六等视频帧不存在对应时间戳。
在采集速率小于播放速率情况下,所采集的视频帧对于播放来说是不足的,此时采集到的至少部分视频帧存在多个时间戳,以视频帧的采集速率为播放速率的二分之一且每1秒播放一个视频帧为例,实时录制视频的第一个视频帧对应的时间戳可以为播放时间中的第0秒和第1秒,实时录制视频的第二个视频帧对应的时间戳可以为播放时间中的第2秒和第3秒,实时录制视频的第三个视频帧对应的时间戳可以为播放时间中的第4秒和第5秒,……;实时录制视频的每个视频帧均对应两个时间戳。
在采集速率等于播放速率情况下,采集到的所有视频帧均可以存在一个时间戳,以每1秒播放一个视频帧为例,实时录制视频的第一个视频帧对应的时间戳可以为播放时间中的第0秒,实时录制视频的第二个视频帧对应的时间戳可以为播放时间中的第1秒,实时录制视频的第三个视频帧对应的时间戳可以为播放时间中的第2秒,……;实时录制视频的每个视频帧均对应一个时间戳。
本申请实施例中,还可以设置轨道之间的轨间渲染效果,以进一步提高渲染的灵活性。基于此,本申请实施例提供的方法还可以包括:获取所述多个轨道中至少两个轨道之间的渲染参数,所述渲染参数用于联合所述至少两个轨道对应路视频进行渲染。以设置轨道a和轨道b之间的轨间渲染效果为例,轨道a和轨道b之间的渲染参数例如可以包括:轨道a对应路视频与轨道b对应路视频进行叠加渲染的渲染参数。当然,在其他实施例中还可以为叠加参数之外的其他渲染参数,本申请对此不作限定。
相应的,所述基于所述轨道的属性信息,生成对应路视频的渲染信息,具体可以包括:基于所述轨道的属性信息以及所述至少两个轨道之间的渲染参数,生成对应路视频的渲染信息。以设置轨道a对应路视频与轨道b对应路视频进行叠加渲染的渲染参数为例,轨道a和轨道b对应路视频的渲染信息可以基于轨道a和轨道b之间的渲染参数。
在生成对应路视频的渲染信息之后,可以根据所述多路视频的渲染信息对所述多路视频进行渲染,以得到所述多路视频的合成画面。示例性的,可以由渲染系统根据所述多路视频的渲染信息对所述多路视频进行渲染。需要说明的是,对于渲染系统来说,其并不关心轨道的概念,轨道的概念是用于得到轨道对应路视频的渲染信息,在得到渲染信息之后,渲染系统要做的就是基于多路视频的渲染信息,对多路视频进行渲染。参照图5A,渲染系统可以基于视频1的渲染信息,将视频1的视频帧依次渲染至显示区域11,渲染系统可以基于视频2的渲染信息,将视频2的视频帧依次渲染至显示区域12,渲染系统可以基于视频3的渲染信息,将视频3的视频帧依次渲染至显示区域21,渲染系统可以基于视频4的渲染信息,将视频4的视频帧依次渲染至显示区域22,以得到视频1、视频2、视频3和视频4的合成画面。
本申请实施例中,在多路视频中任意一路视频的数据为编码数据场景下,在渲染系统进行渲染之前,可以对编码数据进行解码。以实时合成方案的视频合拍为例,如图6A所示,一路视频可以为相机实时采集的视频数据,该视频数据为未编码数据,例如可以为N21格式的视频数据,另一路视频为已有视频文件“视频素材.mp4”中存储的编码数据,经解码(decode)之后可以得到例如YUV格式的视频数据,两路视频数据经渲染系统进行渲染之后可以得到合成画面。
以后合成方案的视频合拍为例,如图6B所示,一路可以为相机录制的视频文件“相机录制.mp4”中存储的编码数据,经解码之后可以得到例如YUV格式的视频数据,另一路视频为已有视频文件“视频素材.mp4”中存储的编码数据,经解码之后可以得到例如YUV格式的视频数据,两路视频数据经渲染系统进行渲染之后可以得到合成画面。
在根据所述多路视频的渲染信息对所述多路视频进行渲染之后,还可以对渲染结果进行进一步处理。可选的,本申请实施例还可以包括:对根据所述多路视频的渲染信息对所述多路视频进行渲染的渲染结果进行后续处理。所述后续处理的具体处理方式可以根据需求灵活实现,示例性的,所述后续处理包括下述中的一种或多种:播放(play)处理、预览(preview)处理或编码(encode)处理。在编码处理之后可以对编码数据进行存储已获得合成视频的文件,或者,在编码处理之后可以将编码数据发送至其他设备,以便其他设备对编码数据进行解码展示或者转发。
通过本申请实施例提供的视频处理方法,获取多个轨道的属性信息以及多个轨道与多路视频之间的对应关系,基于轨道的属性信息生成对应路视频的渲染信息,并根据多路视频的渲染信息对多路视频进行渲染,以得到多路视频的合成画面,实现了基于抽象出的轨道提供符合合成需求的合成处理,具体可以基于合成需求灵活的进行轨道配置,并基于轨道配置实现符合合成需求的合成处理,从而能够根据合成需求实现灵活的视频合成处理。
图7为本申请一实施例提供的视频处理装置的结构示意图;参考附图7所示,本实施例提供了一种视频处理装置,该装置可以执行上述的视频处理方法,具体的,该视频处理装置可以包括:
获取模块71,用于获取多个轨道的属性信息以及所述多个轨道与多路视频之间的对应关系;
生成模块72,用于基于所述轨道的属性信息,生成对应路视频的渲染信息;
合成模块73,用于根据所述多路视频的渲染信息对所述多路视频进行渲染,以得到所述多路视频的合成画面。
可选的,所述渲染信息包括渲染位置信息和渲染顺序信息;所述生成模块72具体用于:
根据各轨道的属性信息,分别生成各轨道对应路视频中视频帧在屏幕中的渲染位置,以得到渲染位置信息;
以轨道为单元按照播放时间先后顺序,分别生成各轨道对应路视频中视频帧的时间戳,以得到渲染顺序信息。
可选的,所述获取模块71,还用于:获取所述多个轨道中至少两个轨道之间的渲染参数,所述渲染参数用于联合所述至少两个轨道对应路视频进行渲染;
所述生成模块72,具体用于基于所述轨道的属性信息以及所述至少两个轨道之间的渲染参数,生成对应路视频的渲染信息。
可选的,所述轨道的数量和/或所述轨道的属性信息是可变配置。
可选的,所述多路视频中至少一路视频的视频个数为多个。
可选的,该多个视频之间存在播放顺序关系;
所述生成模块72,具体用于基于所述轨道的属性信息以及所述播放顺序关系,生成对应路视频的渲染信息。
可选的,所述多路视频中至少两路视频的视频内容不相同。
可选的,所述至少两路视频中一路视频为视频素材,另一路视频为相机拍摄的视频。
可选的,所述合成模块73,还用于对根据所述多路视频的渲染信息对所述多路视频进行渲染的渲染结果进行后续处理。
可选的,所述后续处理包括下述中的一种或多种:播放处理、预览处理或编码处理。
图7所示装置可以执行图3所示实施例终端侧的方法,本实施例未详细描述的部分,可参考对图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3所示实施例中的描述,在此不再赘述。
在一个可能的实现中,图7所示视频处理装置的结构可实现为一用户设备。如图8所示,该用户设备可以包括:处理器81和存储器82。其中,存储器82用于存储支持用户设备执行上述图3所示实施例中提供的视频处理方法的程序,处理器81被配置为用于执行存储器82中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器81执行时能够实现如下步骤:
获取多个轨道的属性信息以及所述多个轨道与多路视频之间的对应关系;
基于所述轨道的属性信息,生成对应路视频的渲染信息;
根据所述多路视频的渲染信息对所述多路视频进行渲染,以得到所述多路视频的合成画面。
可选的,处理器81还用于执行前述图3所示实施例中用户设备侧的全部或部分步骤。
其中,用户设备的结构中还可以包括通信接口83,用于用户设备与其他设备或通信网络通信。
另外,本申请实施例提供了一种计算机存储介质,用于储存用户设备所用的计算机软件指令,其包含用于执行上述图3所示方法实施例中视频处理方法所涉及的程序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:一种局域控光的显示方法、存储介质及智能电视