CN116248919A - 视频生成方法和装置 - Google Patents

视频生成方法和装置 Download PDF

Info

Publication number
CN116248919A
CN116248919A CN202310298310.5A CN202310298310A CN116248919A CN 116248919 A CN116248919 A CN 116248919A CN 202310298310 A CN202310298310 A CN 202310298310A CN 116248919 A CN116248919 A CN 116248919A
Authority
CN
China
Prior art keywords
video
animation
video generation
target
sub
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
CN202310298310.5A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202310298310.5A priority Critical patent/CN116248919A/zh
Publication of CN116248919A publication Critical patent/CN116248919A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • H04N21/8153Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Landscapes

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

Abstract

本申请公开了视频生成方法和装置,涉及视频处理技术领域。该方法的一具体实施方式包括:响应于获取到视频生成请求,基于视频生成请求,获取视频元素信息;基于新的动画描述文件和动画模板文件,得到目标动画;基于目标动画,执行截图操作,得到有序图片序列;基于有序图片序列,生成目标视频。该实施方式丰富了生成的视频样式,降低了开发成本。

Description

视频生成方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及视频处理技术领域,尤其涉及一种视频生成方法和装置。
背景技术
在电商领域,文案、图片和视频等多种形式的广告创意通过将产品特性和卖点等关键信息形象直观的呈现给用户,可以有效地提高用户对产品的关注度,提升整体营销效果。其中,视频创意融合视频、音频、图片和文本等内容于一体,表现力更生动,是促进用户对产品认知、偏好和购买意愿最有效的方法,因此,需要提供便捷高效的视频创意生成方案,助力广告主产品推广和营销。
现有技术中,模板视频是视频创意生成方式之一,通过对视频模板中的素材内容进行替换,智能化的衍生出不同风格的视频,为广告主提供样式丰富的视频创意。
但是,由于视频模板(如缩放平移、图文轮播、旋转快闪等)通常是由开发人员进行定制化开发,只能通过人工开发才能实现批量的替换和上新,例如在特定节日如母亲节、情人节等,难以快速制作具备时效特性的视频模板。因此该方案不但给开发人员带来了巨大的压力,而且难以进行视频模板的更新迭代,造成视频多样性受限问题。
发明内容
本申请实施例提供了一种视频生成方法、装置、设备以及存储介质。
根据第一方面,本申请实施例提供了一种视频生成方法,该方法包括:响应于获取到视频生成请求,基于视频生成请求,获取视频元素信息;基于新的动画描述文件和所述动画模板文件,得到目标动画;基于目标动画,执行截图操作,得到有序图片序列;基于有序图片序列,生成目标视频。
根据第二方面,本申请实施例提供了一种视频生成装置,该装置包括:获取模块,被配置成响应于获取到视频生成请求,基于视频生成请求,获取视频元素信息;替换模块,被配置成基于新的动画描述文件和所述动画模板文件,得到目标动画;截图模块,被配置成基于目标动画,执行截图操作,得到有序图片序列;生成模块,被配置成基于有序图片序列,生成目标视频。
根据第三方面,本申请实施例提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被该一个或多个处理器执行,使得一个或多个处理器实现如第一方面的任一实施例的视频生成方法。
根据第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面的任一实施例的视频生成方法。
本申请通过响应于获取到视频生成请求,基于视频生成请求,获取视频元素信息;基于新的动画描述文件和所述动画模板文件,得到目标动画;基于目标动画,执行截图操作,得到有序图片序列;基于有序图片序列,生成目标视频,即充分利用动画模板的易扩展性和可重用性,丰富视频样式,降低开发成本,有效克服了现有技术中基于模板的视频生成***视频多样性受限,开发成本高的问题。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其他特征将通过以下的说明书而变得容易理解。
附图说明
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的视频生成方法的一个实施例的流程图;
图3是根据本申请的视频生成方法的一个应用场景的示意图;
图4是根据本申请的视频生成方法的又一个实施例的流程图;
图5是根据本申请的视频生成装置的一个实施例的示意图;
图6是根据本申请的视频生成***的一个实施例的示意图;
图7是适于用来实现本申请实施例的服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的视频生成方法的实施例的示例性***架构100。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如,视频播放类应用、通讯类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于手机和笔记本电脑。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供视频生成服务),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如,响应于获取到视频生成请求,基于视频生成请求,获取视频元素信息;基于新的动画描述文件和所述动画模板文件,得到目标动画;基于目标动画,执行截图操作,得到有序图片序列;基于有序图片序列,生成目标视频。
需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供视频生成服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要指出的是,本公开的实施例所提供的视频生成方法可以由服务器105执行,也可以由终端设备101、102、103执行,还可以由服务器105和终端设备101、102、103彼此配合执行。相应地,视频生成装置包括的各个部分(例如各个单元、子单元、模块、子模块)可以全部设置于服务器105中,也可以全部设置于终端设备101、102、103中,还可以分别设置于服务器105和终端设备101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示出了可以应用于本申请的视频生成方法的实施例的流程200。在本实施例中,视频生成方法包括以下步骤:
步骤201,响应于获取到视频生成请求,基于视频生成请求,获取视频元素信息。
在本实施例中,执行主体(如图1中所示的服务器105或终端设备101、102、103)可以采用有线或无线的方式获取视频生成请求,并基于该视频生成请求,获取视频元素信息。
其中,视频元素信息可以包括:动画模板文件、动画描述文件、和目标素材。
这里,视频生成请求中可直接包括动画模板文件、动画描述文件、目标素材等信息,也可以仅包括动画模板文件存储路径、动画描述文件存储路径、目标素材存储路径等信息,执行主体在获取到视频生成请求后,可分别根据动画模板文件存储路径、动画描述文件存储路径、目标素材存储路径获取动画模板文件、动画描述文件和目标素材。
其中,动画模板文件是用于描述动画的JSON文件,存储在动画模板数据库中。动画是由动画制作人员利用动画制作软件AE(Adobe After Effects)进行制作,并结合Bodymovin插件,把在AE上制作的动画导出为JSON文件,支持在Web/Android/IOS等进行渲染播放。该JSON文件称作动画模板文件,包括图片集合、图层集合、视图的宽度和高度、起始和结束关键帧、帧率等动画基础信息。
动画描述文件是通过脚本从动画模板文件中提取出后端视频生成依赖的相关动画信息。每一个动画模板文件都有相对应的动画描述文件。动画描述文件包括动画时长和动画素材信息,其中动画素材信息分为两类:图片素材和文案素材,通过类型字段进行区分。图片素材包括图片的URL,本地文件名称,宽度、高度、图层下标等信息。文案素材包括文案内容、最小和最大文案长度和图层下标等信息。
需要指出的是,视频元素信息还可以包括目标视频宽度、高度、帧率、时长等信息。
其中,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
在一些可选的方式中,基于视频生成请求,获取视频元素信息,包括:根据动画模板文件存储路径、动画描述文件存储路径、目标素材存储路径,获取动画模板文件、动画描述文件和目标素材。
在本实现方式中,视频生成请求可以包括动画模板文件存储路径、动画描述文件存储路径、目标素材存储路径,执行主体可根据画模板文件存储路径、动画描述文件存储路径、目标素材存储路径,获取动画模板文件、动画描述文件和目标素材。
该实现方式通过根据画模板文件存储路径、动画描述文件存储路径、目标素材存储路径,获取动画模板文件、动画描述文件和目标素材,降低了数据传输的数据量,提升了信息传输效率,进而提升了视频生成效率。
步骤202,基于新的动画描述文件和动画模板文件,得到目标动画。
在本实施例中,执行主体可根据目标素材对动画描述文件中的素材进行替换,得到新的动画描述文件,读取动画模板文件和新的动画描述文件的内容,并将读取的内容填充到Lottie代码的HTML页面,得到目标动画。
步骤203,基于目标动画,执行截图操作,得到有序图片序列。
在本实施例中,执行主体可对目标动画执行截图操作,即对目标动画进行渲染、播放并截图,得到有序图片序列。
具体地,执行主体可首先通过Puppeteer以无界面方式创建Chrome浏览器并打开HTML页面,并通过Lottie动画库跳转到指定帧,然后利用Puppeteer对指定帧进行截图,并保存到存储介质集群。
在一些可选的方式中,该方法还包括:采用资源池对浏览器进行管理,具体包括以下至少一项:在获取视频生成请求前初始化浏览器;在浏览器使用完成后,对使用完的浏览器进行回收。
在本实施例中,由于截图操作包括创建浏览器以进行截图,如利用Puppeteer创建Chrome浏览器,如果每个请求到来之后都需要创建浏览器,会产生较高的创建进程开销,为了减少重复创建浏览器产生的进程开销,降低资源消耗,执行主体可采用资源池统一管理浏览器资源。
具体地,执行主体可在视频生成请求到来前由资源池初始化部分浏览器,每次视频生成请求到来后可以直接从资源池中获取浏览器,使用完后由资源池负责将使用完的浏览器资源回收。
该实现方式通过在获取视频生成请求前初始化浏览器,以及在浏览器使用完成后,对使用完的浏览器进行回收,实现了对浏览器资源的统一管理,避免了针对每次请求创建浏览器的重复操作,有效降低了资源消耗。
步骤204,基于有序图片序列,生成目标视频。
在本实施例中,执行主体可直接根据有序图片序列,通过视频编码工具进行编码后生成目标视频,也可以根据有序图片序列和视频生成命令,通过视频编码工具进行编码后生成目标视频,本申请对此不作限定。
其中,视频生成命令可以包含在上述视频生成请求中,视频生成命令可以包括以下至少一项:指定图片序列路径、根据动画模板中限定的时长对音乐进行截断或重复播放、叠加弹幕和特效。
在一些可选的方式中,基于有序图片序列,生成目标视频,包括:基于有序图片序列和视频生成命令,生成目标视频。
在本实现方式中,视频元素信息还包括:视频生成命令,视频生成命令包括以下至少一项:指定图片序列路径、根据动画模板中限定的时长对音乐进行截断或重复播放、叠加弹幕和特效。
执行主体在获得有序图片序列后,可根据有序图片序列和视频生成命令,通过视频编码工具进行编码后生成目标视频,并将视频文件和视频MD5校验文件同步到存储介质集群中。
该实现方式通过基于有序图片序列和视频生成命令,生成目标视频,有效提升了生成的目标视频的有效性。
继续参见图3,图3是根据本实施例的视频生成方法的应用场景的一个示意图。
在图3的应用场景中,执行主体301可采用有线或无线的方式实时或定期监测视频生成请求302,响应于获取到视频生成请求302,基于视频生成请求,获取视频元素信息,其中,视频元素信息包括:动画模板文件303、动画描述文件304和目标素材305;基于新的动画描述文件306和动画模板文件303,得到目标动画307,其中,新的动画描述文件通过将目标素材替换动画描述文件中的素材得到;基于目标动画307,执行截图操作308,得到有序图片序列309;基于有序图片序列309,生成目标视频310。
本公开的视频生成方法,通过响应于获取到视频生成请求,基于视频生成请求,获取视频元素信息;基于新的动画描述文件和动画模板文件,得到目标动画;基于目标动画,执行截图操作,得到有序图片序列;基于有序图片序列,生成目标视频,即充分利用动画模板的易扩展性和可重用性,丰富视频样式,降低开发成本,有效克服了现有技术中基于模板的视频生成***视频多样性受限,开发成本高的问题。
进一步参考图4,其示出了图2所示的视频生成方法的又一个实施例的流程400。在本实施例中,视频生成方法的流程400,可包括以下步骤:
步骤401,响应于获取到视频生成请求,基于视频生成请求,获取视频元素信息。
在本实施例中,步骤401的实现细节和技术效果,可以参考对步骤201的描述,在此不再赘述。
步骤402,基于新的动画描述文件和动画模板文件,得到目标动画。
在本实施例中,步骤402的实现细节和技术效果,可以参考对步骤202的描述,在此不再赘述。
步骤403,将目标动画划分为预设数量个子片段。
在本实施例中,由于渲染、播放和截图是大量消耗CPU和内存资源的操作,针对单台机器上的单个视频生成请求,为了利用多核性能,提高CPU利用率,渲染、播放和截图会拆分到多个不同的进程同时进行。
为此,执行主体可将目标动画划分为预设数量个子片段,其中,预设数量可根据实际需求设定,例如,5个、7个等,本申请对此不作限定。
步骤404,并行运行预设数量个子进程对预设数量个子片段执行截图操作,得到预设数量个子图片序列。
在本实施例中,执行主体可并行运行预设数量个子进程对预设数量个子片段执行截图操作,得到预设数量个子图片序列。
其中,并行运行的子进程的数量与子片段的数量相同,如,预设数量均为6,每一子进程对一个子片段执行截图操作得到一个子图片序列,各子进程对应的子片段各不相同,即每个动画由多个子进程并行进行截图,每个子进程负责截取动画的一部分图片,子进程之间的截取图片范围是互不交叉的。
步骤405,基于预设数量个子图片序列,生成有序图片序列。
在本实施例中,执行主体可根据各子进程执行截取操作的范围和图像帧的位置,将子图片序列进行排序,得到有序图片序列。
具体地,每个子进程执行截取操作的范围可以通过以下公式计算得到:
设置子进程数为n,帧率为fps(帧/s),动画总时长为total_duration(s),i为动画中位于当前子进程对应的子片段之前的图片数,则第index个子进程对相应片段执行截取操作,得到子序列的时长范围为:
(i+index*mindex)*msTimeStep,0≤i<mindex (1)
其中,mindex为第index个子进程需要截取图片数:
Figure BDA0004144124610000091
msTimeStep为毫秒步长:
msTimeStep=1000/fps (3)
k为总帧数:
k=fps*total_duration (4)
步骤406,基于有序图片序列,生成目标视频。
在本实施例中,步骤406的实现细节和技术效果,可以参考对步骤204的描述,在此不再赘述。
从图4中可以看出,与图2对应的实施例相比,本实施例中的视频生成方法的流程400体现了将目标动画划分为预设数量个子片段,并行运行预设数量个子进程对预设数量个子片段执行截图操作,得到预设数量个子图片序列,基于预设数量个子图片序列,生成有序图片序列,基于有序图片序列,生成目标视频,该方式通过创建多个子进程并行进行渲染、播放和截图以加快图片截取速度,从而有效加快了视频生成速度。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种视频生成装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的视频生成装置500包括:获取模块501、替换模块502、截图模块503和生成模块504。
其中,获取模块501,可被配置成响应于获取到视频生成请求,基于视频生成请求,获取视频元素信息。
替换模块502,可被配置成基于新的动画描述文件和所述动画模板文件,得到目标动画。
截图模块503,可被配置成基于目标动画,执行截图操作,得到有序图片序列。
生成模块504,可被配置成基于有序图片序列,生成目标视频。
在本实施例的一些可选的方式中,截图模块进一步被配置成:将目标动画划分为预设数量个子片段;并行运行预设数量个子进程对预设数量个子片段执行截图操作,得到预设数量个子图片序列;基于预设数量个子图片序列,生成有序图片序列。
在本实施例的一些可选的方式中,获取模块进一步被配置成:根据动画模板文件存储路径、动画描述文件存储路径和目标素材存储路径,获取动画模板文件、动画描述文件和目标素材。
在本实施例的一些可选的方式中,生成模块进一步被配置成:基于有序图片序列和视频生成命令,生成目标视频。
在本实施例的一些可选的方式中,该装置还包括管理模块,管理模块被配置成采用资源池对所述浏览器进行管理,具体包括以下至少一项:在获取视频生成请求前初始化浏览器;在浏览器使用完成后,对使用完的浏览器进行回收。
进一步参考图6,本申请提供了一种视频生成***的一个实施例。
在本实施例中,该***包括请求服务器601,视频生成子服务器602。
请求服务器601可以是提供各种服务的服务器,例如,基于用户输入信息,生成多个视频生成请求,并将多个视频生成请求发送至视频生成子服务器集群中的一个或多个视频生成子服务器。
视频生成子服务器602,用于执行如上任意一实施例所描述的视频生成方法。
其中,基于用户输入信息,生成多个视频生成请求,并将多个视频生成请求发送至视频生成子服务器集群中的一个或多个视频生成子服务器,具体可包括以下4个步骤:
步骤6011,视频制作请求预处理。请求服务器首先接收广告主通过前端展示页面选择的视频生成信息,如物品ID、模板ID、广告位ID,然后解析该请求并判断该请求是否为有效请求,是否包含物品ID、模板ID和广告位ID等必要信息。如果不包含则认为该请求是无效请求,返回失败信息,视频生成进度置为无效进度。如果是有效请求,进入步骤6012。
步骤6012,素材获取。视频制作依赖的相关素材有文案素材、图片素材、音乐素材、模板素材等。如果广告主自主上传本地素材,进入步骤6014。否则,通过从本地文件或远端素材数据库获取素材,进入步骤6013。例如,文案素材可以通过访问文案信息数据库获取,文案信息数据库中存储了经过挖掘或处理后的物品文案信息,包括产品描述、品牌名等信息。图片素材可以通过访问物品基础数据库获取,物品基础数据库中存储了物品的主图信息、物品详情页和轮播图等图片的基本属性信息和图像检测结果信息,如人脸检测、文字检测等,供视频生成使用。
步骤6013,素材筛选。素材筛选阶段主要负责从多张图片和多条文案中筛选出符合条件的素材候选集合。在获取图片的基本属性和图像检测结果等信息后,首先根据图像人脸检测、文字检测和图片相似性等规则,对图片进行过滤,得到符合规则的图片候选集。结合动画模板支持的图片个数,从候选集中随机选择出多张图片。文案则采用随机方式进行筛选。根据动画模板支持的文案个数,从文案候选集中随机选择出多个文案。
步骤6014,素材处理。素材处理阶段通常会对图片素材进行处理,根据模板的宽度和高度对图片文件进行缩放处理,生成规格符合的图片文件。
步骤6015,分布式视频生成。根据处理好的素材及动画模板信息,生成一个或多个视频生成请求,并采用轮询的方式将多个视频生成请求发送至视频生成子服务器集群中的一个或多个视频生成子服务器。
通过提供包括请求服务器和视频生成子服务器的视频生成***,在提升生成视频多样性的同时,有效克服了现有技术中基于模板的视频生成***中视频生成阶段和素材获取、筛选、处理等功能紧密耦合,只能整体进行升级或性能优化,不利于***维护的问题。
在一些可以选的方式中,请求服务器进一步用于获取视频生成子服务器生成的目标视频,并对目标视频进行存储。
在本实现方式中,请求服务器可获取视频生成子服务器生成的目标视频,将目标视频上传至远端文件存储***,并将目标视频的基本信息,如URL、宽度、高度、模板ID等存储至视频创意库。
进一步地,在目标视频生成过程中,目标视频生成进度会随时间实时更新,并写入进度数据库,在完成目标视频存储后,目标视频生成进度为100%,该物品的视频制作请求已处理完毕。
应该理解,图6中的请求服务器601、视频生成子服务器602的数目仅仅是示意性的。根据实现需要,可以具有任意数目的请求服务器和视频生成子服务器。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的视频生成方法的电子设备的框图。
700是根据本申请实施例的视频生成方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的视频生成方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的视频生成方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的视频生成方法对应的程序指令/模块(例如,附图5所示的获取模块501、替换模块502、截图模块503和生成模块504)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的视频生成方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储视频生成的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至视频生成的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
视频生成方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,有效丰富了生成的视频样式,降低了开发成本。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (10)

1.一种视频生成方法,所述方法包括:
响应于获取到视频生成请求,基于所述视频生成请求,获取视频元素信息,所述视频元素信息包括:动画模板文件、动画描述文件和目标素材;
基于新的动画描述文件和所述动画模板文件,得到目标动画,其中,所述新的动画描述文件通过将所述目标素材替换所述动画描述文件中的素材得到;
基于所述目标动画,执行截图操作,得到有序图片序列;
基于所述有序图片序列,生成目标视频。
2.根据权利要求1所述的方法,其中,所述基于所述目标动画,执行截图操作,得到有序图片序列,包括:
将所述目标动画划分为预设数量个子片段;
并行运行预设数量个子进程对所述预设数量个子片段执行截图操作,得到预设数量个子图片序列,其中,每一子进程对一个子片段执行截图操作得到一个子图片序列,各子进程对应的子片段各不相同;
基于所述预设数量个子图片序列,生成有序图片序列。
3.根据权利要求1所述的方法,其中,所述视频生成请求包括:动画模板文件存储路径、动画描述文件存储路径和目标素材存储路径,以及所述基于视频生成请求,获取视频元素信息,包括:
根据所述动画模板文件存储路径、动画描述文件存储路径和目标素材存储路径,获取动画模板文件、动画描述文件和目标素材。
4.根据权利要求1所述的方法,其中,所述视频元素信息还包括:视频生成命令,以及所述基于所述有序图片序列,生成目标视频,包括:
基于所述有序图片序列和视频生成命令,生成目标视频,所述视频生成命令包括以下至少一项:指定图片序列路径、根据动画模板中限定的时长对音乐进行截断或重复播放、叠加弹幕和特效。
5.根据权利要求1-4任一所述的方法,所述截图操作包括创建浏览器以进行截图,以及所述方法还包括:
采用资源池对所述浏览器进行管理,具体包括以下至少一项:在获取视频生成请求前初始化浏览器;在浏览器使用完成后,对使用完的浏览器进行回收。
6.一种视频生成装置,所述装置包括:
获取模块,被配置成响应于获取到视频生成请求,基于所述视频生成请求,获取视频元素信息,所述视频元素信息包括:动画模板文件、动画描述文件和目标素材;
替换模块,被配置成基于新的动画描述文件和所述动画模板文件,得到目标动画,其中,所述新的动画描述文件通过将所述目标素材替换所述动画描述文件中的素材得到;
截图模块,被配置成基于所述目标动画,执行截图操作,得到有序图片序列;
生成模块,被配置成基于所述有序图片序列,生成目标视频。
7.一种视频生成***,所述***包括:请求服务器和视频生成子服务器,
所述请求服务器用于基于用户输入信息,生成多个视频生成请求,并将所述多个视频生成请求发送至视频生成子服务器集群中的一个或多个视频生成子服务器;
所述视频生成子服务器用于执行如权利要求1-5之一所述的方法。
8.根据权利要求7所述的***,其中,所述请求服务器进一步用于:
获取所述视频生成子服务器生成的目标视频,并对所述目标视频进行存储。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
CN202310298310.5A 2023-03-24 2023-03-24 视频生成方法和装置 Pending CN116248919A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310298310.5A CN116248919A (zh) 2023-03-24 2023-03-24 视频生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310298310.5A CN116248919A (zh) 2023-03-24 2023-03-24 视频生成方法和装置

Publications (1)

Publication Number Publication Date
CN116248919A true CN116248919A (zh) 2023-06-09

Family

ID=86633265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310298310.5A Pending CN116248919A (zh) 2023-03-24 2023-03-24 视频生成方法和装置

Country Status (1)

Country Link
CN (1) CN116248919A (zh)

Similar Documents

Publication Publication Date Title
JP7076030B2 (ja) ユーザーインタラクション情報処理モデルの生成方法と装置、ユーザーインタラクション情報処理方法と装置、設備、媒体、及びプログラム
KR102575848B1 (ko) 비디오 처리 방법 및 장치, 전자 장치, 및 컴퓨터 판독가능 저장매체
JP2022023776A (ja) オンライン予測モデルのトレーニング方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
US9779069B2 (en) Model traversing based compressed serialization of user interaction data and communication from a client-side application
US20180246863A1 (en) Dynamic streaming content
CN111669623A (zh) 视频特效的处理方法、装置以及电子设备
EP3902280A1 (en) Short video generation method and platform, electronic device, and storage medium
US9680897B2 (en) Throttled scanning for optimized compression of network communicated data
CN109426603B (zh) 一种分析应用程序卡顿的方法和装置
CN112416461B (zh) 视频资源处理方法、装置、电子设备和计算机可读介质
JP7263660B2 (ja) ビデオ処理方法、装置、電子機器及び記憶媒体
CN107679113A (zh) 轻应用的获取方法、设备及电子设备
CN113032708A (zh) 一种无代码Web开发***
CN112102448A (zh) 虚拟对象图像显示方法、装置、电子设备和存储介质
CN105302925A (zh) 推送语音搜索数据的方法和装置
CN105683957A (zh) 样式表推测性预加载
CN111935506B (zh) 用于确定重复视频帧的方法和装置
CN113110829A (zh) 多ui组件库数据处理方法及装置
CN105359104A (zh) 状态信息的同步点
US10453491B2 (en) Video processing architectures which provide looping video
CN109033460A (zh) 一种信息流中的排序方法、装置和设备/终端/服务器
CN116248919A (zh) 视频生成方法和装置
CN114661274A (zh) 用于生成智能合约的方法和装置
CN115482324A (zh) 多媒体资源生成方法、装置、电子设备及存储介质
CN111327941B (zh) 一种离线视频播放方法、装置、设备及介质

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