CN117939255A - 视频生成方法、装置、设备及计算机可读存储介质 - Google Patents
视频生成方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117939255A CN117939255A CN202311827253.1A CN202311827253A CN117939255A CN 117939255 A CN117939255 A CN 117939255A CN 202311827253 A CN202311827253 A CN 202311827253A CN 117939255 A CN117939255 A CN 117939255A
- Authority
- CN
- China
- Prior art keywords
- video
- template
- protocol
- video data
- generating
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 119
- 239000000463 material Substances 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims description 65
- 230000015654 memory Effects 0.000 claims description 17
- 230000004044 response Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 14
- 230000009466 transformation Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 229910052804 chromium Inorganic materials 0.000 description 1
- 239000011651 chromium Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/44016—Processing 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)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种视频生成方法、装置、设备及计算机可读存储介质,属于计算机技术领域。方法包括:显示第一页面,第一页面中显示有视频生成控件,视频生成控件用于生成视频;响应于针对视频生成控件的触发操作,显示第二页面,第二页面中显示有模板视频的参考帧的视频画面和参考数量,参考数量为模板视频包括的素材的个数;响应于针对模板视频的参考帧的视频画面的触发操作,显示第三页面,第三页面中显示有多个候选多媒体资源;响应于针对多个候选多媒体资源中的参考数量个目标多媒体资源的触发操作,根据参考数量个目标多媒体资源和模板视频,生成目标视频,目标视频中包括参考数量个目标多媒体资源。该方法能够提高视频的生成效率。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种视频生成方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术和社交媒体的不断发展,视频成为了人们分享信息、故事和体验的主要方式,人们热衷于制作视频来满足人们的表达需求,视频已成为人们日常生活中不可或缺的一部分。
因此,亟需一种视频生成方法来生成视频,以满足用户的使用需求和体验。
发明内容
本申请实施例提供了一种视频生成方法、装置、设备及计算机可读存储介质。所述技术方案如下:
一方面,本申请实施例提供了一种视频生成方法,所述方法包括:
显示第一页面,所述第一页面中显示有视频生成控件,所述视频生成控件用于生成视频;
响应于针对所述视频生成控件的触发操作,显示第二页面,所述第二页面中显示有模板视频的参考帧的视频画面和参考数量,所述参考数量为所述模板视频包括的素材的个数;
响应于针对所述模板视频的参考帧的视频画面的触发操作,显示第三页面,所述第三页面中显示有多个候选多媒体资源;
响应于针对所述多个候选多媒体资源中的参考数量个目标多媒体资源的触发操作,根据所述参考数量个目标多媒体资源和所述模板视频,生成目标视频,所述目标视频中包括所述参考数量个目标多媒体资源。
在一种可能的实现方式中,所述根据所述参考数量个目标多媒体资源和所述模板视频,生成目标视频,包括:
获取所述模板视频对应的第二视频数据;
根据所述参考数量个目标多媒体资源,对所述第二视频数据进行调整,得到第三视频数据,所述第三视频数据包括所述参考数量个目标多媒体资源;
根据所述第三视频数据,生成所述目标视频。
在一种可能的实现方式中,所述模板视频采用如下方法生成:
获取第一协议的工程文件,所述工程文件包括多个图层;
对所述工程文件进行解析,得到第一视频数据,所述第一视频数据包括在所述第一协议下的多个图层、每个图层在所述第一协议下包括的素材和属性信息;
根据所述第一视频数据,生成第二视频数据,所述第二视频数据包括在第二协议下的多个图层、每个图层在所述第二协议下包括的素材和属性信息,所述第二协议与所述第一协议不同;
根据所述第二视频数据,生成所述工程文件对应的模板视频。
在一种可能的实现方式中,所述根据所述第二视频数据,生成所述工程文件对应的模板视频,包括:
根据所述第二视频数据,获取视频模板,所述视频模板包括所述第二视频数据;
调用剪辑引擎,对所述视频模板进行处理,得到所述工程文件对应的模板视频。
在一种可能的实现方式中,所述方法应用于终端设备;
所述调用剪辑引擎,对所述视频模板进行处理,得到所述工程文件对应的模板视频,包括:
确定与所述终端设备的***类型对应的硬编解码器;
基于所述剪辑引擎包括所述硬编解码器,且所述硬编解码器为可用状态,调用所述硬编解码器对所述视频模板进行处理,得到所述模板视频;
基于所述剪辑引擎包括所述硬编解码器,所述硬编解码器为不可用状态,且所述剪辑引擎包括软编解码器,调用所述软编解码器对所述视频模板进行处理,得到所述模板视频;
基于所述剪辑引擎不包括所述硬编解码器,且所述剪辑引擎包括所述软编解码器,调用所述软编解码器对所述视频模板进行处理,得到所述模板视频;
基于所述剪辑引擎包括所述硬编解码器和所述软编解码器,所述硬编解码器为可用状态,且调用所述硬编解码器对所述视频模板进行处理未获取到所述模板视频,调用所述软编解码器对所述视频模板进行处理,得到所述模板视频。
在一种可能的实现方式中,所述根据所述第一视频数据,生成第二视频数据,包括:
按照所述第二协议对应的格式,对在所述第一协议下的多个图层进行转换,得到在所述第二协议下的多个图层;
按照所述第二协议对应的格式,对每个图层在所述第一协议下包括的素材和属性信息进行转换,得到每个图层在所述第二协议下包括的素材和属性信息;
根据在所述第二协议下的多个图层、每个图层在所述第二协议下包括的素材和属性信息,生成所述第二视频数据。
在一种可能的实现方式中,所述根据所述第二视频数据,生成所述工程文件对应的模板视频,包括:
通过消息队列遥测传输协议MQTT向服务器发送所述第二视频数据,所述第二视频数据用于所述服务器根据所述第二视频数据,生成所述工程文件对应的模板视频;
接收所述服务器返回的所述模板视频。
另一方面,本申请实施例提供了一种视频生成装置,所述装置包括:
显示模块,用于显示第一页面,所述第一页面中显示有视频生成控件,所述视频生成控件用于生成视频;
所述显示模块,还用于响应于针对所述视频生成控件的触发操作,显示第二页面,所述第二页面中显示有模板视频的参考帧的视频画面和参考数量,所述参考数量为所述模板视频包括的素材的个数;
所述显示模块,还用于响应于针对所述模板视频的参考帧的视频画面的触发操作,显示第三页面,所述第三页面中显示有多个候选多媒体资源;
生成模块,用于响应于针对所述多个候选多媒体资源中的参考数量个目标多媒体资源的触发操作,根据所述参考数量个目标多媒体资源和所述模板视频,生成目标视频,所述目标视频中包括所述参考数量个目标多媒体资源。
在一种可能的实现方式中,所述生成模块,用于获取所述模板视频对应的第二视频数据;根据所述参考数量个目标多媒体资源,对所述第二视频数据进行调整,得到第三视频数据,所述第三视频数据包括所述参考数量个目标多媒体资源;根据所述第三视频数据,生成所述目标视频。
在一种可能的实现方式中,所述生成模块,用于获取第一协议的工程文件,所述工程文件包括多个图层;对所述工程文件进行解析,得到第一视频数据,所述第一视频数据包括在所述第一协议下的多个图层、每个图层在所述第一协议下包括的素材和属性信息;根据所述第一视频数据,生成第二视频数据,所述第二视频数据包括在第二协议下的多个图层、每个图层在所述第二协议下包括的素材和属性信息,所述第二协议与所述第一协议不同;根据所述第二视频数据,生成所述工程文件对应的模板视频。
在一种可能的实现方式中,所述生成模块,用于根据所述第二视频数据,获取视频模板,所述视频模板包括所述第二视频数据;调用剪辑引擎,对所述视频模板进行处理,得到所述工程文件对应的模板视频。
在一种可能的实现方式中,所述生成模块,用于确定与终端设备的***类型对应的硬编解码器;基于所述剪辑引擎包括所述硬编解码器,且所述硬编解码器为可用状态,调用所述硬编解码器对所述视频模板进行处理,得到所述模板视频;基于所述剪辑引擎包括所述硬编解码器,所述硬编解码器为不可用状态,且所述剪辑引擎包括软编解码器,调用所述软编解码器对所述视频模板进行处理,得到所述模板视频;基于所述剪辑引擎不包括所述硬编解码器,且所述剪辑引擎包括所述软编解码器,调用所述软编解码器对所述视频模板进行处理,得到所述模板视频;基于所述剪辑引擎包括所述硬编解码器和所述软编解码器,所述硬编解码器为可用状态,且调用所述硬编解码器对所述视频模板进行处理未获取到所述模板视频,调用所述软编解码器对所述视频模板进行处理,得到所述模板视频。
在一种可能的实现方式中,所述生成模块,用于按照所述第二协议对应的格式,对在所述第一协议下的多个图层进行转换,得到在所述第二协议下的多个图层;按照所述第二协议对应的格式,对每个图层在所述第一协议下包括的素材和属性信息进行转换,得到每个图层在所述第二协议下包括的素材和属性信息;根据在所述第二协议下的多个图层、每个图层在所述第二协议下包括的素材和属性信息,生成所述第二视频数据。
在一种可能的实现方式中,所述生成模块,用于通过消息队列遥测传输协议MQTT向服务器发送所述第二视频数据,所述第二视频数据用于所述服务器根据所述第二视频数据,生成所述工程文件对应的模板视频;接收所述服务器返回的所述模板视频。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使计算机设备实现上述任一所述的视频生成方法。
另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现上述任一所述的视频生成方法。
另一方面,还提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种视频生成方法。
本申请实施例提供的技术方案至少带来如下有益效果:
本申请实施例提供的技术方案,根据制作好的模板视频以及用户选中的目标多媒体资源,生成与模板视频类似的目标视频,且目标视频中包括目标多媒体资源,该方法简化了视频生成的过程,使得视频生成的效率较高,且生成的视频的质量较佳,进而促进用户生成视频。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种视频生成方法的实施环境示意图;
图2是本申请实施例提供的一种视频生成方法的流程图;
图3是本申请实施例提供的一种第一页面的显示示意图;
图4是本申请实施例提供的一种第二页面的显示示意图;
图5是本申请实施例提供的一种剪辑引擎的应用场景的示意图;
图6是本申请实施例提供的一种模板视频的生成过程的示意图;
图7是本申请实施例提供的一种第三页面的显示示意图;
图8是本申请实施例提供的一种剪辑引擎的工作流程的示意图;
图9是本申请实施例提供的一种视频生成装置的结构示意图;
图10是本申请实施例提供的一种终端设备的结构示意图;
图11是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种视频生成方法的实施环境示意图,如图1所示,该实施环境包括:终端设备101和服务器102。本申请实施例提供的视频生成方法由终端设备101执行,或者,本申请实施例提供的视频生成方法通过终端设备101和服务器102之间的交互实现。
可选地,终端设备101可以是任何一种可与用户通过键盘、触摸板、遥控器、语音交互或者手写设备等一种或多种方式进行人机交互的电子设备产品。例如,PC(PersonalComputer,个人计算机)、手机、智能手机、PDA(Personal Digital Assistant,个人数字助手)、可穿戴设备、PPC(Pocket PC,掌上电脑)、平板电脑、智能车机、智能电视、智能音箱、智能手表等。
终端设备101可以泛指多个终端设备中的一个,本实施例仅以终端设备101来举例说明。本领域技术人员可以知晓,上述终端设备101的数量可以更多或更少。比如上述终端设备101可以仅为一个,或者上述终端设备101为几十个或几百个,或者更多数量,本申请实施例对终端设备101的数量和设备类型不加以限定。
服务器102为一台服务器,或者为多台服务器组成的服务器集群,或者为云计算平台和虚拟化中心中的任意一种,本申请实施例对此不加以限定。服务器102与终端设备101通过有线网络或无线网络进行通信连接。服务器102具有数据接收功能、数据处理功能和数据发送功能。当然,服务器102还可以具有其他功能,本申请实施例对此不加以限定。
本领域技术人员应能理解上述终端设备101和服务器102仅为举例说明,其他现有的或者今后可能出现的终端设备或服务器,如可适用于本申请,也应包含在本申请的保护范围之内,并在此以引用方式包含于此。
本申请实施例提供了一种视频生成方法,该方法可应用于上述图1所示的实施环境,以图2所示的本申请实施例提供的一种视频生成方法的流程图为例,该方法可由图1中的终端设备101执行。如图2所示,该方法包括下述步骤201至步骤204。
在步骤201中,显示第一页面,第一页面中显示有视频生成控件,视频生成控件用于生成视频。
在本申请示例性实施例中,终端设备中安装和运行有用于播放多媒体资源的应用程序,用于播放多媒体资源的应用程序可以是任意类型的应用程序,本申请实施例对此不进行限定。示例性地,用于播放多媒体资源的应用程序可以是嵌入型程序,如小程序。多媒体资源可以是视频,也可以是图片,本申请实施例对此也不进行限定。
终端设备的显示界面中显示有该用于播放多媒体资源的应用程序的相关信息,相关信息可以是应用程序的图标,也可以是应用程序的名称,本申请实施例对此不进行限定。当用户想要播放多媒体资源时,用户选中用于播放多媒体资源的应用程序的相关信息,终端设备接收到针对用于播放多媒体资源的应用程序的相关信息的触发操作,显示第一页面,第一页面中显示有视频生成控件,视频生成控件用于生成视频。
如图3是本申请实施例提供的一种第一页面的显示示意图。在图3中显示有视频生成控件301。
可选地,第一页面中还显示有正在播放的视频的视频画面,如图3中的302为正在播放的视频的视频画面。第一页面中还显示有发布正在播放的视频的用户的头像,如图3中的303为发布正在播放的视频的用户的头像。第一页面中还显示有关注控件,关注控件用于指示关注发布正在播放的视频的用户,如图3中的304为关注控件。第一页面中还显示有点赞控件,点赞控件用于指示对正在播放的视频进行点赞,如图3中的305为点赞控件。第一页面中还显示有正在播放的视频已获得的点赞数量,如图3中的“4695”为正在播放的视频已获得的点赞数量。第一页面中还显示有评论控件,评论控件用于显示正在播放的视频的评论内容,如图3中的306为评论控件。第一页面中还显示有正在播放的视频已获得的评论数量,如图3中的“1494”为正在播放的视频已获得的评论数量。第一页面中还显示有分享控件,分享控件用于分享正在播放的视频,如图3中的307为分享控件。第一页面中还显示有正在播放的视频的分享次数,如图3中的“1562”为正在播放的视频的分享次数。
在步骤202中,响应于针对视频生成控件的触发操作,显示第二页面,第二页面中显示有模板视频的参考帧的视频画面和参考数量,参考数量为模板视频包括的素材的个数。
在一种可能的实现方式中,针对视频生成控件的触发操作可以是针对视频生成控件的点击操作,还可以是针对视频生成控件的其他操作,本申请实施例对此不进行限定。
如图4是本申请实施例提供的一种第二页面的显示示意图。在图4中显示有模板视频的参考帧的视频画面401,图4中显示的参考数量为“7”。
可选地,第二页面中还显示有模板视频的时长,如图4中显示的“14秒”为模板视频的时长。
可选地,第二页面中还显示有其他模板视频的某一个视频帧的视频画面,其他模板视频包括的素材的个数以及其他模板视频的时长,详见图4所示,在此不再进行赘述。
在一种可能的实现方式中,显示第二页面之前,需要先生成模板视频,模板视频采用如下方法生成:获取第一协议的工程文件,工程文件包括多个图层;对工程文件进行解析,得到第一视频数据,第一视频数据包括在第一协议下的多个图层、每个图层在第一协议下包括的素材和属性信息;根据第一视频数据,生成第二视频数据,第二视频数据包括在第二协议下的多个图层、每个图层在第二协议下包括的素材和属性信息,第二协议与第一协议不同;根据第二视频数据,生成工程文件对应的模板视频。
可选地,获取第一协议的工程文件之前,需要先生成第一协议的工程文件,生成第一协议的工程文件的过程包括:终端设备中安装和运行有用于生成第一协议的工程文件的应用程序,用户可以在该应用程序中操作以生成第一协议的工程文件,并将生成的第一协议的工程文件存储在终端设备中。可选地,该应用程序可以是AE软件(Adobe AfterEffects,一款图形视频处理软件),第一协议为AE协议(一种视频协议),第一协议的工程文件为AE工程文件。生成的第一协议的工程文件可以存储在终端设备的任意存储空间内,本申请实施例对此不进行限定。
在一种可能的实现方式中,终端设备中还部署有用于生成模板视频的剪辑引擎,剪辑引擎不可识别第一协议的视频数据,可识别第二协议的视频数据。其中,第一协议和第二协议不同。示例性地,第二协议为Elsa协议(另一种视频协议)。剪辑引擎支持跨平台部署和应用,也即是,剪辑引擎可以支持在Android(一种移动操作***)、iOS(一种移动操作***)、Linux(Linux Is Not UniX,一种计算机操作***)、Web(一种计算机操作***)、MacOS(一种计算机操作***)、Windwos(一种计算机操作***)等不同的平台上使用,具备可靠的跨平台通用性。
终端设备的显示界面中显示有剪辑引擎的相关信息,剪辑引擎的相关信息可以是剪辑引擎的名称,也可以是剪辑引擎的图标,还可以是其他能够表示该剪辑引擎的相关信息,本申请实施例对此不进行限定。
当用户想要生成模板视频时,用户触发剪辑引擎的相关信息,响应于针对剪辑引擎的相关信息的触发操作,显示剪辑页面,剪辑页面中显示有获取控件,获取控件用于获取第一协议的工程文件。响应于针对获取控件的触发操作,显示获取页面,获取页面中显示有至少一个候选文件的文件信息,候选文件为第一协议的文件;响应于针对任一候选文件的文件信息的触发操作,将任一候选文件作为第一协议的工程文件。
可选地,用户触发剪辑引擎的相关信息可以是指用户点击剪辑引擎的相关信息,也可以是用户双击剪辑引擎的相关信息,还可以通过其他方式触发剪辑引擎的相关信息,本申请实施例对此不进行限定。文件信息可以是文件名称,也可以是文件的其他信息,本申请实施例对此也不进行限定。针对任一候选文件的文件信息的触发操作可以是针对任一候选文件的文件信息的点击操作,也可以是针对任一候选文件的文件信息的双击操作,还可以是针对任一候选文件的文件信息的其他操作,本申请实施例对此也不进行限定。
如图5是本申请实施例提供的一种剪辑引擎的应用场景的示意图。剪辑引擎的应用场景比较多,可覆盖移动端、服务器端和Web端等多种音视频剪辑、应用需求。主要包括:在移动端上,解析视频模板、替换模板资源、预览并生成视频。在服务端上,批量处理视频模板并生产对应的视频,视频投放。在Web端上,创作新模板或编辑修改已有模板、预览视频模板效果、导出视频模板和生成视频。
第一视频数据包括的多个图层和每个图层包括的素材和属性信息是在第一协议下的多个图层和每个图层在第一协议下包括的素材和属性信息,由于剪辑引擎不可识别第一协议的视频数据,因此第一视频数据不可被剪辑引擎识别。
可选地,任一图层在第一协议下包括的属性信息包括任一图层在第一协议下的图层隐藏属性、锚点变换信息、位置变换信息、缩放变换信息、旋转变换信息、不透明度变换信息、关键帧组合变换信息、变换效果起止时间、文本流源文本、音频电平、滤镜效果、动画效果、任一图层在第一协议下包括的素材的素材类型和素材源路径中的至少一种。
在一种可能的实现方式中,终端设备包括协议转换插件,协议转换插件可以是AEElsa Exporter插件(AE协议与Elsa协议的转换插件),AE Elsa Exporter插件可以对AE软件中的绝大部分效果进行覆盖支持,保证了AE设计师在设计中的体验和AE协议的视频转换为Elsa协议的视频的效果还原能力。AE Elsa Exporter插件能够对视频相关的能量进行解析,从而可以在第二视频数据中相关能力进行支持。AE Elsa Exporter插件是C++插件和CEP(Common Extensibility Platform)插件的结合插件,C++插件具备CEP插件无法提供的底层交互优势,C++插件可以借助AE软件提供的C++SDK接口,因此C++插件可以访问AE软件几乎全部的能力;CEP插件具备前端交互开发优势,CEP插件采用的是CEF(ChromiumEmbedded Framework)架构,借助前端的开发方式可以灵活地做出理想的交互界面。CEP插件和C++插件的结合得到的AE插件的功能更加全面,进而能够把AE协议的待解析视频一比一地导出为Elsa协议的第二视频数据。
对待解析视频进行解析,得到第一视频数据的过程包括:调用C++插件对待解析视频进行解析,得到第一视频数据。
由于剪辑引擎可以识别第二协议的视频数据,且第二视频数据中包括的多个图层和每个图层包括的素材和属性信息分别是在第二协议下的多个图层和每个图层在第二协议下包括的素材和属性信息,因此,第二视频数据可被剪辑引擎识别,第二协议与第一协议不同。任一图层在第二协议下包括的属性信息包括任一图层在第二协议下的图层隐藏属性、锚点变换信息、位置变换信息、缩放变换信息、旋转变换信息、不透明度变换信息、关键帧组合变换信息、变换效果起止时间、文本流源文本、音频电平、滤镜效果、动画效果、任一图层在第二协议下包括的素材的素材类型和素材源路径中的至少一种。
在一种可能的实现方式中,根据第一视频数据,生成第二视频数据的过程包括:按照第二协议对应的格式,对在第一协议下的多个图层进行转换,得到在第二协议下的多个图层;按照第二协议对应的格式,对每个图层在第一协议下包括的素材和属性信息进行转换,得到每个图层在第二协议下包括的素材和属性信息;根据在第二协议下的多个图层、每个图层在第二协议下包括的素材和属性信息,生成第二视频数据。生成的第二视频数据中包括在第二协议下的多个图层、每个图层在第二协议下包括的素材和属性信息。
可选地,终端设备中存储有各个协议对应的格式以及各个协议的标识和各个协议对应的格式的对应关系。由于剪辑引擎可识别第二协议的视频数据,因此,根据第二协议、各个协议的标识和各个协议对应的格式的对应关系,确定第二协议对应的格式。
或者,服务器中存储有各个协议对应的格式以及各个协议的标识和各个协议对应的格式的对应关系。终端设备生成格式获取请求,格式获取请求中包括第二协议的标识,向服务器发送格式获取请求。服务器接收格式获取请求,对格式获取请求进行解析,得到第二协议的标识。服务器根据第二协议的标识、各个协议的标识和各个协议对应的格式的对应关系,确定第二协议对应的格式。服务器向终端设备发送第二协议对应的格式,以使终端设备获取到第二协议对应的格式。
可选地,根据第一视频数据,生成第二视频数据的过程包括:调用C++插件对第一视频数据进行处理,得到第二视频数据。
在一种可能的实现方式中,根据第二视频数据,生成工程文件对应的模板视频的过程包括:根据第二视频数据,获取视频模板,视频模板包括第二视频数据;调用剪辑引擎,对视频模板进行处理,得到工程文件对应的模板视频。
其中,根据第二视频数据,获取视频模板的过程包括:获取第二协议的模板,将第二视频数据填充在第二协议的模板,得到视频模板。第二协议的模板为Elsa模板。
调用剪辑引擎,对视频模板进行处理,得到工程文件对应的模板视频的过程包括:确定与终端设备的***类型对应的硬编解码器;基于剪辑引擎包括硬编解码器,且硬编解码器为可用状态,调用硬编解码器对视频模板进行处理,得到模板视频。基于剪辑引擎包括硬编解码器,硬编解码器为不可用状态,且剪辑引擎包括软编解码器,调用软编解码器对视频模板进行处理,得到模板视频。基于剪辑引擎不包括硬编解码器,且剪辑引擎包括软编解码器,调用软编解码器对视频模板进行处理,得到模板视频。基于剪辑引擎包括硬编解码器和软编解码器,硬编解码器为可用状态,且调用硬编解码器对视频模板进行处理未获取到模板视频,调用软编解码器对视频模板进行处理,得到模板视频。
其中,确定与终端设备的***类型对应的硬编解码器之前,需要先确定终端设备的***类型。终端设备中包括设置模块,设置模块中包括终端设备的***类型,调用设置模块获取终端设备的***类型。
可选地,终端设备的***类型可以是Android***类型、iOS***类型、Linux***类型、Web***类型、Windows***类型和MacOS***类型中的任何一种***类型。
不同的***类型对应的硬编解码器是不一样的。下述表一是本申请实施例提供的各个***类型和各个***类型对应的硬编解码器的对应关系的示例性表格。
表一
***类型 | ***类型对应的硬编解码器 |
Android***类型 | MediaCodec |
iOS***类型 | VideoToolBox |
Linux***类型 | NVDEC/NVENC |
Web***类型 | WebCodec |
Windows***类型 | NVDEC/NVENC |
MacOS***类型 | VideoToolBox |
由上述表一可知,基于终端设备的***类型为Android***类型,对应的硬编解码器为MediaCodec;基于终端设备的***类型为iOS***类型,对应的硬编解码器为VideoToolBox;基于终端设备的***类型为Linux***类型,对应的硬编解码器为NVDEC/NVENC;基于终端设备的***类型为Web***类型,对应的硬编解码器为WebCodec;基于终端设备的***类型为Windows***类型,对应的硬编解码器为NVDEC/NVENC;基于终端设备的***类型为MacOS***类型,对应的硬编解码器为VideoToolBox。
本申请实施例对软编解码器不进行限定。示例性地,软编解码器可以是FFmpeg。剪辑引擎中包括软编解码器。
调用剪辑引擎,对视频模板进行处理,得到工程文件对应的模板视频时,如果剪辑引擎中包括与终端设备的***类型对应的硬编解码器,且硬编解码器为可用状态,则调用硬编解码器对视频模板进行处理,以得到模板视频,这样可以提高音视频编解码和渲染的效率,加速模板视频的生成过程,提高模板视频的生成效率,降低生成模板视频时的功耗。
如果剪辑引擎中包括硬编解码器和软编解码器,且硬编解码器为不可用状态,或者,剪辑引擎中不包括硬编解码器,但包括软编解码器,或者,剪辑引擎中包括硬编解码器和软编解码器,硬编解码器处于可用状态,且调用硬编解码器对视频模板进行处理未生成模板视频时,直接调用软编解码器对视频模板进行处理,得到模板视频,由于剪辑引擎中包括软编解码器,这样能够保证模板视频生成的稳定性和通用性。
在一种可能的实现方式中,根据第二视频数据,生成工程文件对应的模板视频的过程还可以是:向服务器发送第二视频数据,服务器接收第二视频数据,服务器根据第二视频数据,生成工程文件对应的模板视频。
可选地,向服务器发送第二视频数据的过程包括:通过消息队列遥测传输协议(Message Queuing Telemetry Transport,MQTT)向服务器发送第二视频数据。MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。
当然,还可以通过其他方式向服务器发送第二视频数据,本申请实施例对此不进行限定。
根据第二视频数据,生成工程文件对应的模板视频的过程还可以是:根据第二视频数据,获取视频模板,视频模板包括第二视频数据,向服务器发送视频模板,服务器接收视频模板,根据视频模板,生成工程文件对应的模板视频。示例性地,通过MQTT向服务器发送视频模板。
可选地,服务器接收到第二视频数据,根据第二视频数据,生成工程文件对应的模板视频的过程,与终端设备根据第二视频数据,生成工程文件对应的模板视频的过程是类似的,在此不再进行赘述。服务器获取到工程文件对应的模板视频之后,服务器还可以向终端设备发送工程文件对应的模板视频,以使终端设备获取到工程文件对应的模板视频。
可选地,终端设备中部署有AE Elsa Exporter插件和剪辑引擎,在获取到第一协议的工程文件之后,调用AE Elsa Exporter插件对第一协议的工程文件进行处理,得到视频模板,将视频模板导入剪辑引擎,剪辑引擎对视频模板进行处理,得到工程文件对应的模板视频。其中,调用AE Elsa Exporter插件对第一协议的工程文件进行处理,得到视频模板的过程见上述过程所示,剪辑引擎对视频模板进行处理,得到工程文件对应的模板视频的过程见上述过程所示,在此均不再进行赘述。如图6是本申请实施例提供的一种模板视频的生成过程的示意图。
在步骤203中,响应于针对模板视频的参考帧的视频画面的触发操作,显示第三页面,第三页面中显示有多个候选多媒体资源。
其中,针对模板视频的参考帧的视频画面的触发操作可以是指针对模板视频的参考帧的视频画面的点击操作,也可以是针对模板视频的参考帧的视频画面的其他操作,本申请实施例对此不进行限定。
可选地,响应于针对模板视频的参考帧的视频画面的触发操作之后,可以直接显示第三页面,也可以先显示模板视频的播放页面,模板视频的播放页面中显示有制作控件,响应于针对制作控件的触发操作,再显示第三页面。本申请实施例对第三页面的显示方式不进行限定。模板视频的播放页面中还播放有模板视频。
如图7是本申请实施例提供的一种第三页面的显示示意图,在图7所示的第三页面中显示有多个候选多媒体资源。
在步骤204中,响应于针对多个候选多媒体资源中的参考数量个目标多媒体资源的触发操作,根据参考数量个目标多媒体资源和模板视频,生成目标视频,目标视频中包括参考数量个目标多媒体资源。
可选地,第三页面中还显示有选择区域,如图7中的701为选择区域。响应于针对任一候选多媒体资源的触发操作,在选择区域中显示任一候选多媒体资源。
可选地,第三页面中还显示有确认控件,如图7中的702为确认控件。响应于针对多个候选多媒体资源中的参考数量个目标多媒体资源的触发操作,且针对确认控件的触发操作,根据参考数量个目标多媒体资源和模板视频,生成目标视频,目标视频中包括参考数量个目标多媒体资源。
根据参考数量个目标多媒体资源和模板视频,生成目标视频的过程包括:获取模板视频对应的第二视频数据,根据参考数量个目标多媒体资源,对第二视频数据进行调整,得到第三视频数据,第三视频数据包括参考数量个目标多媒体资源;根据第三视频数据,生成目标视频。
其中,根据第三视频数据,生成目标视频的过程,与上述过程中根据第二视频数据,生成工程文件对应的模板视频的过程是类似的,本申请实施例在此不再进行赘述。若终端设备中存储有模板视频对应的第二视频数据,则直接获取模板视频对应的第二视频数据。若终端设备中未存储有模板视频对应的第二视频数据,服务器中存储有模板视频对应的第二视频数据,则通过和服务器的交互获取模板视频对应的第二视频数据。
根据参考数量个目标多媒体资源,对第二视频数据进行调整,得到第三视频数据的过程包括:将参考数量个目标多媒体资源分别对应的资源信息替换第二视频数据中各个素材的素材信息,得到第三视频数据。
如图8是本申请实施例提供的一种剪辑引擎的工作流程的示意图。如图8所示,该剪辑引擎包括四个阶段,分别为AE工程导出、Elsa模板转换、通用模板视频生成和用户使用、剪辑视频。其中,在AE工程导出阶段,将AE工程视频导入AE Elsa Exporter插件,得到第二视频数据。在Elsa模板转换阶段,根据第二视频数据,生成视频模板,在通用视频模板生成阶段,将视频模板导入剪辑引擎进行模板解析,得到模板视频。在用户使用、剪辑视频阶段,根据用户导入的素材,使用模板视频,生成目标视频。
上述方法根据制作好的模板视频以及用户选中的目标多媒体资源,生成与模板视频类似的目标视频,且目标视频中包括目标多媒体资源,该方法简化了视频生成的过程,使得视频生成的效率较高,且生成的视频的质量较佳,进而促进用户生成视频。
而且,获取到工程文件之后,对工程文件进行解析,得到工程文件的第一视频数据,再对第一视频数据进行加工处理,得到第二视频数据,根据第二视频数据,生成工程文件对应的模板视频。这种方式不需要人工的手动操作,节省了模板视频设计师的工作量,且,将模板视频的开发时长由原来的3-4天缩短为0.5天,极大的缩短了模板视频的开发周期,降低模板视频的开发成本,而且能够提高模板视频的生成效率。
图9所示为本申请实施例提供的一种视频生成装置的结构示意图,如图9所示,该装置包括:
显示模块901,用于显示第一页面,第一页面中显示有视频生成控件,视频生成控件用于生成视频;
显示模块901,还用于响应于针对视频生成控件的触发操作,显示第二页面,第二页面中显示有模板视频的参考帧的视频画面和参考数量,参考数量为模板视频包括的素材的个数;
显示模块901,还用于响应于针对模板视频的参考帧的视频画面的触发操作,显示第三页面,第三页面中显示有多个候选多媒体资源;
生成模块902,用于响应于针对多个候选多媒体资源中的参考数量个目标多媒体资源的触发操作,根据参考数量个目标多媒体资源和模板视频,生成目标视频,目标视频中包括参考数量个目标多媒体资源。
在一种可能的实现方式中,生成模块902,用于获取模板视频对应的第二视频数据;根据参考数量个目标多媒体资源,对第二视频数据进行调整,得到第三视频数据,第三视频数据包括参考数量个目标多媒体资源;根据第三视频数据,生成目标视频。
在一种可能的实现方式中,生成模块902,用于获取第一协议的工程文件,工程文件包括多个图层;对工程文件进行解析,得到第一视频数据,第一视频数据包括在第一协议下的多个图层、每个图层在第一协议下包括的素材和属性信息;根据第一视频数据,生成第二视频数据,第二视频数据包括在第二协议下的多个图层、每个图层在第二协议下包括的素材和属性信息,第二协议与第一协议不同;根据第二视频数据,生成工程文件对应的模板视频。
在一种可能的实现方式中,生成模块902,用于根据第二视频数据,获取视频模板,视频模板包括第二视频数据;调用剪辑引擎,对视频模板进行处理,得到工程文件对应的模板视频。
在一种可能的实现方式中,生成模块902,用于确定与终端设备的***类型对应的硬编解码器;基于剪辑引擎包括硬编解码器,且硬编解码器为可用状态,调用硬编解码器对视频模板进行处理,得到模板视频;基于剪辑引擎包括硬编解码器,硬编解码器为不可用状态,且剪辑引擎包括软编解码器,调用软编解码器对视频模板进行处理,得到模板视频;基于剪辑引擎不包括硬编解码器,且剪辑引擎包括软编解码器,调用软编解码器对视频模板进行处理,得到模板视频;基于剪辑引擎包括硬编解码器和软编解码器,硬编解码器为可用状态,且调用硬编解码器对视频模板进行处理未获取到模板视频,调用软编解码器对视频模板进行处理,得到模板视频。
在一种可能的实现方式中,生成模块902,用于按照第二协议对应的格式,对在第一协议下的多个图层进行转换,得到在第二协议下的多个图层;按照第二协议对应的格式,对每个图层在第一协议下包括的素材和属性信息进行转换,得到每个图层在第二协议下包括的素材和属性信息;根据在第二协议下的多个图层、每个图层在第二协议下包括的素材和属性信息,生成第二视频数据。
在一种可能的实现方式中,生成模块902,用于通过消息队列遥测传输协议MQTT向服务器发送第二视频数据,第二视频数据用于服务器根据第二视频数据,生成工程文件对应的模板视频;接收服务器返回的模板视频。
上述装置根据制作好的模板视频以及用户选中的目标多媒体资源,生成与模板视频类似的目标视频,且目标视频中包括目标多媒体资源,简化了视频生成的过程,使得视频生成的效率较高,且生成的视频的质量较佳,进而促进用户生成视频。
而且,获取到工程文件之后,对工程文件进行解析,得到工程文件的第一视频数据,再对第一视频数据进行加工处理,得到第二视频数据,根据第二视频数据,生成工程文件对应的模板视频。这种方式不需要人工的手动操作,节省了模板视频设计师的工作量,且,将模板视频的开发时长由原来的3-4天缩短为0.5天,极大的缩短了模板视频的开发周期,降低模板视频的开发成本,而且能够提高模板视频的生成效率。
应理解的是,上述提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10示出了本申请一个示例性实施例提供的终端设备1000的结构框图。该终端设备1000可以是任何一种可与用户通过键盘、触摸板、遥控器、语音交互或者手写设备等一种或多种方式进行人机交互的电子设备产品。例如,PC(Personal Computer,个人计算机)、手机、智能手机、PDA(Personal Digital Assistant,个人数字助手)、可穿戴设备、PPC(Pocket PC,掌上电脑)、平板电脑、智能车机、智能电视、智能音箱、智能手表等。
通常,终端设备1000包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本申请中方法实施例提供的视频生成方法。
在一些实施例中,终端设备1000还可选包括有:***设备接口1003和至少一个***设备。处理器1001、存储器1002和***设备接口1003之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1003相连。具体地,***设备包括:射频电路1004、显示屏1005、摄像头组件1006、音频电路1007和电源1009中的至少一种。
***设备接口1003可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和***设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和***设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1004用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1004还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1005用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置在终端设备1000的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在终端设备1000的不同表面或呈折叠设计;在另一些实施例中,显示屏1005可以是柔性显示屏,设置在终端设备1000的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端设备1000的前面板,后置摄像头设置在终端设备1000的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备1000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。
电源1009用于为终端设备1000中的各个组件进行供电。电源1009可以是交流电、直流电、一次性电池或可充电电池。当电源1009包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端设备1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、光学传感器1015以及接近传感器1016。
加速度传感器1011可以检测以终端设备1000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1011可以用于检测重力加速度在三个坐标轴上的分量。处理器1001可以根据加速度传感器1011采集的重力加速度信号,控制显示屏1005以横向视图或纵向视图进行用户界面的显示。加速度传感器1011还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1012可以检测终端设备1000的机体方向及转动角度,陀螺仪传感器1012可以与加速度传感器1011协同采集用户对终端设备1000的3D动作。处理器1001根据陀螺仪传感器1012采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1013可以设置在终端设备1000的侧边框和/或显示屏1005的下层。当压力传感器1013设置在终端设备1000的侧边框时,可以检测用户对终端设备1000的握持信号,由处理器1001根据压力传感器1013采集的握持信号进行左右手识别或快捷操作。当压力传感器1013设置在显示屏1005的下层时,由处理器1001根据用户对显示屏1005的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1015用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1015采集的环境光强度,控制显示屏1005的显示亮度。具体地,当环境光强度较高时,调高显示屏1005的显示亮度;当环境光强度较低时,调低显示屏1005的显示亮度。在另一个实施例中,处理器1001还可以根据光学传感器1015采集的环境光强度,动态调整摄像头组件1006的拍摄参数。
接近传感器1016,也称距离传感器,通常设置在终端设备1000的前面板。接近传感器1016用于采集用户与终端设备1000的正面之间的距离。在一个实施例中,当接近传感器1016检测到用户与终端设备1000的正面之间的距离逐渐变小时,由处理器1001控制显示屏1005从亮屏状态切换为息屏状态;当接近传感器1016检测到用户与终端设备1000的正面之间的距离逐渐变大时,由处理器1001控制显示屏1005从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图10中示出的结构并不构成对终端设备1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图11为本申请实施例提供的服务器的结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)1101和一个或多个的存储器1102,其中,该一个或多个存储器1102中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器1101加载并执行以实现上述各个方法实施例提供的视频生成方法。当然,该服务器1100还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1100还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以使计算机实现上述任一种视频生成方法。
可选地,上述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品中存储有至少一条计算机指令,该至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种视频生成方法。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的素材、属性信息等信息都是在充分授权的情况下获取的。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种视频生成方法,其特征在于,所述方法包括:
显示第一页面,所述第一页面中显示有视频生成控件,所述视频生成控件用于生成视频;
响应于针对所述视频生成控件的触发操作,显示第二页面,所述第二页面中显示有模板视频的参考帧的视频画面和参考数量,所述参考数量为所述模板视频包括的素材的个数;
响应于针对所述模板视频的参考帧的视频画面的触发操作,显示第三页面,所述第三页面中显示有多个候选多媒体资源;
响应于针对所述多个候选多媒体资源中的参考数量个目标多媒体资源的触发操作,根据所述参考数量个目标多媒体资源和所述模板视频,生成目标视频,所述目标视频中包括所述参考数量个目标多媒体资源。
2.根据权利要求1所述的方法,其特征在于,所述根据所述参考数量个目标多媒体资源和所述模板视频,生成目标视频,包括:
获取所述模板视频对应的第二视频数据;
根据所述参考数量个目标多媒体资源,对所述第二视频数据进行调整,得到第三视频数据,所述第三视频数据包括所述参考数量个目标多媒体资源;
根据所述第三视频数据,生成所述目标视频。
3.根据权利要求1或2所述的方法,其特征在于,所述模板视频采用如下方法生成:
获取第一协议的工程文件,所述工程文件包括多个图层;
对所述工程文件进行解析,得到第一视频数据,所述第一视频数据包括在所述第一协议下的多个图层、每个图层在所述第一协议下包括的素材和属性信息;
根据所述第一视频数据,生成第二视频数据,所述第二视频数据包括在第二协议下的多个图层、每个图层在所述第二协议下包括的素材和属性信息,所述第二协议与所述第一协议不同;
根据所述第二视频数据,生成所述工程文件对应的模板视频。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第二视频数据,生成所述工程文件对应的模板视频,包括:
根据所述第二视频数据,获取视频模板,所述视频模板包括所述第二视频数据;
调用剪辑引擎,对所述视频模板进行处理,得到所述工程文件对应的模板视频。
5.根据权利要求4所述的方法,其特征在于,所述方法应用于终端设备;
所述调用剪辑引擎,对所述视频模板进行处理,得到所述工程文件对应的模板视频,包括:
确定与所述终端设备的***类型对应的硬编解码器;
基于所述剪辑引擎包括所述硬编解码器,且所述硬编解码器为可用状态,调用所述硬编解码器对所述视频模板进行处理,得到所述模板视频;
基于所述剪辑引擎包括所述硬编解码器,所述硬编解码器为不可用状态,且所述剪辑引擎包括软编解码器,调用所述软编解码器对所述视频模板进行处理,得到所述模板视频;
基于所述剪辑引擎不包括所述硬编解码器,且所述剪辑引擎包括所述软编解码器,调用所述软编解码器对所述视频模板进行处理,得到所述模板视频;
基于所述剪辑引擎包括所述硬编解码器和所述软编解码器,所述硬编解码器为可用状态,且调用所述硬编解码器对所述视频模板进行处理未获取到所述模板视频,调用所述软编解码器对所述视频模板进行处理,得到所述模板视频。
6.根据权利要求3所述的方法,其特征在于,所述根据所述第一视频数据,生成第二视频数据,包括:
按照所述第二协议对应的格式,对在所述第一协议下的多个图层进行转换,得到在所述第二协议下的多个图层;
按照所述第二协议对应的格式,对每个图层在所述第一协议下包括的素材和属性信息进行转换,得到每个图层在所述第二协议下包括的素材和属性信息;
根据在所述第二协议下的多个图层、每个图层在所述第二协议下包括的素材和属性信息,生成所述第二视频数据。
7.根据权利要求3所述的方法,其特征在于,所述根据所述第二视频数据,生成所述工程文件对应的模板视频,包括:
通过消息队列遥测传输协议MQTT向服务器发送所述第二视频数据,所述第二视频数据用于所述服务器根据所述第二视频数据,生成所述工程文件对应的模板视频;
接收所述服务器返回的所述模板视频。
8.一种视频生成装置,其特征在于,所述装置包括:
显示模块,用于显示第一页面,所述第一页面中显示有视频生成控件,所述视频生成控件用于生成视频;
所述显示模块,还用于响应于针对所述视频生成控件的触发操作,显示第二页面,所述第二页面中显示有模板视频的参考帧的视频画面和参考数量,所述参考数量为所述模板视频包括的素材的个数;
所述显示模块,还用于响应于针对所述模板视频的参考帧的视频画面的触发操作,显示第三页面,所述第三页面中显示有多个候选多媒体资源;
生成模块,用于响应于针对所述多个候选多媒体资源中的参考数量个目标多媒体资源的触发操作,根据所述参考数量个目标多媒体资源和所述模板视频,生成目标视频,所述目标视频中包括所述参考数量个目标多媒体资源。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使所述计算机设备实现如权利要求1至7任一所述的视频生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现如权利要求1至7任一所述的视频生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311827253.1A CN117939255A (zh) | 2023-12-27 | 2023-12-27 | 视频生成方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311827253.1A CN117939255A (zh) | 2023-12-27 | 2023-12-27 | 视频生成方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117939255A true CN117939255A (zh) | 2024-04-26 |
Family
ID=90749879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311827253.1A Pending CN117939255A (zh) | 2023-12-27 | 2023-12-27 | 视频生成方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117939255A (zh) |
-
2023
- 2023-12-27 CN CN202311827253.1A patent/CN117939255A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114205324B (zh) | 消息显示方法、装置、终端、服务器及存储介质 | |
CN112163406B (zh) | 互动消息显示方法、装置、计算机设备及存储介质 | |
CN112764608B (zh) | 消息处理方法、装置、设备及存储介质 | |
CN110750734B (zh) | 天气显示方法、装置、计算机设备及计算机可读存储介质 | |
CN111126958B (zh) | 日程创建方法、装置、设备及存储介质 | |
CN111628925A (zh) | 歌曲交互方法、装置、终端及存储介质 | |
CN114245218A (zh) | 音视频播放方法、装置、计算机设备及存储介质 | |
CN110045958B (zh) | 纹理数据生成方法、装置、存储介质及设备 | |
CN110493635B (zh) | 视频播放方法、装置及终端 | |
CN111935516A (zh) | 音频文件的播放方法、装置、终端、服务器及存储介质 | |
CN114845152B (zh) | 播放控件的显示方法、装置、电子设备及存储介质 | |
CN112311661B (zh) | 消息处理方法、装置、设备及存储介质 | |
CN112004134B (zh) | 多媒体数据的展示方法、装置、设备及存储介质 | |
CN111986700A (zh) | 无接触式操作触发的方法、装置、设备及存储介质 | |
CN113965539A (zh) | 消息发送方法、消息接收方法、装置、设备及介质 | |
CN113485596B (zh) | 虚拟模型的处理方法、装置、电子设备及存储介质 | |
CN113538633B (zh) | 动画播放方法、装置、电子设备及计算机可读存储介质 | |
CN114779936A (zh) | 信息显示方法、装置、电子设备及存储介质 | |
CN114143280A (zh) | 会话显示方法、装置、电子设备及存储介质 | |
CN117939255A (zh) | 视频生成方法、装置、设备及计算机可读存储介质 | |
CN109597951B (zh) | 信息分享方法、装置、终端及存储介质 | |
CN114546188A (zh) | 基于互动界面的互动方法、装置、设备及可读存储介质 | |
CN114100117B (zh) | 游戏加载方法、装置、计算机设备及存储介质 | |
CN111142648B (zh) | 一种数据处理方法和智能终端 | |
CN113064537B (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 |