美文网首页
基于模板的云服务视频自动生成解决方案

基于模板的云服务视频自动生成解决方案

作者: 遇见即未来 | 来源:发表于2018-09-26 16:17 被阅读0次

    各位读者朋友,大家好,今天我们就来聊一下《基于模板的云服务视频自动生成解决方案》。

    在图片向视频发展的大趋势中,用户对视频,特别是小视频的诉求越来越高。下面我举些常见的例子,如:抖音、西瓜视频、梨视频、快手视频、微视、VUE社区、微信小视频等。随着视频与通信技术的发展,直播也成为非常火的视频呈现方式,但在一些以图片为主的社交或行业领域中,如何在云服务上实在用户视频的输出,成为行业领域中共同探究的问题。

    《基于模板的云服务视频自动生成解决方案》,标题比较长,里面涉及的关键点如下:

    关键技术


    视频模板

    视频自动生成

    多服务器协作云服务


    视频模板


    本文所述的模板是指:用于视频标准输出的模板文件

    非线型编辑软件:Pr、AE、Fcpx等,在软件中建立【工程项目】,并引入相关素材资源(包括但不限于:文本、视频、音频、图片、字体、特效等),通过上述中的某一款软件来制作视频。此处的【工程项目】,我们称之为模板。即:只需替换关联素材资源,即可按模板输出目标视频文件。

    各位读者若对上述概念不是太清楚的话,可以通过一个成熟的商业案例来了解一下。

    基于模板的在线视频解决方案

    在上述有商业服务方案中,用户只需要上传素材资源(图片、视频、文字),即可按照指定的模板生成“大片”,并及时分享至各大社交平台上。

    技术点分享

    1、在Mac或Windows上安装完整版本的AE软件,按照标准的AE项目制作过程,建立工程、导入资源、资源编排、视频特效、文字等,并将其保存为一个独立的aep后缀名的文件,与项目文件配套的还有资源文件夹。在此特别提醒工程文件制作的规范化,特别是资源文件的命名(后续做自动化时有明显的优点)。

    2、作品编辑完成后,还有一步非常的关键,即:渲染视频和输出设置

        视频渲染:可对视频的帧、分辨率等进行设置

        输出设置:视频的格式、码率、通道、音频等进行设置

        通常,在AE软件中,将编辑好的作品进行导出时,是先添加的渲染队列中,AE将按照渲染的设置进入视频处理,再按输出的设置进入压缩、转码等处理,最后将文件保存至本地计算机磁盘上。

    视频自动生成


    问:为什么要选择AE这套系统?

    答:对比市面通用视频处理软件,仅AE支持基于CMD DOS命令行的批量化处理。

    这里,就详细介绍一下Adobe Effects的一个可编程的命令行工具。

    以下内容适合有一定编程基础的读者阅读】以下内容会涉及到一些命令行的内容,读者朋友需要一定的计算机知识才能继续阅读。

    技术点分享

    自动渲染和网络渲染

    使用 aerender 自动渲染

    可执行文件 aerender.exe 是具有命令行接口的程序,可用于自动执行渲染。该可执行文件与主 After Effects 应用程序位于同一文件夹中。此文件的默认位置为:

    Windows:\Program Files\Adobe\Adobe After Effects CC\Support Files

    Mac OS:/Applications/Adobe After Effects CC

    您可以使用 aerender 应用程序在多个属于渲染场一部分的计算机上执行渲染操作,也可以在作为批操作一部分的单台计算机上使用 aerender 应用程序。

    可以通过在命令行上(或批处理脚本中)输入命令 aerender,后跟一系列可选参数,来使用该程序。有些参数是本身不带任何参数的简单选项(例如 -reuse),而有些参数则带有它们自己的参数(例如 -projectproject_path)。

    系统会将应用程序的版本和内部版本号写入标准输出 (stdout)。渲染可以由已经运行的 After Effects 实例执行,也可以由新启动的实例执行。默认情况下,即使已经有 After Effects 实例在运行,aerender 也会启动新实例。要改用当前正在运行的实例,请使用 -reuse 参数。此示例命令告知 After Effects 要使用多计算机渲染将 project_1.aep 中的 Composition_1 的第 1 到第 10 帧渲染到 Photoshop 文件带编号的序列中: 

    aerender -project c:\projects\project_1.aep -comp "Composition_1" -s 1 -e 10-RStemplate "Multi-Machine Settings" -OMtemplate "Multi-Machine Sequence"-output c:\output\project_1\frames[####].psd

    要只将 Composition_1 渲染到指定的文件,请输入此命令:

    aerender -project c:\projects\project_1.aep -comp "Composition_1" -output c :\output\project_1\project_1.avi

    注意:输入命令 aerender -help 可显示用法信息。 

    aerender命令行

    至此,相信读者朋友已经有了大概的了解,如下内容是我在实践过程中的总结,如果按上述的方式,想必你生成出的文件并是你理想化的,所以此处对两种重要的参数进行说明:

    –OMtemplate output_module_template

    –RStemplate render_sett ings_template

    问:以上参数到底应该如何写呢?

    答:用命令来解释  aerender.exe -project E:\ck\AEP\光影.aep -comp "合成 1" -continueOnMissingFootage -OMtemplate "output_module" -output E:\ck\AEP\光影.mov

    分解命令: -comp "合成 1" -continueOnMissingFootage -OMtemplate "output_module" -output E:\ck\AEP\光影.mov

    参数值与aep项目文件对应关系

    按照上述设置,就可以按你预期的方式渲染并输出目标视频。

    多服务器协作云服务


    技术分享

    渲染场 - 使用多台计算机渲染静止图像序列

    渲染场是指网络中的计算机一起用于渲染单个合成。您可以设置渲染场以便与 After Effects 的纯渲染版本(称为渲染引擎)一起使用。渲染场有助于减少一台计算机导出合成所需的时间。您可以使用多台计算机和多个 After Effects 副本跨网络渲染合成。您可以使用多个计算机来仅渲染静止图像序列;不能使用多个计算机来渲染单个影片。

    设置网络

    按照图中所述的过程,了解网络设置要求。

    云服务架构图

    构架说明:

    A. 安装有 After Effects 完整版的计算机

    B. 将一个项目和所有源文件保存到服务器上的一个文件夹

    C. 安装有渲染引擎的计算机

    D. 打开项目,将静止帧序列渲染到服务器上的指定输出文件夹

    您可以使用任意数量的计算机进行渲染;通常,计算机越多,渲染速度越快。不过,如果跨繁忙的网络使用太多计算机,网络通信可能会降低整个进程的速度。您可以通过观察“渲染队列”面板的“当前渲染”部分的“正在压缩和写入”阶段所花的时间,来检测网络速度是否变慢。

    使用多台计算机渲染静止图像序列

    使用多台计算机渲染静止图像序列的过程包括以下要点:

    要使用多台计算机渲染静止图像序列,您可以使用任意数量的计算机。

    在使用多台计算机渲染静止图像序列时,每个 After Effects 副本中的渲染大约同时开始。

    如果已加入队列的渲染项设置为“跳过现有文件”(一个“渲染设置”选项),则渲染过程会跳过现有帧或进行中的帧。

    多台计算机可以同时渲染项目,将静止图像序列写入一个文件夹中。

    要渲染静止图像序列,请按以下步骤操作:

    在用于渲染项目的每台计算机上安装 After Effects。确保在每台计算机上安装相同的字体。

    注意:

    不要在网络中共享增效工具。确保正在运行 After Effects 的每台计算机上都有增效工具文件夹的副本。在使用第三方增效工具时,还要确保相同的增效工具在所有计算机上均可用,并且您拥有足够的增效工具许可证。

    在一台计算机上打开项目,然后选择“合成”>“添加到渲染队列”。

    在“渲染队列”面板中,在“输出模块”区域中指定格式,然后在“输出到”区域中指定文件夹。此文件夹必须可供正在渲染的所有计算机使用。

    在“渲染队列”面板中,选择“渲染设置”部分的“跳过现有文件”(允许多台计算机渲染),以便多台计算机不渲染相同的帧。在使用“跳过现有文件”时不要对一个渲染项使用多个输出模块。

    将项目保存到第 2 步中打开该项目的计算机。

    在将渲染的每台计算机上,打开并保存项目。保存项目可确保 After Effects 在接下来的步骤中将新的相对路径记录到每台计算机。

    除非网络可以快速处理大型文件传输,否则请将项目文件及其所有源素材复制到每台渲染计算机。

    打开每台计算机上的“渲染队列”面板,然后单击“渲染”。您不需要同时在每台计算机上开始渲染,但是为了确保每台计算机承担相等的工作负载,请在大约相同的时间开始渲染。在每台计算机渲染完一个帧后,After Effects 在“输出”文件夹中搜索下一个未渲染的帧并再次开始渲染。

    您可以随时停止和启动任何计算机。不过,如果您停止某台计算机而不再次启动它,它正在渲染的帧可能无法完成。如果渲染期间一台或多台计算机停止,启动任何一台计算机均可确保序列中的所有帧得到渲染。

    在无版税模式中运行 aerender

    由于许可问题,必须在纯渲染计算机上序列化 After Effects CS5.5。在 After Effects CS6 及更高版本中,您现在可以在无版税模式中运行 aerender 或使用监视文件夹,因此不需要序列化。

    要确保 After Effects 在无版税模式下运行,请将名为 ae_render_only_node.txt 的一个空白文件放入以下位置:

    在纯渲染计算机上安装 After Effects。

    Mac 位置:

    /Users/<用户名>/Documents/

    /Users/Shared/Adobe/

    Windows 位置:

    C:\Users\<用户名>\Documents

    C:\Users\Public\Documents\Adobe

    说明:本文部分内容源自于Adobe官网

    结束语


    每个人都有享受美的权利,我们只是在技术上,为你提供更多的便利——科技改变生活。

    希望本文能起到抛砖引玉的作用,自动化视频这一块,还有很长的路要走,目前在视频自动智能这一块,做得比较好的公司有:

    1、DJI编辑器,可以基于视频分析技术自动化剪辑(大疆出品)

    2、Quik编辑器,可以基于视频特征、人脸、运动画面、声频等进行智能剪辑(GoPro出品)

    至于可以运用到哪些场景,就留给读者朋友去思考,也欢迎你的留言与分享。

    微信:liyanginchina  

    感谢你的阅读,期待你的交流,再会!  2018.09.26

    相关文章

      网友评论

          本文标题:基于模板的云服务视频自动生成解决方案

          本文链接:https://www.haomeiwen.com/subject/mfodoftx.html