CN116962807A - 视频渲染方法、装置、设备及存储介质 - Google Patents

视频渲染方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116962807A
CN116962807A CN202211518540.XA CN202211518540A CN116962807A CN 116962807 A CN116962807 A CN 116962807A CN 202211518540 A CN202211518540 A CN 202211518540A CN 116962807 A CN116962807 A CN 116962807A
Authority
CN
China
Prior art keywords
instance
video
flow
rendering
atomic
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.)
Pending
Application number
CN202211518540.XA
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211518540.XA priority Critical patent/CN116962807A/zh
Publication of CN116962807A publication Critical patent/CN116962807A/zh
Pending legal-status Critical Current

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
    • H04N21/44012Processing 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 rendering scenes according to scene graphs, e.g. MPEG-4 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请公开了一种视频渲染方法、装置、设备及存储介质,涉及视频处理技术领域。方法包括:读取渲染流程配置文件,渲染流程配置文件用于指示视频渲染流程以及实现视频渲染所需的目标能力;基于渲染流程配置文件以及原子能力库中的原子能力模型,对视频渲染流程进行实例化,得到流程实例;其中,原子能力库中包含用于实现不同原子能力的原子能力模型,且流程实例具有目标能力;响应于视频渲染指令,通过执行流程实例对视频素材进行视频渲染,得到目标视频。本申请实施例方案能够减小视频渲染功能的开发成本。

Description

视频渲染方法、装置、设备及存储介质
技术领域
本申请实施例涉及视频处理技术领域,特别涉及一种视频渲染方法、装置、设备及存储介质。
背景技术
随多媒体技术的发展,视频逐渐成为主流的信息传递形式,例如视频广告、短视频等等。基于用户对于视频生成功能的需求日益增加,在功能开发迭代中保证高效率、高质量的开发视频生成功能十分关键。
相关技术中,通常针对特定应用场景单独开发视频生成相关代码,由于视频生成过程中需组合使用多种视频处理能力,因此代码复杂性高,难以保证代码效果,并且在不同应用场景中代码的复用率低,开发成本高。
发明内容
本申请实施例提供了一种视频渲染方法、装置、设备及存储介质,能够减小视频渲染功能的开发成本。所述技术方案如下:
一方面,本申请实施例提供了一种视频渲染方法,所述方法包括:
读取渲染流程配置文件,所述渲染流程配置文件用于指示视频渲染流程以及实现视频渲染所需的目标能力;
基于所述渲染流程配置文件以及原子能力库中的原子能力模型,对所述视频渲染流程进行实例化,得到流程实例;其中,所述原子能力库中包含用于实现不同原子能力的所述原子能力模型,且所述流程实例具有所述目标能力;
响应于视频渲染指令,通过执行所述流程实例对视频素材进行视频渲染,得到目标视频。
另一方面,本申请实施例提供了一种视频渲染装置,所述装置包括:
读取模块,用于读取渲染流程配置文件,所述渲染流程配置文件用于指示视频渲染流程以及实现视频渲染所需的目标能力;
实例化模块,用于基于所述渲染流程配置文件以及原子能力库中的原子能力模型,对所述视频渲染流程进行实例化,得到流程实例;其中,所述原子能力库中包含用于实现不同原子能力的所述原子能力模型,且所述流程实例具有所述目标能力;
视频渲染模块,用于响应于视频渲染指令,通过执行所述流程实例对视频素材进行视频渲染,得到目标视频。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如上述方面所述的视频渲染方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如上述方面所述的视频渲染方法。
另一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面所述的视频渲染方法。
本申请实施例中,计算机设备通过读取渲染流程配置文件,确定视频渲染流程,以及实现视频渲染流程所需的目标能力。进而,计算机设备在原子能力库中确定出能够实现目标能力的原子能力模型,并基于原子能力模型实例化视频渲染流程,得到能够执行的流程实例。在获取到视频渲染指令的情况下,计算机设备可以通过执行流程实例完成视频渲染得到目标视频。本申请实施例中,计算机设备基于渲染流程配置文件,自行匹配获取用于实现视频渲染流程的原子能力模型,并按数据逻辑拼接原子能力模型实例化视频渲染流程,自行生成能够执行的流程实例,极大地减小了开发人员的工作量,提高了开发效率。并且通过将视频渲染能力模型进行原子化分割,提高了代码复用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的实施环境的示意图;
图2示出了本申请一个示例性实施例提供的应用场景的示意图;
图3示出了本申请另一个示例性实施例提供的应用场景的示意图;
图4示出了本申请一个示例性实施例提供的视频渲染方法的流程图;
图5示出了本申请一个示例性实施例提供的流程实例的生成方法的流程图;
图6示出了本申请一个示例性实施例提供的目标视频的生成方法的流程图;
图7示出了本申请另一个示例性实施例提供的视频渲染方法的流程图;
图8示出了本申请一个示例性实施例提供的视频渲染整体流程的示意图;
图9示出了本申请一个示例性实施例提供的视频渲染装置的结构框图;
图10示出了本申请一个示例性实施例提供的计算机设备的结构方框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了方便理解,下面对本申请实施例中涉及的名词进行说明。
Lottie技术:是Airbnb开源的一套跨平台的完整的动画效果解决方案,设计师可以使用AE(Adobe After Effects,后期效果制作)设计出的动画之后,使用Lottie提供的Bodymovie插件将设计好的动画导出成JSON格式,就可以直接运用在iOS、Android、Web和React Native之上,无需其他额外操作。
PAG(Portable Animated Graphics,便携式动画图形)技术:是的一套完整的动效工作流解决方案,目标是降低或消除动效相关的研发成本,能够一键将设计师在中制作的动效内容导出成素材文件,并快速上线应用于几乎所有的主流平台
请参考图1,其示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括计算机设备110和服务器120。其中,计算机设备110与服务器120之间通过通信网络进行数据通信,可选地,通信网络可以是有线网络也可以是无线网络,且该通信网络可以是局域网、城域网以及广域网中的至少一种。
计算机设备110可以是诸如手机、平板电脑、车载计算机设备(车机)、可穿戴设备、PC(Personal Computer,个人计算机)、无人预定计算机设备等电子设备。计算机设备110中可以安装运行具有视频渲染功能的应用程序的客户端,或可以开启并加载具有视频渲染功能的网页。另外,本申请对该应用程序或网页的形式不作限定,包括但不限于安装在计算机设备110中的App(Application,应用程序)、小程序等。
服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请实施例中,服务器120为计算机设备110相连接的支持实现原子能力模型对应的原子能力的服务器,用于辅助计算机设备获取原子能力模型,实现视频渲染流程的实例化,得到流程实例。
在一种可能的实施方式中,上述流程实例可以由计算机设备110构建得到,也可以由服务器120构建并部署在计算机设备110处,本实施例对此不作限定。
本申请实施例以视频渲染方法的实现过程由计算机设备110和服务器120执行为例进行说明,服务器120可以是计算机设备110的后台服务器。如图1所示,服务器120通过通信网络获取用户在计算机设备中上传的视频素材,并响应于视频渲染指令在流程实例库中确定实现视频渲染流程所需的目标流程实例。服务器120通过执行目标流程实例,利用目标流程实例中的原子能力对视频素材进行视频渲染,得到目标视频。进而,服务器120将渲染得到的目标视频传输至计算机设备110,完成视频渲染。其中,流程实例库中的流程实例由计算机设备110基于渲染流程配置文件构建得到。
为了方便表述,下述各个实施例以视频渲染方法由计算机设备110执行为例进行说明。
本申请实施例提供的视频渲染方法,可以应用于自动生成创意化视频、基于图片自动衍生视频等业务场景。下面结合几种业务场景进行说明。
1、自动生成创意化视频
在创意化视频的自动生成过程中,如图2所示,用户仅需上传具有创意化衍生需求的视频素材,例如视频片段文件等,即可得到符合需求的多种创意化视频,进而进行选择。
在自动生成创意化视频的业务场景下,本申请实施例提供的视频渲染方法可以通过生成并执行符合用户需求的多种流程实例,基于用户上传的视频片段文件生成可供用户选择的多个创意化视频。计算机设备首先识别用户上传的视频片段文件,基于识别结果确定符合用户需求视频渲染流程,例如确定对视频素材进行尺寸裁剪,得到显示尺寸为4:3的视频文件,并令该视频文件在一幅包含文案的图像中的固定位置显示。进而,计算机设备可以基于用户上传的视频素材或基于视频渲染指令指示的视频渲染流程,在流程实例库中确定可以实现视频渲染流程的目标流程实例。其中,目标流程实例中包含有可以实现目标能力的原子能力模型。进而,计算机设备基于视频素材,执行目标流程实例得到创意化视频,也即利用目标流程实例中的原子实例对视频素材进行视频渲染处理,得到目标视频。可选的,目标流程实例可以多于一个。
2、基于图片自动衍生视频
如图3所示,用户可以通过图片自动衍生视频功能,将上传的具有衍生视频需求的图像素材,与自动匹配的空镜头等视频素材进行组合,进而得到自动衍生视频。如图3所示,在用户上传有多个图像素材的情况下,通过图片自动衍生视频功能,计算机设备通过套用视频模版或是使用算法混剪能力合成全新的视频。例如可以实现多图卡点混剪、按钮微动、3D特效(弹幕、气泡)等视频效果。
在基于图片自动衍生视频的业务场景下,本申请实施例提供的视频渲染方法可以通过生成并执行符合用户需求的多种流程实例,基于获取到的图像素材智能匹配视频渲染流程,进而通过实现视频渲染流程生成衍生视频。示意性的,计算机设备可以基于用户上传的图像素材进行识别,并基于识别结果确定视频渲染流程中应包括添加光影动效的视频渲染处理。基于视频渲染流程,计算机设备在流程实例库中确定可以实现视频渲染流程的目标流程实例。例如,视频渲染流程需基于光影动效添加能力实现时,计算机设备在流程实例库中相应的选择具有实现光影动效添加能力的原子节点实例的目标流程实例。其中,目标流程实例中包含有衍生视频所需的全部原子能力对应的原子节点实例。进而,计算机设备基于图像素材,执行目标流程实例得到衍生视频,也即利用目标流程实例支持的原子能力对视频素材进行视频渲染处理,得到衍生视频。
3、自动生成模板视频的同款视频
在同款视频的生成过程中,用户可以自行上传视频素材、图像素材,例如视频片段文件等,并通过视频模块库中的视频模板,得到自动生成的与视频模板具有相同音乐、动效、取景区间等创意元素的同款视频。用户还可以通过视频模板库中的视频模板进行编辑,替换视频模板中的LOGO等,以使视频模板更加符合需求。
在自动生成模板视频的同款视频的业务场景下,本申请实施例提供的视频渲染方法可以通过生成并执行符合用户需求的多种流程实例,基于获取到的视频素材以及视频模板生成同款视频。计算机设备可以基于用户上传的视频素材或基于视频模板指示的视频渲染流程,在流程实例库中确定可以实现视频渲染流程的目标流程实例。例如,在视频模板对应的视频渲染流程中包含有添加特定尾帧动画的渲染流程时,也即在视频渲染流程的实现需要尾帧获取能力和尾帧动画添加能力的组合能力情况下,计算机设备在流程实例库中相应的选择具有实现上述组合能力的子流程实例的目标流程实例。其中,目标流程实例中包含有生成同款视频所需的全部原子能力对应的原子节点实例以及子流程实例。进而,计算机设备基于视频素材,执行目标流程实例得到同款视频,也即利用目标流程实例支持的原子能力对视频素材进行视频渲染处理,得到同款视频。
4、自动生成微电影
在微电影自动生成过程中,用户可以自行上传视频素材、图像素材,例如视频片段文件等,或可以在素材库中选择视频素材、图像素材,还可以具有URL链接提取网页中的视频素材、图像素材,并通过选择微电影时长、视频特效以及配乐等创意原色自动衍生得到微电影。
在自动生成微电影的业务场景下,本申请实施例提供的视频渲染方法可以通过生成并执行符合用户需求的多种流程实例,基于获取到的视频素材或图像素材生成微电影。计算机设备可以基于用户上传的视频素材或基于视频渲染指令指示的视频渲染流程,在流程实例库中确定可以实现视频渲染流程的目标流程实例。例如,在视频渲染流程中包含有自动添加字幕的渲染流程时,也即在视频渲染流程的实现需要字幕添加能力的情况下,计算机设备在流程实例库中相应的选择具有字幕添加原子实例的目标流程实例。其中,字幕添加原子实例是由可以实现字幕添加能力的原子能力模型实例化得到的。其中,目标流程实例中包含有生成微电影所需的全部原子能力对应的原子节点实例。进而,计算机设备基于视频素材,执行目标流程实例得到微电影,也即利用目标流程实例中的原子节点实例对视频素材进行视频渲染处理,得到微电影。
请参考图4,其示出了本申请一个示例性实施例提供的视频渲染方法的流程图。本实施例中以该方法应用于如图1所示的计算机设备以及服务器进行说明,该方法包括:
步骤401,读取渲染流程配置文件,渲染流程配置文件用于指示视频渲染流程以及实现视频渲染所需的目标能力。
在上述应用场景中的视频渲染功能的开发过程中,开发人员需要编写用于实现视频渲染功能的相关代码。在实际应用中,不同平台功能所需要的视频渲染业务场景不同,例如对基于图片自动生成的视频进行视频渲染的业务场景,以及基于视频片段自动剪辑拼接并进行视频渲染的业务场景等。由此,相关技术中,基于不同平台功能对应的业务场景不同,开发人员需基于所需的不同视频渲染能力单独开发代码。也即开发人员需针对不同的业务场景编写不同的用于实现视频渲染功能的代码,不仅代码复杂性较高,并且对开发人员对视频渲染技术的掌握程度要求较高,开发成本较大。
在本申请实施例中,平台视频渲染功能的开发过程中,开发人员仅需基于业务场景确定实现视频渲染所需的视频渲染技术,并确定视频渲染技术对应的原子能力标识,进而将原子能力标识添加至渲染流程配置文件中即可。例如,在业务场景中需要对在视频中添加动画效果,进而需要通过Lottie技术对动画效果文件进行解析并添加到视频中,相应的,技术人员无需掌握的Lottie技术相关的代码实现,仅需确定Lottie技术对应的原子能力标识,并将其编写至渲染流程配置文件中。并且在业务场景中同时需要其他视频渲染技术的情况下,无需基于组合的视频渲染技术进行额外的代码实现,仅需在确定相应的多个原子能力标识的基础上,将原子能力标识编写进渲染流程配置文件,在简化开发人员工作的同时,提高了视频渲染功能的开发效率。
在一种可能的实施方式中,计算机设备响应于应用启动或是响应于流程配置文件发生变化,读取渲染流程配置文件。并确定渲染流程配置文件所指示的视频渲染流程,也即确定在实现视频渲染功能时,计算机设备需对获得的视频素材进行视频渲染处理的流程顺序。同时,计算机设备确定渲染流程配置文件中所包含的原子能力标识,进而确定实现视频渲染功能所需要进行的视频渲染处理,也即需要的目标能力。其中,目标能力包括Adman虚拟人渲染等视频渲染技术所实现的视频渲染能力,目标能力还包括识别视频素材,自动音乐卡点等业务能力,本申请对此不作限定。
步骤402,基于渲染流程配置文件以及原子能力库中的原子能力模型,对视频渲染流程进行实例化,得到流程实例。其中,原子能力库中包含用于实现不同原子能力的原子能力模型,且流程实例具有目标能力。
原子能力模型是指实现对应原子能力所需的代码的模型化。在本申请实施例中,计算机设备基于渲染流程配置文件调用原子能力模型,进而生成具有目标能力并可以实现目标能力的流程实例。基于渲染流程配置文件中无需提供用于针对本功能进行渲染能力组合的相关代码,进而计算机设备通过对视频渲染能力、业务能力等原子能力对应的技术代码进行建模,规范原子能力实现时对数据的获取方式和输出方式,进而得到可以在数据流方面实现自由拼接的原子能力模型。也即基于原子能力实现所需的数据进行抽象化,并进一步基于抽象化的数据,规范调用原子能力模型时的数据输入和数据输出。例如,计算机设备对Adman虚拟人渲染技术进行建模时,基于Adman虚拟人渲染技术的实现需要获取时间、图形帧等数据进行抽象化,进而对代码中的数据输入函数以及数据输出函数进行规范,得到原子能力模型。确定相应的包含的原子能力标识,确定实现对应目标能力所需的原子能力模型。
步骤403,响应于视频渲染指令,通过执行流程实例对视频素材进行视频渲染,得到目标视频。
在一种可能的实施方式中,计算机设备在接收到视频渲染指令的情况下,获取到视频素材,例如视频片段文件、贴纸图像、音乐文件等等。在执行流程实例的过程中,计算机设备通过流程实例支持实现的目标能力,对视频素材进行视频渲染处理,进而得到目标视频。
可选的,视频素材可以是通过用户上传获取得到的,视频素材还可以是调用本地文件得到的,本申请对此不作限定。
综上所述,在本申请实施例中,计算机设备通过读取渲染流程配置文件,确定视频渲染流程,以及实现视频渲染流程所需的目标能力。进而,计算机设备在原子能力库中确定出能够实现目标能力的原子能力模型,并基于原子能力模型实例化视频渲染流程,得到能够执行的流程实例。在获取到视频渲染指令的情况下,计算机设备可以通过执行流程实例完成视频渲染得到目标视频。本申请实施例中,计算机设备基于渲染流程配置文件,自行匹配获取用于实现视频渲染流程的原子能力模型,并按数据逻辑拼接原子能力模型实例化视频渲染流程,自行生成能够执行的流程实例,极大地减小了开发人员的工作量,提高了开发效率。并且通过将视频渲染能力模型进行原子化分割,提高了代码复用率。
请参考图5,其示出了本申请一个示例性实施例提供的视频渲染流程的实例化方法的流程图。本实施例中以该方法应用于如图1所示的计算机设备以及服务器进行说明,该方法包括:
步骤501,基于渲染流程配置文件所指示的目标能力,从原子能力库中确定出目标原子能力模型,目标原子能力模型用于实现目标能力。
在基于原子能力模型完成对视频渲染功能的快速开发之前,计算机设备首先将实现视频渲染功能所需的视频渲染能力、算法能力和业务能力等进行抽象建模,例如,对FFmpeg渲染能力、PAG渲染能力、3D虚拟人渲染能力、视频模板渲染能力、模板优选算法、图片模板渲染能力等进行抽象化建模。在本申请实施例中,计算机设备通过将视频渲染技术模型化,得到数据输出以及数据输入形式规范的能力模型,并将能力模型进行分割,进而得到实现视频渲染流程中所需的最小能力对应的原子能力模型,原子能力模型不可继续分割。计算机设备将得到的原子能力模型存储于原子能力库中以便调用。
在一种可能的实施方式中,计算机设备在获取到渲染流程配置文件的情况下,基于渲染流程配置文件中的原子能力标识,确定实现渲染流程配置文件对应的视频渲染流程所需要的目标能力,例如自动匹配模板的能力、PAG动画引擎的能力等。
步骤502,基于目标原子能力模型,对视频渲染流程中的流程节点进行实例化,得到节点实例,流程节点中包括用于承载目标原子能力模型的原子能力节点,节点实例包括原子能力节点对应的原子节点实例。
在一种可能的实施方式中,计算机设备对目标原子能力模型进行实例化,得到原子实例。基于原子能力库中存储有与目标原子能力模型,进而,计算机设备通过DTO(DataTransfer Object,数据传输对象)接口调用原子能力库中可以实现目标能力的目标原子能力模型。由于原子能力库中的原子能力模型支持实现不可再分割的最小单位的视频渲染能力,进而计算机设备可以基于渲染流程配置文件,仅通过调用原子能力模型的方式,得到实现目标能力的原子实例。
进一步的,计算机设备从视频渲染流程的流程节点中确定原子能力节点。流程节点通过节点的形式,指示渲染流程配置文件所对应的视频渲染流程。基于渲染流程配置文件中不仅包含有用于指示实现视频渲染功能所需的目标能力,其中还包括由用于描述数据处理逻辑的逻辑描述文本。流程节点中,在包含用于实现目标能力的原子能力节点的同时,还包括用于推进视频渲染流程的逻辑节点。由此,在得到原子实例的情况下,计算机设备在流程节点中进一步确定对应的原子能力节点,进而基于原子实例对原子能力节点进行实例化,得到原子节点实例。其中,原子节点实例可以通过实现原子能力,单独执行对应的部分视频渲染流程。
可选的,基于原子能力模型调用方式的不同,原子能力节点可以包括本地原子能力节点、跨服务原子能力节点以及Bean原子能力节点等,在实际应用中,计算机设备基于渲染流程配置文件确定具体的原子能力模型,进而进行原子实例化得到原子实例。
步骤503,对节点实例进行拼接,得到流程实例。
在一种可能的实施方式中,流程实例由节点实例构成,节点实例包括原子节点实例,原子节点实例用于实现对应的原子能力。基于节点实例可以分别实现视频渲染流程中的对应部分能力,计算机设备在完成流程节点的实例化得到节点实例后,将各个节点实例依据渲染流程配置文件指示的数据逻辑顺序进行拼接。进而,得到可以实现渲染流程配置文件所指示的视频渲染流程的流程实例,也即得到可以实现相应视频渲染业务场景的流程实例。
在实际应用中,往往存在常用的视频渲染流程段落。基于常用的视频渲染流程段落在不同的视频渲染功能开发过程之间的复用率较高,为进一步提高视频渲染功能的开发效率,减小开发成本,在本申请实施例中,计算机设备在渲染流程配置文件的构建阶段提供常用的渲染流程配置段落。渲染流程配置段落用于组合形成渲染流程配置文件,并且一个渲染流程配置段落指示至少两种用于实现视频渲染流程的目标能力。例如,在对视频渲染流程中常常会在添加模板后继续添加尾部动画,进而可以将“模板渲染+添加动画”作为一个固定的通用子流程,在需要实现的视频渲染流程中存在该通用子流程时,可以直接调用相应的渲染流程配置段落,进行渲染流程配置文件编辑。计算机设备支持开发人员在构建渲染流程配置文件的过程中,引用渲染流程配置段落,也即支持渲染流程配置文件对应的视频渲染流程中存在特定的子流程节点,其中,子流程节点相应的需基于至少两个原子实例进行流程节点的实例化。
在一种可能的实施方式中,在流程节点中包括子流程节点的情况下,为对流程节点进行实例化,计算机设备需首先从视频渲染流程的流程节点中确定子流程节点。其中,子流程节点即为用于承载至少两个目标原子能力模型的流程节点。
可选的,在子流程节点对应的渲染流程配置段落中包含逻辑描述文本的情况下,子流程节点还可以用于承载逻辑代码。
进一步的,计算机设备从原子实例化得到的原子实例中确定子流程节点对应的至少两个目标原子实例,子流程节点对应的子流程能力由至少两个目标原子实例对应的原子能力组合而成。进而,计算机设备基于目标原子实例对子流程节点进行实例化,得到子流程节点实例。
示意性的,由于在视频渲染功能的实现过程中,基于对视频片段的识别优选模板的算法能力,和基于优选得到的模板进行渲染的渲染能力通常顺序使用,进而计算机设备可以提供用于同时指示上述两种能力,并指示二者顺序的渲染流程配置段落。在渲染流程配置文件中包含对应的渲染流程配置段落的情况下,也即在视频渲染流程中包含对应的子流程节点的情况下,计算机设备首先基于渲染流程配置段落指示的目标能力,也即优选模板能力和模板渲染能力,确定原子能力模型,并对原子能力模型进行实例化得到原子实例。进一步的,计算机设备在流程节点中确定用于指示实现优选模板能力和模板渲染能力的子流程节点,其中优选模板能力和模板渲染能力的顺序组合即为子流程节点的子流程能力。在基于渲染流程配置文件和原子能力库实例化原子能力模型得到的原子实例的情况下,计算机设备从原子实例中进一步确定出用于实现优选模板能力和模板渲染能力的目标原子实例,并基于目标原子实例对子流程节点进行实例化,得到子流程节点实例。
为进一步提高开发效率,本申请实施例中,计算机设备为开发人员提供用于编辑渲染流程的UI(User Interface,用户界面)界面,并在UI界面中显示与不同类型的流程节点相对应的节点控件,例如逻辑节点控件和原子能力节点控件。进而,计算机设备支持开发人员通过对UI界面中显示的节点控件进行选取操作,编辑渲染流程配置文件。进而,通过将流程节点转化为节点控件,将渲染流程配置文件的编辑过程转化为对节点控件的选取操作,可视化渲染流程编辑过程,进一步减少了开发人员的重复作业,提高了开发效率。
在一种可能的实施方式中,计算机设备显示渲染流程编辑界面,渲染流程编辑界面中包含节点控件。其中,不同节点控件对应不同类型的流程节点。
可选的,节点控件显示用于指示节点控件对应的流程节点的流程节点标识,例如,当节点控件为原子能力节点的情况下,节点控件中可以显示有原子能力节点对应的原子能力标识。在节点控件还可以显示实现流程节点对应的代码文本。
进一步的,响应于对节点控件的选取操作,计算机设备基于选取的节点控件对应的流程节点,以及流程节点的节点位置,更新流程节点树,流程节点树用于表征视频渲染流程。
其中,流程节点树由节点控件对应的流程节点组成,指示了通过对节点控件进行选取操作后确定的添加至视频渲染流程中的流程节点,并指示了流程节点之间的顺序关系。开发人员可以通过对渲染流程编辑界面中,与目标能力对应的流程节点的节点控件进行选取操作,进而将该节点控件添加至流程节点树中,类比于将目标能力对应的流程配置文本编辑至渲染流程配置文件中。
进而,响应于编辑完成指令,计算机设备基于流程节点树生成渲染流程配置文件。
在本申请实施例中,计算机设备对编辑完成指令进行响应,基于选取操作得到的流程节点树生成计算机设备可以读取并实例化的渲染流程配置文件。由此,计算机设置支持开发人员通过在流程编辑界面中通过选取操作和编辑完成指令的发送操作,编辑并得到渲染流程配置文件。节省了开发人员编辑渲染流程配置文件的时间,极大地提升了开发效率。
可选的,流程编辑界面中可以包含有子流程节点对应的节点控件。
综上所述,计算机设备通过显示用于编辑生成渲染流程配置文件的UI界面,为开发者提供了直观便捷的流程编辑方式,降低了开发人员开发视频渲染功能的门槛的同时,进一步提高了视频渲染功能的开发效率。
相较于相关技术中,由于视频渲染功能的实现过程中往往需要多种视频渲染能力,开发人员需基于业务场景所需的视频渲染功能,开发实现组合视频渲染能力的相关代码;本申请实施例中,计算机设备基于渲染流程配置文件,对抽象化建模得到的原子能力模型进行调用,并进而通过拼接组合原子能力模型得到支持完成视频渲染任务的流程实例,降低了开发过程中的人力成本,并提高了开发效率。在平台给予用户较大的自由设计权利的情况下,为实现平台支持的业务场景中可能存在的多样的视频渲染任务,单一的流程实例是远远不够的。进而开发人员需基于业务场景,编写包含不同原子能力组合的渲染流程配置文件在对原子能力模型进行组合,也即计算机设备需基于多种渲染流程配置文件生成多种流程实例。进而避免流程实例无法实现用户提交的视频渲染任务。
请参考图6,其示出了本申请一个示例性实施例提供的流程实例的确定方法的流程图。本实施例中以该方法应用于如图1所示的计算机设备以及服务器进行说明,该方法包括:
步骤601,计算机设备将流程实例存储至流程实例库,流程实例库中存储有对应不同视频渲染流程的流程实例。
基于渲染流程配置文件以及原子能力库中的原子能力模型,对视频渲染流程进行实例化,得到流程实例之后,计算机设备将流程实例存储在流程实例库中等待用户通过提交视频渲染任务,调用可以实现视频渲染任务的流程实例。
步骤602,响应于视频渲染指令,计算机设备从流程实例库中获取目标流程实例,目标流程实例具有视频渲染指令所指示视频渲染任务所需的能力。
在一种可能的实施方式中,视频渲染指令指示实现对应视频渲染任务所需的原子能力,进而计算机设备基于原子能力匹配流程实例,并从流程实例库中得到可以实现相应原子能力的目标流程实例。
示意性的,用户提交的基于图片自动衍生视频的视频渲染任务对应的视频渲染指令,指示实现该视频渲染任务需要图像裁剪能力和PAG动效渲染能力,进而计算机设备在流程实例库中,确定包含图像裁剪能力对应的原子节点实例,并且包含PAG动效渲染能力对应的原子节点实例的流程实例为目标流程实例。
步骤603,计算机设备通过执行目标流程实例对视频素材进行视频渲染,得到目标视频。
在确定目标流程实例的情况下,计算机设备基于目标流程实例对视频素材进行视频渲染,也即通过执行目标流程实例中的原子节点实例,实现对应的原子能力,进而完成相应的视频渲染处理,得到目标视频。
可选的,在得到确定流程实例库的情况下,计算机设备通过加载层,支持开发人员对流程实例进行热更新。响应于渲染流程热更新指令,计算机设备读取热更新渲染流程配置文件,渲染流程热更新指令在视频渲染流程发生热更新的情况下触发。
其中,热更新渲染流程配置文件可以是YAML文件,也可以是JSON文件。开发人员可以在用于配置渲染流程配置文件的远程配置中心中添加热更新渲染流程配置文件,响应于配置变化或是平台重启动等视频渲染流程发生热更新的情况,计算机设备读取远程配置中心中的热更新渲染流程配置文件。
进一步的,计算机设备基于热更新渲染流程配置文件以及原子能力库中的原子能力模型,对热更新后的视频渲染流程进行实例化,得到热更新流程实例。基于热更新渲染流程配置文件与上述渲染流程配置文件中的形式相同,进而,热更新渲染流程配置文件同样指示了用于实现视频渲染流程的目标能力。进而,计算机设备可以基于热更新渲染流程配置文件,从原子能力库中的原子能力模型中确定出目标原子能力模型。并对目标原子能力模型进行实例化,得到原子实例,进而实例化流程节点得到热更新流程实例。进而,基于得到的热更新流程实例,计算机设备对流程实例库进行更新。
在用户实际使用的过程中,响应于用户通过点击“一键生成”按钮等方式发送的视频渲染指令,计算机设备在从流程实例库中确定得到目标流程实例的情况下,执行目标流程实例。基于流程实例库中的流程实例的是有限的,进而各个流程实例需在保证实现可能需要的视频渲染能力的基础上,包含尽可能简单的视频渲染流程,避免流程冗余。但在实际应用过程中,基于用于需求的多样性,在执行目标流程实例进行视频渲染的过程中,对于得到用户需要的目标视频来说,目标流程实例中往往存在无需执行的原子实例,也即指示了多余的原子能力。进而,在响应于视频渲染指令生成目标视频时,计算机设备需首先基于视频渲染指令,确定目标流程实例中需要实际执行的流程节点以及无需实际执行的流程节点,使得目标视频符合用户需求,提升用户使用体验。在本申请实施例中,以流程实例表示目标流程实例进行说明。
步骤1,响应于视频渲染指令,计算机设备基于流程实例确定实际执行流程实例,实际执行流程实例具有流程实例的全部或部分能力,且实际执行流程实例具有视频渲染指令所指示视频渲染任务所需的能力。
在一种可能的实施方式中,响应于视频渲染指令,计算机设备基于视频素材确定视频渲染任务所需的能力。基于计算机设备对渲染能力、算法能力和业务能力等进行抽象化建模得到原子能力模型,原子能力模型均指示了实现对应原子能力所需的数据,例如用于实现模板渲染能力的原子能力模型,指示了实现模板渲染能力时需要获取时间、图像帧、目标模板等数据。进而在接受到视频素材的情况下,计算机设备通过梳理视频素材中包含的数据,并与流程实例中包含的原子节点实例中的目标原子能力模型进行匹配。在视频素材中包含目标原子能力模型实现对应原子能力所需的数据时,计算机设备确定该原子能力即为视频渲染任务所需的能力。
示意性的,用户在平台界面中上传待处理的视频片段对应的视频文件,并勾选基于模板库中的待选模板自动匹配优选模板。进而,在接收到视频渲染指令的同时,计算机设备接收到包含有视频文件和待选模板的视频素材。相应的,流程实例中包含有用于实现优选模板能力、模板渲染能力和音乐卡点能力的原子节点实例,计算机设备将各原子节点实例中的原子能力模型所需的数据与视频素材进行对比匹配。由于优选模板能力对应的原子能力模型以视频文件和模板作为输入数据;模板渲染能力对应的原子能力模型以视频文件和模板作为输入数据;音乐卡点能力对应的原子能力模型以视频文件和音乐文件作为输入数据。基于视频素材中并不包含实现音乐卡点能力所需的音乐素材,进而计算机设备确定优选模板能力和模板渲染能力均为视频渲染任务所需的能力。
可选的,在流程节点中包含能力预判节点的情况下,计算机设备在执行流程实例是,首先通过能力预判节点对视频素材进行梳理,确定视频素材中包含的数据,进而通过能力预判节点确定实施执行流程实例。
在另一种可能的实施方式中,响应于视频渲染指令,计算机设备基于视频渲染指令中的能力指示信息,确定视频渲染任务所需的能力。在视频渲染指令包含有能力指示信息的情况下,计算机设备可以基于能力指示信息直接确定视频渲染任务所需的能力。
示意性的,基于用户在平台界面中选择基于上传的视频素材自动匹配模板,并基于模板进行渲染生成目标视频的视频渲染任务,进而视频渲染指令指示视频渲染任务的实现需要具有优选模板能力和模板渲染能力,也即视频渲染指令中包含相应的能力指示信息,计算机设备在确定包含支持优选模板能力和模板渲染能力的流程实例的情况下,梳理确定流程实例还支持音乐卡点能力。计算机设备确定基于指示优选模板能力和模板渲染能力的能力指示信息,确定优选模板能力和模板渲染能力属于视频渲染任务所需的能力,而相对应的音乐卡点能力则不属于视频渲染任务所需的能力。
进而,计算机设备基于视频渲染任务所需的能力对流程实例进行流程简化处理,得到实际执行流程实例。
计算机设备基于视频渲染任务所需的能力,以及流程实例中各个原子节点实例对应的原子能力,确定无效原子节点实例。在确定视频渲染任务所需的能力的情况下,计算机设备仅需执行流程实例中,支持实现相应能力的节点实例,而不需要或是无法执行其他的节点实例。进而,在确定视频渲染任务所需的能力的情况下,进一步的,计算机设备确定对应的原子节点实例以及逻辑实例作为实际执行节点实例,并确定其他原子节点实例为无效原子节点实例,并基于无效原子节点实例对流程实例进行简化处理。也即,计算机设备从流程实例中去除无效原子节点实例,得到实际执行流程实例。
示意性的,在确定优选模板能力和模板渲染能力为实现视频渲染任务所需的能力的情况下,计算机设备确定优选模板能力对应的原子节点实例,以及实现模板渲染能力对应的原子节点实例属于实际执行流程实例。在流程实例中还包括用于实现音乐卡点能力的原子节点实例的情况下,计算机设备确定该原子节点实例为无效原子节点实例。进而,计算机设备从流程实例中去除音乐卡点能力对应的原子节点实例,得到实际执行流程实例。
可选的,计算机设备通过不执行无效原子节点实例的方式,在流程实例中去除原子节点实例,得到实际执行流程实际。
步骤2,计算机设备通过执行实际执行流程实例对视频素材进行视频渲染,得到目标视频。
在一种可能的实施方式中,在确定实际执行流程实例的情况下,计算机设备基于实际执行流程实例中的逻辑实例进行数据处理流程的判断,并基于其中的原子节点实例对视频素材进行视频渲染处理,在实现原子节点实例对应的原子能力后,计算机设备即得到目标视频。
请参考图7,其表示出了本申请一个实例性实施例提供的视频渲染的流程图。
步骤701,生成渲染流程配置文件。
在一种可能的实施方式中,在显示渲染流程编辑界面的情况下,响应于对节点控件的选取操作,基于选取的节点控件对应的流程节点,以及流程节点的节点位置,更新流程节点树,并响应于编辑完成指令,基于流程节点树生成渲染流程配置文件。
可选的,如图8所示,计算机设备在UI界面中显示渲染流程编辑界面。
步骤702,读取渲染流程配置文件,并验证渲染流程配置文件是否正确,渲染流程配置文件用于指示视频渲染流程以及实现视频渲染所需的目标能力。
在一种可能的实施方式中,计算机设备响应于渲染流程热更新指令,或响应于平台的重新启动,读取远程配置中心中的渲染流程配置文件。
可选的,如图8所示,计算机设备通过整体流程中的加载层读取远程配置中心中的渲染流程配置文件。其中,加载层支持读取YAML文件以及JSON文件。
步骤703,基于渲染流程配置文件所指示的目标能力,从原子能力库中确定出目标原子能力模型,目标原子能力模型用于实现目标能力。
可选的,计算机设备通过模型层对不同的视频渲染能力进行模型化以及原子化,得到原子能力库中的原子能力模型。
可选的,如图8所示,计算机设备采用DTO模型定义的方式对视频渲染能力进行模型化处理。相应的,为保证基于引用的原子能力模型能够拼接组成流程实例,计算机设备基于模型层中的基础组件定义方法,对应用服务中涉及到的数据传输类型于DTO模型进行统一。
步骤704,基于目标原子能力模型,对视频渲染流程中的流程节点进行实例化,得到节点实例,流程节点中包括用于承载目标原子能力模型的原子能力节点,节点实例包括原子能力节点对应的原子节点实例。
在一种可能的实施方式中,应用服务的节点层中包含有原子能力节点,并且基于原子能力模型的获取方式不同,原子能力节点可以分为本地获取原子能力模型的方法节点和跨服务器获取原子能力模型的服务节点。原子能力节点中还包括实现方式特殊的Bean节点。
可选的,应用服务的节点层中还包括用于推进视频渲染流程的逻辑节点,例如条件节点和循环节点等。应用服务的节点层中还包括子流程节点。
可选的,如图8所示,计算机设备通过接口层中的DTO接口调用原子能力库中的原子能力模型。相应的,计算机设备通过接口层中的基础组件接口调用相关的基础组件支持视频渲染流程的实现。
步骤705,对节点实例进行拼接,得到流程实例。
步骤706,将流程实例存储至流程实例库,流程实例库中存储有对应不同视频渲染流程的流程实例。
步骤707,响应于视频渲染指令,从流程实例库中获取目标流程实例,目标流程实例具有视频渲染指令所指示视频渲染任务所需的能力。
步骤708,响应于视频渲染指令,通过执行流程实例对视频素材进行视频渲染,得到目标视频。
可选的,如图8所示,计算机设备通过接口层中的流程统计接口,获取运行数据,以便对执行流程实例进行视频渲染的过程进行运行数据统计,其中运行数据可以包括运行次数、响应时间、运行时长、运行报错等等,以便对视频渲染功能的实现情况进行监测。
可选的,应用服务中包含有异常处理层,可以对系统异常、流程异常、业务异常等进行监测、统计以及修复处理。
请参考图9,其示出了本申请一个示例性实施例提供的网络训练装置的结构框图,该装置包括:
读取模块901,用于读取渲染流程配置文件,所述渲染流程配置文件用于指示视频渲染流程以及实现视频渲染所需的目标能力;
实例化模块902,用于基于所述渲染流程配置文件以及原子能力库中的原子能力模型,对所述视频渲染流程进行实例化,得到流程实例;其中,所述原子能力库中包含用于实现不同原子能力的所述原子能力模型,且所述流程实例具有所述目标能力;
视频渲染模块903,用于响应于视频渲染指令,通过执行所述流程实例对视频素材进行视频渲染,得到目标视频。
可选的,所述实例化模块902,用于:
基于所述渲染流程配置文件所指示的所述目标能力,从所述原子能力库中确定出目标原子能力模型,所述目标原子能力模型用于实现所述目标能力;
基于所述目标原子能力模型,对所述视频渲染流程中的流程节点进行实例化,得到节点实例,所述流程节点中包括用于承载所述目标原子能力模型的原子能力节点,所述节点实例包括所述原子能力节点对应的原子节点实例;
对所述节点实例进行拼接,得到所述流程实例。
可选的,所述实例化模块902,还用于:
对所述目标原子能力模型进行实例化,得到原子实例;
从所述视频渲染流程的所述流程节点中确定所述原子能力节点;
基于所述原子实例对所述原子能力节点进行实例化,得到所述原子节点实例。
可选的,在所述流程节点中包括子流程节点的情况下,所述实例化模块902,还用于:
从所述视频渲染流程的所述流程节点中确定所述子流程节点;
从所述原子实例中确定所述子流程节点对应的至少两个目标原子实例,所述子流程节点对应的子流程能力由至少两个所述目标原子实例对应的原子能力组合而成;
基于所述目标原子实例对所述子流程节点进行实例化,得到子流程节点实例。
可选的,所述装置还包括显示模块,所述读取渲染流程配置文件之前,所述显示模块,用于:
显示渲染流程编辑界面,所述渲染流程编辑界面中包含节点控件;其中,不同节点控件对应不同类型的流程节点;
响应于对所述节点控件的选取操作,基于选取的所述节点控件对应的流程节点,以及所述流程节点的节点位置,更新流程节点树,所述流程节点树用于表征所述视频渲染流程;
所述装置还包括生成模块,用于:
响应于编辑完成指令,基于所述流程节点树生成所述流程配置文件。
可选的,所述视频渲染模块903,用于:
响应于所述视频渲染指令,基于所述流程实例确定实际执行流程实例,所述实际执行流程实例具有所述流程实例的全部或部分能力,且所述实际执行流程实例具有所述视频渲染指令所指示视频渲染任务所需的能力;
通过执行所述实际执行流程实例对所述视频素材进行视频渲染,得到目标视频。
可选的,所述视频渲染模块903,还用于:
响应于所述视频渲染指令,基于所述视频素材确定所述视频渲染任务所需的能力;
基于所述视频渲染任务所需的能力对所述流程实例进行流程简化处理,得到所述实际执行流程实例。
可选的,所述视频渲染模块903,还用于:
响应于所述视频渲染指令,基于所述视频渲染指令中的能力指示信息,确定所述视频渲染任务所需的能力;
基于所述视频渲染任务所需的能力对所述流程实例进行流程简化处理,得到所述实际执行流程实例。
可选的,在所述流程实例由节点实例构成,所述节点实例包括原子节点实例,所述原子节点实例用于实现对应的原子能力的情况下,所述视频渲染模块903,还用于:
基于所述视频渲染任务所需的能力,以及所述流程实例中各个所述原子节点实例对应的所述原子能力,确定无效原子节点实例;
从所述流程实例中去除所述无效原子节点实例,得到所述实际执行流程实例。
可选的,所述装置还包括存储模块,所述基于所述渲染流程配置文件以及原子能力库中的原子能力模型,对所述视频渲染流程进行实例化,得到流程实例之后,所述存储模块,用于:
将所述流程实例存储至流程实例库,所述流程实例库中存储有对应不同视频渲染流程的流程实例;
可选的,所述视频渲染模块903,还用于:
响应于视频渲染指令,从所述流程实例库中获取目标流程实例,所述目标流程实例具有所述视频渲染指令所指示视频渲染任务所需的能力;
通过执行所述目标流程实例对所述视频素材进行视频渲染,得到所述目标视频。
可选的,所述读取模块901,用于:
响应于渲染流程热更新指令,读取热更新渲染流程配置文件,所述渲染流程热更新指令在所述视频渲染流程发生热更新的情况下触发;
所述实例化模块902,用于:
基于所述热更新渲染流程配置文件以及所述原子能力库中的所述原子能力模型,对热更新后的所述视频渲染流程进行实例化,得到热更新流程实例;
所述装置还包括更新模块,用于:
基于所述热更新流程实例更新所述流程实例库。
综上所述,在本申请实施例中,计算机设备通过读取模块读取渲染流程配置文件,确定视频渲染流程,以及实现视频渲染流程所需的目标能力。进而,计算机设备通过实例化模块在原子能力库中确定出能够实现目标能力的原子能力模型,并基于原子能力模型实例化视频渲染流程,得到能够执行的流程实例。在获取到视频渲染指令的情况下,计算机设备通过视频渲染模块可以通过执行流程实例完成视频渲染得到目标视频。本申请实施例中,计算机设备基于渲染流程配置文件,自行匹配获取用于实现视频渲染流程的原子能力模型,并按数据逻辑拼接原子能力模型实例化视频渲染流程,自行生成能够执行的流程实例,极大地减小了开发人员的工作量,提高了开发效率。并且通过将视频渲染能力模型进行原子化分割,提高了代码复用率。
请参考图10,其示出了本申请一个示例性实施例提供的计算机设备1300的结构框图。
所述计算机设备1000包括中央处理单元(Central Processing Unit,CPU)1001、包括随机存取存储器1002和只读存储器1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。所述计算机设备1000还可以包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
在一些实施例中,所述基本输入/输出系统1006可以包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括随机存取记忆体(RAM,Random Access Memory)、只读存储器(ROM,Read Only Memory)、闪存或其他固态存储其技术,只读光盘(Compact Disc Read-Only Memory,CD-ROM)、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1001执行,一个或多个程序包含用于实现上述方法的指令,中央处理单元1001执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1000可以通过连接在所述系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的视频渲染方法中由计算机设备所执行的步骤。
本申请实施例还提供了一种计算机可读存储介质,该存储介质存储有至少一段程序,至少一段程序用于被处理器执行以实现如上述实施例所述的视频渲染方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的视频渲染方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种视频渲染方法,其特征在于,所述方法包括:
读取渲染流程配置文件,所述渲染流程配置文件用于指示视频渲染流程以及实现视频渲染所需的目标能力;
基于所述渲染流程配置文件以及原子能力库中的原子能力模型,对所述视频渲染流程进行实例化,得到流程实例;其中,所述原子能力库中包含用于实现不同原子能力的所述原子能力模型,且所述流程实例具有所述目标能力;
响应于视频渲染指令,通过执行所述流程实例对视频素材进行视频渲染,得到目标视频。
2.根据权利要求1所述的方法,其特征在于,所述基于所述渲染流程配置文件以及原子能力库中的原子能力模型,对所述视频渲染流程进行实例化,得到流程实例,包括:
基于所述渲染流程配置文件所指示的所述目标能力,从所述原子能力库中确定出目标原子能力模型,所述目标原子能力模型用于实现所述目标能力;
基于所述目标原子能力模型,对所述视频渲染流程中的流程节点进行实例化,得到节点实例,所述流程节点中包括用于承载所述目标原子能力模型的原子能力节点,所述节点实例包括所述原子能力节点对应的原子节点实例;
对所述节点实例进行拼接,得到所述流程实例。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标原子能力模型,对所述视频渲染流程中的流程节点进行实例化,得到节点实例,包括:
对所述目标原子能力模型进行实例化,得到原子实例;
从所述视频渲染流程的所述流程节点中确定所述原子能力节点;
基于所述原子实例对所述原子能力节点进行实例化,得到所述原子节点实例。
4.根据权利要求3所述的方法,其特征在于,所述流程节点中包括子流程节点;
所述基于所述目标原子能力模型,对所述视频渲染流程中的流程节点进行实例化,得到节点实例,还包括:
从所述视频渲染流程的所述流程节点中确定所述子流程节点;
从所述原子实例中确定所述子流程节点对应的至少两个目标原子实例,所述子流程节点对应的子流程能力由至少两个所述目标原子实例对应的原子能力组合而成;
基于所述目标原子实例对所述子流程节点进行实例化,得到子流程节点实例。
5.根据权利要求2所述的方法,其特征在于,所述读取渲染流程配置文件之前,所述方法还包括:
显示渲染流程编辑界面,所述渲染流程编辑界面中包含节点控件;其中,不同节点控件对应不同类型的流程节点;
响应于对所述节点控件的选取操作,基于选取的所述节点控件对应的流程节点,以及所述流程节点的节点位置,更新流程节点树,所述流程节点树用于表征所述视频渲染流程;
响应于编辑完成指令,基于所述流程节点树生成所述渲染流程配置文件。
6.根据权利要求1至5任一所述的方法,其特征在于,所述响应于视频渲染指令,通过执行所述流程实例对视频素材进行视频渲染,得到目标视频,包括:
响应于所述视频渲染指令,基于所述流程实例确定实际执行流程实例,所述实际执行流程实例具有所述流程实例的全部或部分能力,且所述实际执行流程实例具有所述视频渲染指令所指示视频渲染任务所需的能力;
通过执行所述实际执行流程实例对所述视频素材进行视频渲染,得到目标视频。
7.根据权利要求6所述的方法,其特征在于,所述响应于所述视频渲染指令,基于所述流程实例确定实际执行流程实例,包括:
响应于所述视频渲染指令,基于所述视频素材确定所述视频渲染任务所需的能力;
基于所述视频渲染任务所需的能力对所述流程实例进行流程简化处理,得到所述实际执行流程实例。
8.根据权利要求6所述的方法,其特征在于,所述响应于所述视频渲染指令,基于所述流程实例确定实际执行流程实例,包括:
响应于所述视频渲染指令,基于所述视频渲染指令中的能力指示信息,确定所述视频渲染任务所需的能力;
基于所述视频渲染任务所需的能力对所述流程实例进行流程简化处理,得到所述实际执行流程实例。
9.根据权利要求7或8所述的方法,其特征在于,所述流程实例由所述节点实例构成,所述节点实例包括原子节点实例,所述原子节点实例用于实现对应的原子能力;
所述基于所述视频渲染任务所需的能力对所述流程实例进行流程简化处理,得到所述实际执行流程实例,包括:
基于所述视频渲染任务所需的能力,以及所述流程实例中各个所述原子节点实例对应的所述原子能力,确定无效原子节点实例;
从所述流程实例中去除所述无效原子节点实例,得到所述实际执行流程实例。
10.根据权利要求1至5任一所述的方法,其特征在于,所述基于所述渲染流程配置文件以及原子能力库中的原子能力模型,对所述视频渲染流程进行实例化,得到流程实例之后,所述方法还包括:
将所述流程实例存储至流程实例库,所述流程实例库中存储有对应不同视频渲染流程的流程实例;
所述响应于视频渲染指令,通过执行所述流程实例对视频素材进行视频渲染,得到目标视频,包括:
响应于视频渲染指令,从所述流程实例库中获取目标流程实例,所述目标流程实例具有所述视频渲染指令所指示视频渲染任务所需的能力;
通过执行所述目标流程实例对所述视频素材进行视频渲染,得到所述目标视频。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
响应于渲染流程热更新指令,读取热更新渲染流程配置文件,所述渲染流程热更新指令在所述视频渲染流程发生热更新的情况下触发;
基于所述热更新渲染流程配置文件以及所述原子能力库中的所述原子能力模型,对热更新后的所述视频渲染流程进行实例化,得到热更新流程实例;
基于所述热更新流程实例更新所述流程实例库。
12.一种视频渲染装置,其特征在于,所述装置包括:
读取模块,用于读取渲染流程配置文件,所述渲染流程配置文件用于指示视频渲染流程以及实现视频渲染所需的目标能力;
实例化模块,用于基于所述渲染流程配置文件以及原子能力库中的原子能力模型,对所述视频渲染流程进行实例化,得到流程实例;其中,所述原子能力库中包含用于实现不同原子能力的所述原子能力模型,且所述流程实例具有所述目标能力;
视频渲染模块,用于响应于视频渲染指令,通过执行所述流程实例对视频素材进行视频渲染,得到目标视频。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至11任一所述的视频渲染方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至11任一所述的视频渲染方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中;计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如权利要求1至11任一所述的视频渲染方法。
CN202211518540.XA 2022-11-29 2022-11-29 视频渲染方法、装置、设备及存储介质 Pending CN116962807A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211518540.XA CN116962807A (zh) 2022-11-29 2022-11-29 视频渲染方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211518540.XA CN116962807A (zh) 2022-11-29 2022-11-29 视频渲染方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116962807A true CN116962807A (zh) 2023-10-27

Family

ID=88460771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211518540.XA Pending CN116962807A (zh) 2022-11-29 2022-11-29 视频渲染方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116962807A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117793428A (zh) * 2023-12-27 2024-03-29 北京中科大洋科技发展股份有限公司 一种流程化设备驱动的系统和方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117793428A (zh) * 2023-12-27 2024-03-29 北京中科大洋科技发展股份有限公司 一种流程化设备驱动的系统和方法

Similar Documents

Publication Publication Date Title
CN108876887B (zh) 渲染方法和装置
US20230057566A1 (en) Multimedia processing method and apparatus based on artificial intelligence, and electronic device
CN112685036A (zh) 前端代码生成方法、装置、计算机设备及存储介质
CN112311605B (zh) 提供机器学习服务的云平台及方法
CN113505082B (zh) 应用程序测试方法及装置
CN112528203A (zh) 基于网页的在线文档制作方法及系统
CN111506300A (zh) 一种小程序生成方法、装置、设备及存储介质
CN111179391A (zh) 一种三维动画制作方法、系统及存储介质
CN116962807A (zh) 视频渲染方法、装置、设备及存储介质
US11647250B2 (en) Methods and systems for remote streaming of a user-customized user interface
US10269388B2 (en) Clip-specific asset configuration
CN114307153A (zh) 游戏资产的处理方法及装置、计算机存储介质、电子设备
CN114154000A (zh) 多媒体资源发布方法和装置
CN114130017A (zh) 基于游戏引擎的界面部署方法、装置、设备及存储介质
US11645803B2 (en) Animation effect reproduction
CN113709575B (zh) 视频编辑处理方法、装置、电子设备及存储介质
CN115794400A (zh) 深度学习模型的内存管理方法、装置、设备及存储介质
CN116991513A (zh) 配置文件生成方法、装置、电子设备、介质及程序产品
KR20190094879A (ko) 실외 증강현실 서비스를 위한 모듈식 콘텐츠 제작 방법 및 장치
CN113190509A (zh) 动画处理方法、装置、电子设备及计算机可读存储介质
CN116661767B (zh) 文件生成方法、装置、设备以及存储介质
EP4394593A1 (en) Skin changing method and apparatus for display interface, vehicle and storage medium
CN115174993B (zh) 用于视频制作的方法、装置、设备和存储介质
CN115640044B (zh) 基于Unity的三维软件开发方法、装置、设备及介质
US20240111496A1 (en) Method for running instance, computer device, and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication