本发明专利技术公开了一种多张照片合成视频的方法和装置,通过对模板视频和模板配置文件的处理,将多张照片合成视频,不同的平台可以统一使用同一模板的配置文件,只需要提取编写一次模板配置,节省了平台迁移的时间成本,方便批量创造不同视频的动画和转换效果。
A method and device for synthesizing video from multiple photos
【技术实现步骤摘要】
一种多张照片合成视频的方法和装置
本专利技术涉及图片合成视频
,尤其是涉及一种多张照片合成视频的方法和装置。
技术介绍
随着移动互联网以及移动手机的快速发展,手机用户拍摄、编辑、制作个性化视频以及在社交平台上分享视频的需求越来越多样化,各种基于使用多张照片合成视频的应用也越来越多。但是,目前的现有技术,合成视频的方法和算法单调,仅仅是把简单的用户一维静态图展示在视频中,视频中缺少必要的图片动画以及图片彼此之间的转化切换。如果在现有的技术方案上,在视频中添加图片动画以及转化切换,会导致繁琐,算法重复,用户合成的视频风格不仅单调,场景单一,图片之间的契合不流畅,且适用性较低,针对不同内容的照片,效果较差。
技术实现思路
针对现有的技术缺陷,本专利技术的实施例提供一种多张照片合成视频的方法和装置,可以批量的创造不同视频动画和转换的效果,适用性强,满足用户个性化和多样化的需求。本专利技术提供一种多张照片合成视频的方法,该方法包括:解析素材视频的序列帧,读取数据配置文件,按照播放速度逐帧读取视频帧,得到每一帧动画的图片,分别提取RGB通道和Alpha通道得到两张PNG图片;所述每一帧图片对应的两张PNG图片,左右拼接在一起,生成新的序列帧,所述新的序列帧生成的模板视频;读取所述模板视频,获得预留的图片底层的转换动画信息,得到XML配置文件数据。进一步的,所述动画包括,图片出现以及消失的时间,每个时间节点图片的旋转与缩放信息,图片的动画路径和贝塞尔控制点,通过配置关键帧的信息,使用贝塞尔曲线插值获得中间帧的信息。基于OpenGL处理得到视频帧的纹理,得到模板视频帧纹理。用户上传需要合成的照片,获取带合成照片纹理,并按照顺序排列,将照片纹理与模板视频帧纹理合成根据所述动画信息和XML配置文件数据,进行常规混合处理,生成视频帧纹理,并根据解码序号,进行编码合成视频。进一步的,每一帧合成画面由两个图层混合,顶层图层对应的是模板视频帧纹理,底层图层对应的图像是用户选择的照片纹理优选的,本专利技术公布一种多张照片合成视频的装置,该装置包括:解析模块:解析素材视频的序列帧,读取数据配置文件,按照播放速度逐帧读取视频帧,得到每一帧动画的图片,分别提取RGB通道和Alpha通道得到两张PNG图片。合并模块:用于所述每一帧图片对应的两张PNG图片,左右拼接在一起,生成新的序列帧,所述新的序列帧生成的模板视频。数据采集模块:用于读取所述模板视频,获得预留的图片底层的转换动画信息,得到XML配置文件数据。进一步的,所述动画包括,图片出现以及消失的时间,每个时间节点图片的旋转与缩放信息,图片的动画路径和贝塞尔控制点,通过配置关键帧的信息,使用贝塞尔曲线插值获得中间帧的信息。纹理采集模块:基于OpenGL处理得到视频帧的纹理,得到模板视频帧纹理。合成视频模块:用户上传需要合成的图片,获取带合成图片纹理,并按照顺序排列,将图片纹理与模板视频帧纹理合成根据所述动画信息和XML配置文件数据,进行常规混合处理,生成视频帧纹理,并根据解码序号,进行编码合成视频。本专利技术公开一种多张照片合成视频的方法和装置,引入了模板配置文件和模板视频,模板配置文件与模板视频一一对应。模板配置文件中定义了生成照片视频中对应帧应该选取哪一张用户选择的照片作为生成视频的底层图层,还定义了这张底图的摆放位置、缩放比率、透明度等渲染这张照片所需的信息。模板视频包含了生成照片视频需要的所有顶层图层。通过模板配置文件渲染出底层图层,模板视频获取顶层图层,合成底层图层和顶层图片最终渲染出照片视频中的每一帧图像。该方案节省内存空间,可以批量创造不同视频动画和转换效果的视频。附图说明图1示出了本专利技术的一种多张照片合成视频的方法流程图;图2示出了本专利技术的一种多张照片合成视频的装置流程图。具体实施方式本专利技术提供一种多张照片合成视频的方法,参照图1,对本专利技术实施方法做详细说明。步骤S1:解析素材视频的序列帧,读取数据配置文件,按照播放速度逐帧读取视频帧,得到每一帧动画的图片,分别提取RGB通道和Alpha通道得到两张PNG图片。步骤S2:所述每一帧图片对应的两张PNG图片,左右拼接在一起,生成新的序列帧,所述新的序列帧生成的模板视频。上述解码图片的拼接,是为了保留用户素材视频中的Alpha通道。步骤S3:读取所述模板视频,获得预留的图片底层的转换动画信息,得到XML配置文件数据。步骤S4:基于OpenGL处理得到视频帧的纹理,得到模板视频帧纹理。步骤S5:用户上传需要合成的照片,获取带合成照片纹理,并按照顺序排列,将照片纹理与模板视频帧纹理合成根据所述动画信息和XML配置文件数据,进行常规混合处理,生成视频帧纹理,并根据解码序号,进行编码合成视频。进一步的,每一帧画面由两个图层合成,顶层图层对应的是模板视频帧纹理,底层图层对应的图像是用户选择的照片纹理。如步骤S3所述动画包括,图片出现以及消失的时间,每个时间节点图片的旋转与缩放信息,图片的动画路径和贝塞尔控制点,通过配置关键帧的信息,使用贝塞尔曲线插值获得中间帧的信息。通过视频序列帧以及AfterEffect软件Bodymovin插件导出的Json文件,确定视频中的预留图片层的转换动画信息,包括图片出现以及消失的时间,每个时间点图片的旋转与缩放信息。优选的,如图2所示,本专利技术公布一种多张照片合成视频的装置,该装置包括:解析模块:用于解析素材视频的序列帧,读取数据配置文件,按照播放速度逐帧读取视频帧,得到每一帧动画的图片,分别提取RGB通道和Alpha通道得到两张PNG图片。合并模块:用于所述每一帧图片对应的两张PNG图片,左右拼接在一起,生成新的序列帧,所述新的序列帧生成的模板视频。数据采集模块:用于读取所述模板视频,获得预留的图片底层的转换动画信息,得到XML配置文件数据。进一步的,所述动画包括,图片出现以及消失的时间,每个时间节点图片的旋转与缩放信息,图片的动画路径和贝塞尔控制点,通过配置关键帧的信息,使用贝塞尔曲线插值获得中间帧的信息。纹理采集模块:基于OpenGL处理得到视频帧的纹理,得到模板视频帧纹理。合成视频模块:用户上传需要合成的照片,获取带合成照片纹理,并按照顺序排列,将照片纹理与模板视频帧纹理合成根据所述动画信息和XML配置文件数据,进行常规混合处理,生成视频帧纹理,并根据解码序号,进行编码合成视频。将上述视频渲染到屏幕或通过移动平台的视频写入到API保存视频到用户设备中。本视频合成技术中,模板视频,模板配置文件和上述装置框架,把生成的视频的每一帧画面由两个图层合成,顶层图层对应的图像就是模板视频帧,底层图层对应的图像是用户选择的照片。本专利技术公开一种多张照片合成视频的方法和装置,引入了模板配置文件和模板视频,模板配置文件与模板视频本文档来自技高网...
【技术保护点】
1.一种多张照片合成视频的方法,该方法包括:/n解析素材视频的序列帧,读取数据配置文件,按照播放速度逐帧读取视频帧,得到每一帧动画的图片,分别提取RGB通道和Alpha通道得到两张PNG图片;/n所述每一帧图片对应的两张PNG图片,左右拼接在一起,生成新的序列帧,所述新的序列帧生成的模板视频;/n读取所述模板视频,获得预留的图片底层的转换动画信息,得到XML配置文件数据;/n基于OpenGL处理得到视频帧的纹理,得到模板视频帧纹理;/n用户上传需要合成的照片,获取带合成照片纹理,并按照顺序排列,将照片纹理与模板视频帧纹理合成根据所述动画信息和XML配置文件数据,进行常规混合处理,生成视频帧纹理,并根据解码序号,进行编码合成视频。/n
【技术特征摘要】
1.一种多张照片合成视频的方法,该方法包括:
解析素材视频的序列帧,读取数据配置文件,按照播放速度逐帧读取视频帧,得到每一帧动画的图片,分别提取RGB通道和Alpha通道得到两张PNG图片;
所述每一帧图片对应的两张PNG图片,左右拼接在一起,生成新的序列帧,所述新的序列帧生成的模板视频;
读取所述模板视频,获得预留的图片底层的转换动画信息,得到XML配置文件数据;
基于OpenGL处理得到视频帧的纹理,得到模板视频帧纹理;
用户上传需要合成的照片,获取带合成照片纹理,并按照顺序排列,将照片纹理与模板视频帧纹理合成根据所述动画信息和XML配置文件数据,进行常规混合处理,生成视频帧纹理,并根据解码序号,进行编码合成视频。
2.如权利要求1所述一种多张照片合成视频的方法,其特征在于,所述动画包括,图片出现以及消失的时间,每个时间节点图片的旋转与缩放信息,图片的动画路径和贝塞尔控制点,通过配置关键帧的信息,使用贝塞尔曲线插值获得中间帧的信息。
3...
【专利技术属性】
技术研发人员:杨嘉程,邓竣升,肖康龙,杨冠祥,
申请(专利权)人:齐力软件科技广州有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。