本发明涉及视频制作技术领域,具体涉及一种分布式视频渲染的方法及系统。
背景技术:
现有模板化的视频制作中,模板会有主题,会有适配不同素材的场景。用户上传素材(图片/视频/文字等),系统会对素材进行预处理,并自动分配场景给到不同的素材(或素材组)并确定该场景的时长,然后系统渲染这些场景生成视频。
技术实现要素:
本发明的目的在于提供一种分布式视频渲染的方法的方法,本发明提供的方法以及系统可以当视频需要修改的情况下只渲染需要修改的部分。
为实现上述目的,本发明提供一种分布式视频渲染的方法,该方法包括:
将视频渲染任务根据场景进行拆分成子渲染任务;
将子渲染任务分配给预先设置的分布式渲染节点;
执行所述渲染节点并匹配音乐节奏,得到完整视频;
接受对视频中至少一个场景所被分配的素材的修改;其中,所述修改包括增加素材、删除素材和调整素材顺序;
对修改后的素材进行分配新场景,同时保持其它素材及其所分配的场景不变;
计算场景的修改率,并根据该修改率进行全部重新渲染或对所述修改后的素材和新场景进行渲染。
可选的,所述子渲染任务的场景之内不存在转场,相邻子渲染任务之间的场景存在转场。
可选的,所述执行所述渲染节点并匹配音乐节奏,得到完整视频的步骤包括:
执行所述渲染节点得到场景视频片段,并匹配音乐节奏使场景的转场在音乐的重音点上;
将渲染完的场景视频片段拼接组合,得到完整视频。
可选的,所述计算场景的修改率,并根据该修改率进行全部重新渲染或对所述修改后的素材和新场景进行渲染的步骤包括:
若该修改率未超过阈值,则仅在分布式渲染节点中对所述修改后的素材和新场景进行渲染,并将所得场景视频片段与其它未变化的场景视频片段进行拼接组合以得到完整视频;
若该修改率超过阈值,则对所有素材进行重新分配场景并在渲染节点中重新渲染和匹配音乐节奏以得到完整视频。
本发明还提供一种分布式视频渲染的系统,该系统包括:
视频渲染任务拆分模块,用于将视频渲染任务根据场景进行拆分成子渲染任务;
子渲染任务分配模块,用于将子渲染任务分配给预先设置的分布式渲染节点;
渲染节点执行模块,用于执行所述渲染节点并匹配音乐节奏,得到完整视频;
素材修改模块,用于接受对视频中至少一个场景所被分配的素材的修改;其中,所述修改包括增加素材、删除素材和调整素材顺序;
场景重新分配模块,用于对修改后的素材进行分配新场景,同时保持其它素材及其所分配的场景不变;
根据修改率渲染模块,用于计算场景的修改率,并根据该修改率进行全部重新渲染或对所述修改后的素材和新场景进行渲染。
可选的,所述子渲染任务的场景之内不存在转场,相邻子渲染任务之间的场景存在转场。
可选的,所述渲染节点执行模块包括:
匹配子模块,用于执行所述渲染节点得到场景视频片段,并匹配音乐节奏使场景的转场在音乐的重音点上;
组合子模块,用于将渲染完的场景视频片段拼接组合,得到完整视频。
可选的,所述根据修改率渲染模块包括:
部分渲染子模块,用于若该修改率未超过阈值,则仅在分布式渲染节点中对所述修改后的素材和新场景进行渲染,并将所得场景视频片段与其它未变化的场景视频片段进行拼接组合以得到完整视频;
全部重新渲染子模块,若该修改率超过阈值,则对所有素材进行重新分配场景并在渲染节点中重新渲染和匹配音乐节奏以得到完整视频。
本发明具有如下优点:
本发明的方法和系统让视频渲染时间更短,并且在修改时,只渲染修改的部分,更快更节省渲染资源。
附图说明
图1是本发明分布式视频渲染的方法一种示例性实施例的流程示意图。
图2是本发明分布式视频渲染的系统一种示例性实施例的结构示意图。
具体实施方式
以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明分布式视频渲染的方法一种示例性实施例的流程示意图。如图1所示,分布式视频渲染的方法包括如下步骤。
步骤s1:将视频渲染任务根据场景进行拆分成子渲染任务;所述子渲染任务的场景之内不存在转场,相邻子渲染任务之间的场景存在转场。具体地,该拆分方式包括:先对视频素材进行排序分组然后对排序分组完毕的视频素材进行模板场景分配,该模板场景可以为横版图片场景、竖版图片场景、多图片场景、横版视频场景、竖版视频场景、文字场景等中的至少一种。
步骤s2:将子渲染任务分配给预先设置的分布式渲染节点,渲染节点的设置是本领域技术人员所熟知的,可以参考中国专利cn104751507a和cn104468826a,该种任务赋予方式是本领域技术人员所熟知的,不再赘述。
步骤s3:执行所述渲染节点并匹配音乐节奏,得到完整视频。具体地,该步骤可以包括:执行所述渲染节点得到场景视频片段,即将素材放入预设的场景中并将二者结合成场景视频片段;将完成的子渲染任务进行组合并使场景的转场在音乐的重音点上。该步骤中既需要将素材与场景结合,还需要在时间上对每个场景出现的时间进行调整,以提高视频节奏感。然后将渲染完的场景视频片段拼接组合,得到完整视频。
步骤s4:接受对视频中至少一个场景所被分配的素材的修改;其中,所述修改包括增加素材、删除素材和调整素材顺序。
步骤s5:对修改后的素材进行分配新场景,同时保持其它素材及其所分配的场景不变。该分配新场景的原则是尽量保证原素材(或素材组)分配到的场景不变。如果某类场景不是均匀分配的,例如某类场景中素材数量过少或时间过短,则需要重新为这类场景的素材(或素材组)重新分配场景进行渲染,否则,只对新增加的素材和场景进行渲染。
步骤s6:计算场景的修改率,并根据该修改率进行全部重新渲染或对所述修改后的素材和新场景进行渲染。该步骤可以包括:若该修改率未超过阈值,则仅在分布式渲染节点中对所述修改后的素材和新场景进行渲染,并将所得场景视频片段与其它未变化的场景视频片段进行拼接组合以得到完整视频;例如所渲染的视频是跟音乐节拍匹配的,即场景转场都在音乐的重音点上的,则当用户进行修改时,如果修改率未超过阈值(例如按照修改前后场景的总时间长度计算未超过20%),则只对新增加的素材及其新分配的场景进行渲染,为了能使场景的转场能和音乐重音点契合上,场景的时长会有改变,所述重新渲染包括对视频按照帧序列均匀地进行插帧或者删帧。若该修改率超过阈值,则对所有素材进行重新分配场景并在渲染节点中重新渲染和匹配音乐节奏以得到完整视频。
本发明的方法和系统让视频渲染时间更短,并且在修改时,只渲染修改的部分,更快更节省渲染资源。
图2是本发明分布式视频渲染的系统一种示例性实施例的结构示意图。所述分布式视频渲染的系统包括如下模块。
视频渲染任务拆分模块100,用于将视频渲染任务根据场景进行拆分成子渲染任务;
子渲染任务分配模块200,用于将子渲染任务分配给预先设置的分布式渲染节点;
渲染节点执行模块300,用于执行所述渲染节点并匹配音乐节奏,得到完整视频;
素材修改模块400,用于接受对视频中至少一个场景所被分配的素材的修改;其中,所述修改包括增加素材、删除素材和调整素材顺序;
场景重新分配模块500,用于对修改后的素材进行分配新场景,同时保持其它素材及其所分配的场景不变;
根据修改率渲染模块600,用于计算场景的修改率,并根据该修改率进行全部重新渲染或对所述修改后的素材和新场景进行渲染。
由于该系统与模块相对应,本发明不再赘述。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。