视频中添加特效的方法及装置制造方法及图纸

技术编号:24254424 阅读:32 留言:0更新日期:2020-05-23 01:10
本发明专利技术提供了一种视频中添加特效的方法及装置;方法包括:获取视频文件、及用于为所述视频文件添加至少一个特效的动画文件;对所述视频文件进行解码,得到所述视频文件的多个视频帧的帧数据,并对所述动画文件进行解码,得到所述动画文件的多个动画帧的帧数据,所述视频帧与所述动画帧存在一一对应关系;模拟图形处理器,并运行模拟的所述图形处理器;分别根据各所述视频帧的帧数据及相应的动画帧的帧数据,通过模拟的所述图形处理器进行动画渲染,以得到多个目标视频帧;基于所述多个目标视频帧进行视频合成,得到添加有所述至少一个特效的目标视频文件。通过本发明专利技术,能够解决低端手机进行动画渲染存在卡顿的问题,实现批量生产特效视频。

Methods and devices of adding special effects in video

【技术实现步骤摘要】
视频中添加特效的方法及装置
本专利技术涉及视频处理技术,尤其涉及一种视频中添加特效的方法及装置。
技术介绍
随着短视频行业的蓬勃发展,对于批量、大规模地生产特效视频的需求变得越来越强烈。相关技术中,Airbnb开源的Lottie方案能够实现动画设计到终端呈现的工作流,即设计师通过图形视频处理软件设计动画,如通过AE(AdobeAfterEffects)设计动画,设计的动画通过导出插件导出,并在终端通过软件开发工具包(SDK,SoftwareDevelopmentKit)加载渲染,然而,由于一些用户使用的手机性能相对较弱,若视频的动画渲染,即在视频中添加特效的操作在终端执行,会存在卡顿等问题。
技术实现思路
本专利技术实施例提供一种视频中添加特效的方法及装置,能够避免由终端进行动画渲染导致的卡顿。本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供一种视频中添加特效的方法,包括:获取视频文件、及用于为所述视频文件添加至少一个特效的动画文件;对所述视频文件进行解码,得到所述视频文件的多个视频帧的帧数据,并对所述动画文件进行解码,得到所述动画文件的多个动画帧的帧数据,所述视频帧与所述动画帧存在一一对应关系;模拟图形处理器,并运行模拟的所述图形处理器;分别根据各所述视频帧的帧数据及相应的动画帧的帧数据,通过模拟的所述图形处理器进行动画渲染,以得到多个目标视频帧;基于所述多个目标视频帧进行视频合成,得到添加有所述至少一个特效的目标视频文件。本专利技术实施例提供一种视频中添加特效的装置,包括:获取模块,用于获取视频文件、及用于为所述视频文件添加至少一个特效的动画文件;解码模块,用于对所述视频文件进行解码,得到所述视频文件的多个视频帧的帧数据,并对所述动画文件进行解码,得到所述动画文件的多个动画帧的帧数据,所述视频帧与所述动画帧存在一一对应关系;模拟模块,用于模拟图形处理器,并运行模拟的所述图形处理器;渲染模块,用于分别根据各所述视频帧的帧数据及相应的动画帧的帧数据,通过模拟的所述图形处理器进行动画渲染,以得到多个目标视频帧;合成模块,用于基于所述多个目标视频帧进行视频合成,得到添加有所述至少一个特效的目标视频文件。上述方案中,所述解码模块,还用于对所述视频文件进行解封装,得到视频文件中的视频流数据;对所述视频流数据进行解码,得到多个视频帧的帧数据;对所述多个视频帧的帧数据进行格式转换,得到可渲染的数据格式的帧数据。上述方案中,所述解码模块,还用于将所述多个视频帧的帧数据的数据格式,从亮度-色度YUV数据格式转换为红-绿-蓝-透明度RGBA数据格式。上述方案中,所述解码模块,还用于对所述动画文件进行解码,得到动画文件的关键帧的帧数据及多个非关键帧的帧数据;其中,所述关键帧的帧数据为位图数据,所述非关键帧的帧数据为相对于所述关键帧的差异位图数据。上述方案中,所述渲染模块,还用于模拟开放式图形库的环境;基于模拟的开放式图形库的环境,创建二维图形库的环境;基于所述二维图形库的环境,通过模拟的所述图形处理器,调用图形绘制接口,分别根据各所述视频帧的帧数据及相应的动画帧的帧数据,进行动画渲染,以得到渲染后的多个目标视频帧。上述方案中,所述渲染模块,还用于对每个视频帧的帧数据及相应的动画帧的帧数据执行以下操作:基于所述视频帧的帧数据,通过模拟的所述图形处理器,在空白画布中绘制对应所述视频帧的第一图形;获取所述视频帧对应的动画帧的第一位置信息;基于所述动画帧的帧数据,通过模拟的所述图形处理器,在绘制有所述第一图形的画布上对应所述第一位置信息的位置,绘制对应所述动画帧的第二图形,得到承载有对应所述目标视频帧的图形的画布。上述方案中,所述渲染模块,还用于对每个视频帧的帧数据及相应的动画帧的帧数据分别执行以下操作:基于所述动画帧的帧数据,通过模拟的所述图形处理器,在空白画布中绘制对应所述动画帧的第三图形;获取所述动画帧对应的视频帧的第二位置信息;基于所述视频帧的帧数据,通过模拟的所述图形处理器,在绘制有所述第三图形的画布上对应所述第二位置信息的位置,绘制对应所述视频帧的第四图形,得到承载有对应所述目标视频帧的图形的画布。上述方案中,所述装置还包括:截屏模块,用于对渲染得到的多个画布进行截屏处理,得到所述多个目标视频帧;对所述多个目标视频帧进行格式转换,得到目标数据格式的多个目标视频帧。上述方案中,所述合成模块,还用于对所述多个目标视频帧进行编码及封装,得到添加有所述至少一个特效的目标视频文件。本专利技术实施例提供一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本专利技术实施例提供的视频中添加特效的方法。本专利技术实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本专利技术实施例提供的视频中添加特效的方法。本专利技术实施例具有以下有益效果:本专利技术实施例中,服务器通过模拟图形处理器,并运行模拟的图形处理器,分别根据各视频帧的帧数据及相应的动画帧的帧数据,通过模拟的图形处理器进行动画渲染,以得到渲染后的多个目标视频帧,如此,能够实现在服务器端完成针对视频的动画渲染,得到添加有特效的目标视频文件,以供终端直接解码播放,避免由终端进行动画渲染导致的卡顿;同时,服务器可从动画设计端直接获取动画文件,自动实现针对视频的特效添加,提高了视频中添加特效的处理效率,进而能够实现批量生产特效视频。附图说明图1是本专利技术实施例提供的视频中添加特效的系统100的架构示意图;图2是本专利技术实施例提供的电子设备的结构示意图;图3是本专利技术实施例提供的视频中添加特效的方法的流程示意图;图4是本专利技术实施例提供的渲染结果的示意图;图5是本专利技术实施例提供的渲染结果的示意图;图6是本专利技术实施例提供的播放目标视频文件的界面示意图;图7是本专利技术实施例提供的视频中添加特效的方法的流程示意图;图8是本专利技术实施例提供的视频中添加特效的方法的流程示意图;图9是本专利技术实施例提供的渲染过程的流程示意图;图10是本专利技术实施例提供的视频中添加特效的装置的组成结构示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,所描述的实施例不应视为对本专利技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的本文档来自技高网...

【技术保护点】
1.一种视频中添加特效的方法,其特征在于,所述方法包括:/n获取视频文件、及用于为所述视频文件添加至少一个特效的动画文件;/n对所述视频文件进行解码,得到所述视频文件的多个视频帧的帧数据,并对所述动画文件进行解码,得到所述动画文件的多个动画帧的帧数据,所述视频帧与所述动画帧存在一一对应关系;/n模拟图形处理器,并运行模拟的所述图形处理器;/n分别根据各所述视频帧的帧数据及相应的动画帧的帧数据,通过模拟的所述图形处理器进行动画渲染,以得到多个目标视频帧;/n基于所述多个目标视频帧进行视频合成,得到添加有所述至少一个特效的目标视频文件。/n

【技术特征摘要】
1.一种视频中添加特效的方法,其特征在于,所述方法包括:
获取视频文件、及用于为所述视频文件添加至少一个特效的动画文件;
对所述视频文件进行解码,得到所述视频文件的多个视频帧的帧数据,并对所述动画文件进行解码,得到所述动画文件的多个动画帧的帧数据,所述视频帧与所述动画帧存在一一对应关系;
模拟图形处理器,并运行模拟的所述图形处理器;
分别根据各所述视频帧的帧数据及相应的动画帧的帧数据,通过模拟的所述图形处理器进行动画渲染,以得到多个目标视频帧;
基于所述多个目标视频帧进行视频合成,得到添加有所述至少一个特效的目标视频文件。


2.如权利要求1所述的方法,其特征在于,所述对所述视频文件进行解码,得到所述视频文件的多个视频帧的帧数据,包括:
对所述视频文件进行解封装,得到视频文件中的视频流数据;
对所述视频流数据进行解码,得到多个视频帧的帧数据;
对所述多个视频帧的帧数据进行格式转换,得到可渲染的数据格式的帧数据。


3.如权利要求2所述的方法,其特征在于,所述对所述多个视频帧的帧数据进行格式转换,得到可渲染的数据格式的帧数据,包括:
将所述多个视频帧的帧数据的数据格式,从亮度-色度YUV数据格式转换为红-绿-蓝-透明度RGBA数据格式。


4.如权利要求1所述的方法,其特征在于,所述对所述动画文件进行解码,得到所述动画文件的多个动画帧的帧数据,包括:
对所述动画文件进行解码,得到动画文件的关键帧的帧数据及多个非关键帧的帧数据;
其中,所述关键帧的帧数据为位图数据,所述非关键帧的帧数据为相对于所述关键帧的差异位图数据。


5.如权利要求1所述的方法,其特征在于,所述分别根据各所述视频帧的帧数据及相应的动画帧的帧数据,通过模拟的所述图形处理器进行动画渲染,以得到渲染后的多个目标视频帧,包括:
模拟开放式图形库的环境;
基于模拟的开放式图形库的环境,创建二维图形库的环境;
基于所述二维图形库的环境,通过模拟的所述图形处理器,调用图形绘制接口,分别根据各所述视频帧的帧数据及相应的动画帧的帧数据,进行动画渲染,以得到渲染后的多个目标视频帧。


6.如权利要求1所述的方法,其特征在于,所述分别根据各所述视频帧的帧数据及相应的动画帧的帧数据,通过模拟的所述图形处理器进行动画渲染,包括:
对每个视频帧的帧数据...

【专利技术属性】
技术研发人员:齐国鹏陈仁健傅彬
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1