【技术实现步骤摘要】
一种视频渲染方法、装置、电子设备及存储介质
[0001]本申请涉及人工智能领域,进一步涉及云计算和视频处理技术,可以用在媒体云场景下,尤其是一种视频渲染方法、装置、电子设备及存储介质。
技术介绍
[0002]目前在视频编辑渲染合成的过程中,对于视频的每一帧渲染,如果涉及到多个着色器(Shader)效果,可能渲染成本非常大,速度非常慢。
[0003]具体地,现有技术中的视频编辑渲染合成的方法,主要包括以下步骤:1)将视频的图像数据转换为亮度色相色饱和度YUV数据或者红色绿色蓝色RGBA数据;2)将帧数据从CPU拷贝进GPU;3)绑定第一个特效的片元着色器(Fragment Shader)和顶点着色器(Vertex Shader);4)进行渲染当前帧;5)从GPU拷贝出CPU;6)获取当前帧的输出YUV数据或者RGBA数据;7)接下来针对后续的各个特效重复上述1)至6)的步骤。采用上述方案渲染合成性能太差。一帧图像如果涉及到多个特效渲染,那么可能会根据特效个数,而重复从GPU和CPU拷贝数据,拷贝的过程中性能非常低下,从 ...
【技术保护点】
【技术特征摘要】
1.一种视频渲染方法,所述方法包括:在待渲染视频中提取出一个原始帧图像作为当前帧图像;将所述当前帧图像从CPU拷贝到GPU;使用所述当前帧图像预先绑定的着色器,在GPU中对所述当前帧图像进行渲染,得到所述当前帧图像对应的渲染后的帧图像;重复执行上述操作,直到得到所述待渲染视频中的各个原始帧图像对应的渲染后的帧图像;将所述待渲染视频中的各个原始帧图像对应的渲染后的帧图像从GPU拷贝到CPU,得到所述待渲染视频的渲染结果。2.根据权利要求1所述的方法,其中,将所述当前帧图像从CPU拷贝到GPU,包括:对所述当前帧图像进行解码,得到所述当前帧图像的亮度色相色饱和度YUV数据或者红色绿色蓝色RGBA数据;将所述当前帧图像的YUV数据或者RGBA数据从CPU拷贝到GPU。3.根据权利要求2所述的方法,其中,使用所述当前帧图像预先绑定的着色器,在GPU中对所述当前帧图像进行渲染,包括:若所述当前帧图像预先绑定的特效为N个,则在所述N个特效中提取出一个特效作为当前特效;使用所述当前特效绑定的着色器在GPU中对所述当前帧图像进行渲染,重复执行上述操作,直到使用每一个特效绑定的着色器对所述当前帧图像渲染完毕;其中,N为大于1的自然数;所述着色器包括:片元着色器和顶点着色器。4.根据权利3所述的方法,其中,使用所述当前特效绑定的着色器在GPU中对所述当前帧图像进行渲染,包括:在GPU中初始化一个OpenGL的帧缓存FrameBuffer;将所述当前特效的着色器和所述当前帧图像的YUV数据或者RGBA数据绑定所述FrameBuffer;基于所述当前特效的着色器和所述当前帧图像的YUV数据或者RGBA数据绑定的所述FrameBuffer,使用所述当前特效绑定的着色器在GPU中对所述当前帧图像进行渲染。5.根据权利要求4所述的方法,基于所述当前特效的着色器和所述当前帧图像的YUV数据或者RGBA数据绑定的所述FrameBuffer,使用所述当前特效绑定的着色器在GPU中对所述当前帧图像进行渲染,包括:在所述当前特效的着色器和所述当前帧图像的YUV数据或者RGBA数据绑定的所述FrameBuffer中,提取出所述当前特效的着色器和所述当前帧图像的YUV数据或者RGBA数据;使用所述当前特效的着色器在GPU中对所述当前帧图像的YUV数据或者RGBA数据进行渲染,得到所述当前帧图像的渲染结果;将所述当前帧图像的渲染结果传入至下一个FrameBuffer中。6.根据权利要求2所述的方法,所述方法还包括:将所述待渲染视频中的各个原始帧图像的YUV数据或者RGBA数据输入至编码器;通过所述编码器对所述待渲染视频中的各个原始帧图像的YUV数据或者RGBA数据进行编码。7.一种视频渲染装置,所述装置包括:提取模块、拷贝模块和渲染模块;其中,所述提取模块,用于在待渲染视频中提取出一个原始帧图像作为当前帧图像;
所述拷贝模块,用于将所述当前帧图像从CPU拷贝到GPU;所述渲染...
【专利技术属性】
技术研发人员:常炎隆,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。