一种透明动画特效视频的处理方法技术

技术编号:39721624 阅读:5 留言:0更新日期:2023-12-17 23:27
本发明专利技术公开了一种透明动画特效视频的处理方法

【技术实现步骤摘要】
一种透明动画特效视频的处理方法、装置以及设备


[0001]本专利技术涉及图像处理
,尤其涉及一种透明动画特效视频的处理方法

装置以及设备


技术介绍

[0002]随着移动互联网的日益发展,直播行业的兴起,用户对于动画特效的要求越来越高,使用原生动画
CoreAnimation(CoreAnimation

iOS
系统上,图像渲染与动画基础框架
)
实现的动画特效,其绚丽程度不足以满足用户的需求;动画序列帧能较好的支持
2D

3D
动画满足用户需求,但直接使用序列帧动画又会带来很多问题,诸如:内存大小

素材体积大小等;动画视频也可以满足效果上需求,但标准视频播放器无法支持结合原生视图进行带透明通道的渲染,同时也存在素材体积过大问题


技术实现思路

[0003]有鉴于此,本专利技术的目的在于提出一种透明动画特效视频的处理方法

装置以及设备,旨在解决现有的动效视频处理无法兼容高效果和低空间等问题

[0004]为实现上述目的,本专利技术提供一种透明动画特效视频的处理方法,所述方法包括:
[0005]获取具有
Alpha
的多个
PNG
图片序列帧;
[0006]对每一所述
PNG
图片序列帧进行解析以及编码,得到透明视频文件;
[0007]将所述透明视频文件中每一帧的每一像素
RGB
值与
Alpha
值进行叠加计算,并通过
OpenGLES
进行渲染绘制,得到目标透明视频

[0008]优选的,所述对每一所述
PNG
图片序列帧进行解析,包括:
[0009]对每一所述
PNG
图片序列帧中的各像素点对应的
RGB

Alpha
进行解析,得到像素点
RGB
值与像素点
Alpha
值;
[0010]将每一所述像素点
RGB
值以及所述像素点
Alpha
值转换为
YUV420P
,得到第一
YUV420P
数据和第二
YUV420P
数据,并将每一所述像素点
Alpha
值记录在第二
YUV420P
数据中的
Y
分量;
[0011]将所述
PNG
图片序列帧进行第一预设尺寸调整,得到第一调整图像帧,对所述第一调整图像帧进行上下部分的划分,并将所述第一
YUV420P
数据存储在上部分以及将所述第二
YUV420P
数据存储在下部分

[0012]优选的,所述对每一所述
PNG
图片序列帧中的各像素点对应的
RGB

Alpha
进行解析,得到像素点
RGB
值与像素点
Alpha
值,包括:
[0013]将每一所述
PNG
图片序列帧转换为二进制数据,并利用
CoreGraphics
框架过滤所述二进制数据中的
header
信息,获取所述二进制数据中所有像素点的
RGBA
数据;
[0014]通过指针索引偏移的方式并根据预设读取方式读取每一像素点的所述
RGBA
数据,获得每一像素点对应的
RGBA


[0015]优选的,所述对每一所述
PNG
图片序列帧进行编码,包括:
[0016]利用
ffmpeg
对所述第一调整图像帧中的
YUV420P
数据按照
H264
标准进行视频格式编码,生成所述透明视频文件

[0017]优选的,所述将所述透明视频文件中每一帧的每一像素
RGB
值与
Alpha
值进行叠加计算,并通过
OpenGLES
进行渲染绘制,得到目标透明视频,包括:
[0018]利用
ffmpeg
读取所述透明视频文件中的每一图像帧,以第二预设尺寸取每一图像帧作为绘制视图的尺寸,以创建
OpenGLES
绘制视图,并通过
OpenGLES
对每一图像帧进行纹理的加载,得到具有纹理数据的图像帧;
[0019]对具有纹理数据的图像帧的每一像素
RGB
值与
Alpha
值进行叠加计算,并通过
OpenGLES
进行渲染绘制,得到目标透明视频

[0020]优选的,所述对具有纹理数据的图像帧的每一像素
RGB
值与
Alpha
值进行叠加计算,并通过
OpenGLES
进行渲染绘制,得到目标透明视频,包括:
[0021]采用自定义顶点着色器与自定义片段着色器对具有纹理数据的图像帧进行处理,得到映射图像帧;
[0022]将所述映射图像帧进行上下部分的划分,并取上部分的纹理数据作为
RGB
值以及取下部分的纹理数据作为
Alpha
值,将
RGB
值与
Alpha
值进行像素的叠加计算,得到具有
R、G、B、A
的像素点,通过
OpenGLES
对具有
R、G、B、A
的像素点进行渲染绘制,得到所述目标透明视频

[0023]为实现上述目的,本专利技术还提供一种透明动画特效视频的处理装置,所述装置包括:
[0024]获取单元,用于获取具有
Alpha
的多个
PNG
图片序列帧;
[0025]编码单元,用于对每一所述
PNG
图片序列帧进行解析以及编码,得到透明视频文件;
[0026]渲染单元,用于将所述透明视频文件中每一帧的每一像素
RGB
值与
Alpha
值进行叠加计算,并通过
OpenGLES
进行渲染绘制,得到目标透明视频

[0027]为了实现上述目的,本专利技术还提出一种设备,包括处理器

存储器以及存储在所述存储器内的计算机程序,所述计算机程序被所述处理器执行以实现如上述实施例所述的一种透明动画特效视频的处理方法的步骤

[0028]为了实现上述目的,本专利技术还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现如上述实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种透明动画特效视频的处理方法,其特征在于,所述方法包括:获取具有
Alpha
的多个
PNG
图片序列帧;对每一所述
PNG
图片序列帧进行解析以及编码,得到透明视频文件;将所述透明视频文件中每一帧的每一像素
RGB
值与
Alpha
值进行叠加计算,并通过
OpenGLES
进行渲染绘制,得到目标透明视频
。2.
根据权利要求1所述的一种透明动画特效视频的处理方法,其特征在于,所述对每一所述
PNG
图片序列帧进行解析,包括:对每一所述
PNG
图片序列帧中的各像素点对应的
RGB

Alpha
进行解析,得到像素点
RGB
值与像素点
Alpha
值;将每一所述像素点
RGB
值以及所述像素点
Alpha
值转换为
YUV420P
,得到第一
YUV420P
数据和第二
YUV420P
数据,并将每一所述像素点
Alpha
值记录在第二
YUV420P
数据中的
Y
分量;将所述
PNG
图片序列帧进行第一预设尺寸调整,得到第一调整图像帧,对所述第一调整图像帧进行上下部分的划分,并将所述第一
YUV420P
数据存储在上部分以及将所述第二
YUV420P
数据存储在下部分
。3.
根据权利要求2所述的一种透明动画特效视频的处理方法,其特征在于,所述对每一所述
PNG
图片序列帧中的各像素点对应的
RGB

Alpha
进行解析,得到像素点
RGB
值与像素点
Alpha
值,包括:将每一所述
PNG
图片序列帧转换为二进制数据,并利用
CoreGraphics
框架过滤所述二进制数据中的
header
信息,获取所述二进制数据中所有像素点的
RGBA
数据;通过指针索引偏移的方式并根据预设读取方式读取每一像素点的所述
RGBA
数据,获得每一像素点对应的
RGBA

。4.
根据权利要求2所述的一种透明动画特效视频的处理方法,其特征在于,所述对每一所述
PNG
图片序列帧进行编码,包括:利用
ffmpeg
对所述第一调整图像帧中的
YUV420P
数据按照
H264
标准进行视频格...

【专利技术属性】
技术研发人员:黄俊杰黄天财黄海波吕金松黄文安朱旭伟
申请(专利权)人:厦门欢趣信息技术有限责任公司厦门海豹云信息技术有限公司
类型:发明
国别省市:

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

1