CN112738624B - 用于视频的特效渲染的方法和装置 - Google Patents
用于视频的特效渲染的方法和装置 Download PDFInfo
- Publication number
- CN112738624B CN112738624B CN202011543484.6A CN202011543484A CN112738624B CN 112738624 B CN112738624 B CN 112738624B CN 202011543484 A CN202011543484 A CN 202011543484A CN 112738624 B CN112738624 B CN 112738624B
- Authority
- CN
- China
- Prior art keywords
- special effect
- rendering
- video
- module
- rendering module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000000694 effects Effects 0.000 title claims abstract description 316
- 238000009877 rendering Methods 0.000 title claims abstract description 279
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000006870 function Effects 0.000 abstract description 11
- 238000011161 development Methods 0.000 abstract description 5
- 238000013508 migration Methods 0.000 abstract description 4
- 230000005012 migration Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 210000000697 sensory organ Anatomy 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本公开提供了一种用于视频的特效渲染的方法和装置。一种特效渲染方法包括:从视频绘制模块接收用于视频的绘制上下文和已经绘制了视频的帧缓存对象;根据接收的绘制上下文初始化绘制环境和通用特效渲染模块;由通用特效渲染模块根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块。本公开的方法能够让不同视频场景下的特效视觉感官统一,为用户提供了一致的体验,节约了开发成本,便于特效功能的迭代、迁移、更新。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种用于视频的特效渲染的方法、装置、电子设备和存储介质。
背景技术
随着短视频、直播行业蓬勃发展,视频特效渲染的使用频率大幅增加。在视频生产过程中,拍摄和编辑是两个不同的场景。在两个场景中,为了呈现的视觉效果更加丰富多彩,往往都需要在视频渲染基础上再做特效渲染,将两层渲染叠加的视频影像再呈现给用户。在相关技术中,通常针对拍摄场景和剪辑场景设置各自的特效绘制模块,但是两个场景下的特效不能够互通。开发人员需要针对拍摄场景开发一套特效,针对剪辑场景开发一套特效,各自的特效模块不能实现两个场景下的互通使用,造成了资源浪费。
发明内容
本公开提供一种用于视频的特效渲染的方法和装置,以至少解决相关技术中的提供统一特效渲染功能的问题,也可不解决任何上述问题。
根据本公开的第一方面,提供了一种特效渲染方法,包括:从视频绘制模块接收用于视频的绘制上下文和已经绘制了视频的帧缓存对象;根据接收的绘制上下文初始化绘制环境和通用特效渲染模块;由通用特效渲染模块根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块。
根据本公开的第一方面,所述帧缓存对象是从用于拍摄场景的视频绘制模块和/或用于编辑场景的视频绘制模块接收的。
根据本公开的第一方面,所述由通用特效渲染模块将特效绘制到接收的帧缓存对象包括:根据用户选择的特效名称查找与选择的特效名称对应的特效配置;编译和链接所述特效配置的着色器,并确定当前绘图程序使用链接后的着色器;加载所述特效配置需要的资源并将所述资源转换为纹理;由链接后的着色器将纹理绘制到接收的帧缓存对象。
根据本公开的第一方面,所述通用特效渲染模块具有从针对不同场景的特效渲染模块中抽取的共有模块。
根据本公开的第一方面,在由通用特效渲染模块将特效绘制到接收的帧缓存对象的步骤中,根据帧缓存对象的特性对特效进行适应性调整。
根据本公开的第一方面,在由通用特效渲染模块将特效绘制到接收的帧缓存对象的步骤中,通用特效渲染模块通过OpenGL绘图线程将数据变化同步到视频绘制模块。
根据本公开的第二方面,提供了一种特效渲染装置,包括:接收模块,被配置为从视频绘制模块接收用于视频的绘制上下文和已经绘制了视频的帧缓存对象;初始化模块,被配置为根据用于视频的绘制上下文初始化绘制环境和通用特效渲染模块;通用特效渲染模块,被配置为根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块。
根据本公开的第二方面,所述接收模块被配置为从用于拍摄场景的视频绘制模块和/或用于编辑场景的视频绘制模块接收绘制了视频的帧缓存对象。
根据本公开的第二方面,所述通用特效渲染模块包括:特效配置模块,被配置为根据用户选择的特效名称查找与选择的特效名称对应的特效配置;着色器配置模块,被配置为编译和链接所述特效配置的着色器,并确定当前绘图程序使用链接后的着色器;纹理生成模块,被配置为加载所述特效配置需要的资源并将所述资源转换为纹理;绘制模块,被配置为使用链接后的着色器将纹理绘制到接收的帧缓存对象。
根据本公开的第二方面,所述通用特效渲染模块具有从针对不同场景的特效渲染模块中抽取的共有模块。
根据本公开的第二方面,所述通用特效渲染模块被配置为根据帧缓存对象的大小对应地调整特效的大小和位置。
根据本公开的第二方面,所述通用特效渲染模块被配置为通过OpenGL绘图线程将数据变化同步到视频绘制模块。
根据本公开的第三方面,提供了一种视频渲染方法,包括:由视频绘制模块将视频绘制到帧缓存对象,并产生绘制上下文;根据绘制上下文初始化绘制环境和通用特效渲染模块;由通用特效渲染模块根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块;由视频绘制模块使用绘制了特效的帧缓存对象来渲染视频。
根据本公开的第三方面,由拍摄场景的视频绘制模块和/或用于编辑场景的视频绘制模块将拍摄场景下的视频和编辑场景下的视频绘制到帧缓存对象。
根据本公开的第四方面,提供了一种视频渲染装置,包括:视频绘制模块,被配置为将视频绘制到帧缓存对象;初始化模块,被配置为根据接收的绘制上下文初始化绘制环境和通用特效渲染模块;通用特效渲染模块,被配置为根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块;其中,视频绘制模块使用绘制了特效的帧缓存对象来渲染视频。
根据本公开的第四方面,所述视频绘制模块包括:用于拍摄场景的视频绘制模块,被配置为将拍摄场景下的视频绘制到帧缓存对象;用于编辑场景的视频绘制模块,被配置为将编辑场景下的视频绘制到帧缓存对象。
根据本公开的第五方面,提供了一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的特效渲染或视频渲染的方法。
根据本公开的第六方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上所述的特效渲染或视频渲染的方法。
根据本公开的第七方面,提供了一种计算机程序产品,所述计算机程序产品中的指令被电子设备中的至少一个处理器运行以执行如上所述的特效渲染或视频渲染的方法。
根据本公开的实施例提供的技术方案至少带来以下有益效果:能够让不同视频场景下的特效视觉感官统一,为用户提供了一致的体验。另外,由于不需要针对不同视频场景开发特效模块,节约了开发成本,便于特效功能的迭代、迁移、更新。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出根据示例性实施例的通用特效渲染方法的流程图。
图2是示出根据一示例性实施例的通用特效渲染装置的框图。
图3是示出根据另一示例性实施例的视频渲染的方法的流程图。
图4是示出根据另一示例性实施例视频渲染装置的框图。
图5是示出根据示例性实施例的用于视频渲染的电子设备的示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
根据本公开的示例性实施例的特效渲染方法和装置可以在安装在终端设备的各种视频拍摄和编辑应用中实现。这里,终端设备可以是具有视频拍摄和编辑能力的终端设备,例如,本公开实施例中的终端设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、上网本、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备。在终端设备上可运行各种使用拍摄和编辑视频的应用,诸如相机应用、短视频应用、直播应用、社交应用、视频会议应用、在线教育应用等。
在根据本公开的示例性实施例中,针对视频的特效可以包括各种类型的特效,例如,文字特效、图形特效、声音特效、滤镜特效、美颜特效等等。用户在拍摄或者编辑视频时,可通过用户界面选择相应的特效,执行特效渲染的应用使用通用特效渲染模块来绘制与用户选择的特效,并使用视频绘制模块将绘制的特效和视频绘制在一起。这样,用户可以在诸如直播的拍摄过程中在显示屏上看到添加了特效的直播视频,或者在后期的视频编辑中对本地视频添加各种特效。
图1示出了根据本公开的示例性实施例的示出根据示例性实施例的通用特效渲染方法的流程图。
具体地,首先,在步骤S110,从视频绘制模块接收用于视频的绘制上下文和已经绘制了视频的帧缓存对象。
根据本公开的示例性实施例,在拍摄视频或编辑视频时,用于渲染视频的视频绘制模块会首先将视频绘制到帧缓存对象(FBO)上。这里,针对不同的视频处理场景,视频绘制模块可包括用于不同场景的视频绘制模块。例如,可从针对拍摄场景的视频绘制模块和/或针对编辑场景的视频绘制模块接收用于视频的绘制上下文和已经绘制了视频的帧缓存对象。
接下来,在步骤S120,根据接收的绘制上下文初始化绘制环境和通用特效渲染模块。
根据本公开的示例性实施例,绘制上下文可指的是开放图形库(OpenGL)中的EGLContext。可通过以下方式来初始化绘制环境:调用eglGetDisplay方法得到EGLDisplay,调用eglChooseConfig方法得到EGLConfig,通过EGLDisplay和EGLConfig调用eglCreateContext方法创建绘制上下文EGLContext。此外,可通过eglMakeCurrent方法将EGLSurface、EGLContext、EGLDisplay三者绑定。
根据本公开的示例性实施例,通用特效渲染模块是从针对不同场景的特效渲染模块抽离出的公共的特效渲染模块,其针对不同场景的视频绘制模块所产生的帧缓存对象进行了预定设置,从而能够满足不同场景下的特效渲染的需求。稍后将对根据本公开的示例性实施例的通用特效渲染模块的操作进行详细说明。
根据本公开的示例性实施例,可通过以下方式来初始化通用特效渲染模块:根据从服务器接收到的特效下发配置解析出每个特效的着色器和特效所在的位置、大小等信息,建立特效名称与特效配置之间的对应关系,从而可以在后续用户选择特效后通过特效名称找到对应的特效配置信息。特效下发配置可指的是服务器端下发的特效配置,这样使用终端设备的用户即使没有更新应用版本也能够使用新的特效。
然后,在步骤S130,由通用特效渲染模块根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块,从而视频绘制模块可使用绘制了特效的帧缓存对象来绘制视频以最终显示添加了特效的视频。
这里,通用渲染参数可以是通过视频应用的通用配置下发服务从服务器下发的参数,这些参数是在通用特效渲染中可能用到的参数。例如,以变脸挂件为例,通用特效渲染参数除了常规的OpenGL中的颜色混合、深度测试等参数之外,还包括人脸识别模型以及变脸特效挂件的关键点位置参数。
根据本公开的示例性实施例,由通用特效渲染模块将特效绘制到接收的帧缓存对象的操作可包括:根据用户选择的特效名称查找与选择的特效名称对应的特效配置;编译和链接所述特效配置的着色器(glCompileShader和glLinkProgram),并确定当前绘图程序使用链接后的着色器(glUseProgram);加载所述特效配置需要的资源并将所述资源转换为纹理;由链接后的着色器将纹理绘制到接收的帧缓存对象。
根据本公开的示例性实施例,通用特效渲染模块可具有从针对不同场景的特效渲染模块中抽取的共有模块。例如,可添加到视频中的音乐特效会根据音乐强弱节奏不同而显示出不同的动态图形效果。识别音乐强弱节奏需要通过解析出音乐的脉冲编码调制(PCM)数据来实现。针对拍摄场景的特效渲染模块和针对编辑场景的特效渲染模块中均存在各自的音乐PCM数据解析模块。根据本公开的示例性实施例的通用特效渲染模块具有从针对拍摄场景的特效渲染模块和针对编辑场景的特效渲染模块抽离出公共的PCM数据解析模块。应理解,根据本公开的示例性实施例还可具有其他类型的公共模块,例如,用于解析文字(例如,歌词)的文字解析模块等,并且还可包括可进一步扩展的公共模块。这些公共模块可以在加载特效配置需要的资源并转换为纹理的操作中对视频进行处理。
根据本公开的示例性实施例,在通用特效渲染模块中还可根据帧缓存对象的特性对特效进行适应性调整。例如,来自不同的视频绘制模块的帧缓存对象的大小可能是不同的,这时候需要根据帧缓存对象的大小调整绘制特效的大小和位置。假设用于大小为720*1280的帧缓存对象的特效挂件的大小为200*300,而实际来自拍摄场景的视频的帧缓存对象为1920*1080,这时候需要同步地放大特效挂件的大小使特效挂件相对于整个帧缓存对象的比例保持不变。可以在使用着色器将纹理绘制到帧缓存对象的过程中执行上述的归一化过程。
根据本公开的示例性实施例,在通用特效渲染模块中,与特效绘制相关的数据变化被同步到视频绘制模块。在相关技术的特效渲染和视频绘制过程中,特效渲染和视频绘制在同一个模块中执行,因此两者的绘制是完全同步的。而在根据本公开的示例性实施例中,通用特效渲染模块与视频绘制模块是分离的,因此需要将通用特效渲染模块的数据变化同步到视频绘制模块,否则可能出现同时更新了视频和特效之后,特效已被更新而视频还是更新前的特效的问题。为此,根据本公开的示例性实施例,通用特效渲染模块可通过OpenGL绘图线程将数据变化同步到视频绘制模块,而针对用户操作等的处理可由主线程处理,这样可以将数据的变化全部迁移到OpenGL线程中进行处理,保证数据的同步。
通过以上的通用特效渲染方法,通过将不同视频场景下的特效渲染模块抽离并封装为通用特效渲染模块,能够让不同视频场景下的特效视觉感官统一,为用户提供了一致的体验。另外,由于不需要针对不同视频场景开发特效模块,节约了开发成本,便于特效功能的迭代、迁移、更新。
图2是示出根据本公开的示例性实施例的通用特效渲染装置的框图。
如图2所示,根据本公开的示例性实施例的通用特效渲染装置200包括:接收模块210、初始化模块220和通用特效渲染模块230。
根据本公开的示例性实施例,接收模块210被配置为从视频绘制模块接收用于视频的绘制上下文和已经绘制了视频的帧缓存对象。根据本公开的示例性实施例,接收模块210可从用于拍摄场景的视频绘制模块和/或用于编辑场景的视频绘制模块接收绘制了视频的帧缓存对象。以上已经参照图1对接收模块210接收帧缓存对象的过程进行了描述,在此不再重复描述。
根据本公开的示例性实施例,初始化模块220被配置为根据用于视频的绘制上下文初始化绘制环境和通用特效渲染模块。以上已经参照图2对初始化模块210初始化绘制环境和通用特效渲染模块的过程进行了详细描述,在此不再重复描述。
根据本公开的示例性实施例,通用特效渲染模块230被配置为根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块。通用特效渲染模块230可包括:特效配置模块231,被配置为根据用户选择的特效名称查找与选择的特效名称对应的特效配置;着色器配置模块232,被配置为编译和链接所述特效配置的着色器,确定当前绘图程序使用链接后的着色器;纹理生成模块233,被配置为加载所述特效配置需要的资源并将所述资源转换为纹理;特效绘制模块234,被配置为使用链接后的着色器将纹理绘制到接收的帧缓存对象。
根据本公开的示例性实施例,通用特效渲染模块230可具有从针对不同场景的特效渲染模块中抽取的共有的特效模块。
根据本公开的示例性实施例,通用特效渲染模块230可被配置为根据帧缓存对象的特性对特效进行归一化。
根据本公开的示例性实施例,通用特效渲染装置230可被配置为将与特效绘制相关的数据变化同步到视频绘制模块。
以上已经参照图1对通用特效渲染模块230进行了详细描述,在此不再重复描述。
图3是示出根据本公开的另一示例性实施例的视频渲染方法的流程图。
如图3所示,在步骤S310,由视频绘制模块将视频绘制到帧缓存对象。具体地,视频绘制模块可创建帧缓存对象,并将视频与帧缓存对象绑定。这里,可调用开放图形库(OpenGL)的glGenFramebuffers来创建和绑定帧缓存对象。接下来,视频绘制模块创建纹理图像,将纹理图像附加到帧缓存作为颜色附件(glFramebufferTexture2D)。根据需要,可以同时创建帧缓存的深度附件。然后,视频绘制模块读取视频数据,将视频数据转换为纹理,并将与视频数据对应的纹理绘制到帧缓存上(glDrawArrays),从而生成绘制了视频的帧缓存对象。
根据本公开的示例性实施例,可以由用于拍摄场景的视频绘制模块和/或用于编辑场景的视频绘制模块将拍摄场景下的视频和编辑场景下的视频绘制到帧缓存对象。例如,同时具有在拍摄场景下添加特效的功能和在编辑场景下添加特效功能的应用可包括用于拍摄场景的视频绘制模块和用于编辑场景的视频绘制模块,在用户在不同场景下添加特效时使用不同的模块来产生不同的帧缓存对象。
接下来,在步骤S320,根据接收的绘制上下文初始化绘制环境和通用特效渲染模块。
根据本公开的示例性实施例,绘制上下文可指的是OpenGL中的EGLContext。可通过以下方式来初始化绘制环境:调用eglGetDisplay方法得到EGLDisplay,调用eglChooseConfig方法得到EGLConfig,通过EGLDisplay和EGLConfig调用eglCreateContext方法创建绘制上下文EGLContext。此外,可通过eglMakeCurrent方法将EGLSurface、EGLContext、EGLDisplay三者绑定。
根据本公开的示例性实施例,可通过以下方式来初始化通用特效渲染模块:根据从服务器接收到的特效下发配置解析出每个特效的着色器和特效所在的位置、大小等信息,建立特效名称与特效配置之间的对应关系,从而可以在后续用户选择特效后通过特效名称找到对应的特效配置信息。特效下发配置可指的是服务器端下发的特效配置,这样使用终端设备的用户即使没有更新应用版本也能够使用新的特效。
然后,在步骤S330,由通用特效渲染模块根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块。这里,通用渲染参数可以是通过视频应用的通用配置下发服务从服务器下发的参数,这些参数是在通用特效渲染中可能用到的参数。
根据本公开的示例性实施例,由通用特效渲染模块将特效绘制到接收的帧缓存对象的操作可包括:根据用户选择的特效名称查找与选择的特效名称对应的特效配置;编译和链接所述特效配置的着色器(glCompileShader和glLinkProgram),并确定当前绘图程序使用链接后的着色器(glUseProgram);加载所述特效配置需要的资源并将所述资源转换为纹理;由链接后的着色器将纹理绘制到接收的帧缓存对象。
根据本公开的示例性实施例,通用特效渲染模块可具有从针对不同场景的特效渲染模块中抽取的共有模块。根据本公开的示例性实施例,在通用特效渲染模块中还可根据帧缓存对象的特性对特效进行适应性调整。根据本公开的示例性实施例,在通用特效渲染模块中,与特效绘制相关的数据变化被同步到视频绘制模块。
最后,在步骤S340,由视频绘制模块使用绘制了特效的帧缓存对象来渲染视频。
图4是示出根据本公开的示例性实施例的视频渲染装置的框图。
如图4所示,根据本公开的示例性实施例的视频渲染装置400包括:视频绘制模块410、初始化模块420和通用特效渲染模块430。
视频绘制模块410被配置为将视频绘制到帧缓存对象并产生绘制上下文。根据本公开的示例性实施例,视频绘制模块410可包括:用于拍摄场景的视频绘制模块411,被配置为将拍摄场景下的视频绘制到帧缓存对象;用于编辑场景的视频绘制模块413,被配置为将编辑场景下的视频绘制到帧缓存对象。
初始化模块420被配置为根据绘制上下文初始化绘制环境和通用特效渲染模块。
通用特效渲染模块430被配置为根据接收的通用渲染参数将用户选择的特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块430,从而视频绘制模块430可使用绘制了特效的帧缓存对象来渲染视频。也就是说,如果通用特效渲染模块430处理的是从用于拍摄场景的视频绘制模块411接收到的帧缓存对象,则可将绘制了特效的帧缓存对象返回到用于拍摄场景的视频绘制模块411,而如果处理的是从用于编辑场景的视频绘制模块413接收到的帧缓存对象,则可将绘制了特效的帧缓存对象返回到用于编辑场景的视频绘制模块413,从而可由各自的视频绘制模块分别处理不同的帧缓存对象,实现了通用特效渲染。
根据本公开的示例性实施例,通用特效渲染模块430可具有从针对不同场景的特效渲染模块中抽取的共有的特效模块。
根据本公开的示例性实施例,通用特效渲染模块430可被配置为根据帧缓存对象的特性对特效进行归一化。
根据本公开的示例性实施例,通用特效渲染装置430可被配置为将与特效绘制相关的数据变化同步到视频绘制模块。
以上已经参照图2对初始化模块220和通用特效渲染模块230的操作进行了详细描述,应理解,图4的初始化模块420和通用特效渲染模块430可实现与图2的初始化模块220和通用特效渲染模块230的操作相同的操作,在此不再详细描述。
图5是示出根据本公开的示例性实施例的一种用于特效渲染的终端设备500的结构框图。该终端设备500例如可以是:智能手机、平板电脑、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端设备500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端设备500包括有:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本公开的如图1或图3所示的方法。
在一些实施例中,终端设备500还可选包括有:***设备接口503和至少一个***设备。处理器501、存储器502和***设备接口503之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口503相连。具体地,***设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。
***设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和***设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和***设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置在终端设备500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端设备500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在终端设备500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位终端设备500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***、俄罗斯的格雷纳斯***或欧盟的伽利略***的定位组件。
电源509用于为终端设备500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端设备500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以终端设备500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测终端设备500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端设备500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在终端设备500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在终端设备500的侧边框时,可以检测用户对终端设备500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对UI上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置终端设备500的正面、背面或侧面。当终端设备500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在终端设备500的前面板。接近传感器516用于采集用户与终端设备500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端设备500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端设备500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图5中示出的结构并不构成对终端设备500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的特效渲染方法和/或视频渲染方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-RLTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机***上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的实施例中,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成上述的特效渲染方法和/或视频渲染方法。
根据本公开的实施例的特效渲染方法和视频渲染方法能够让不同视频场景下的特效视觉感官统一,为用户提供了一致的体验。另外,由于不需要针对不同视频场景开发特效模块,节约了开发成本,便于特效功能的迭代、迁移、更新。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (22)
1.一种特效渲染方法,其特征在于,包括:
从用于不同场景的视频绘制模块接收用于视频的绘制上下文和已经绘制了视频的帧缓存对象;
根据接收的绘制上下文初始化绘制环境和通用特效渲染模块;
由通用特效渲染模块根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块,
其中,通用特效渲染模块具有从针对不同场景的特效渲染模块中抽取的共有模块。
2.如权利要求1所述的方法,其特征在于,所述帧缓存对象是从用于拍摄场景的视频绘制模块和/或用于编辑场景的视频绘制模块接收的。
3.如权利要求1所述的方法,其特征在于,所述由通用特效渲染模块将特效绘制到接收的帧缓存对象包括:
根据用户选择的特效名称查找与选择的特效名称对应的特效配置;
编译和链接所述特效配置的着色器,并确定当前绘图程序使用链接后的着色器;
加载所述特效配置需要的资源并将所述资源转换为纹理;
由链接后的着色器将纹理绘制到接收的帧缓存对象。
4.如权利要求1所述的方法,其特征在于,在由通用特效渲染模块将特效绘制到接收的帧缓存对象的步骤中,根据帧缓存对象的特性对特效进行适应性调整。
5.如权利要求1所述的方法,其特征在于,在由通用特效渲染模块将特效绘制到接收的帧缓存对象的步骤中,通用特效渲染模块通过OpenGL绘图线程将数据变化同步到视频绘制模块。
6.一种特效渲染装置,其特征在于,包括:
接收模块,被配置为从用于不同场景的视频绘制模块接收用于视频的绘制上下文和已经绘制了视频的帧缓存对象;
初始化模块,被配置为根据用于视频的绘制上下文初始化绘制环境和通用特效渲染模块;
通用特效渲染模块,被配置为根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块,
其中,通用特效渲染模块具有从针对不同场景的特效渲染模块中抽取的共有模块。
7.如权利要求6所述的装置,其特征在于,所述接收模块被配置为从用于拍摄场景的视频绘制模块和/或用于编辑场景的视频绘制模块接收绘制了视频的帧缓存对象。
8.如权利要求6所述的装置,其特征在于,所述通用特效渲染模块包括:
特效配置模块,被配置为根据用户选择的特效名称查找与选择的特效名称对应的特效配置;
着色器配置模块,被配置为编译和链接所述特效配置的着色器,并确定当前绘图程序使用链接后的着色器;
纹理生成模块,被配置为加载所述特效配置需要的资源并将所述资源转换为纹理;
绘制模块,被配置为使用链接后的着色器将纹理绘制到接收的帧缓存对象。
9.如权利要求6所述的装置,其特征在于,所述通用特效渲染模块被配置为根据帧缓存对象的大小对应地调整特效的大小和位置。
10.如权利要求6所述的装置,其特征在于,所述通用特效渲染模块被配置为通过OpenGL绘图线程将数据变化同步到视频绘制模块。
11.一种视频渲染方法,其特征在于,包括:
由用于不同场景的视频绘制模块将视频绘制到帧缓存对象,并产生绘制上下文;
根据绘制上下文初始化绘制环境和通用特效渲染模块;
由通用特效渲染模块根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块;
由视频绘制模块使用绘制了特效的帧缓存对象来渲染视频,
其中,通用特效渲染模块具有从针对不同场景的特效渲染模块中抽取的共有模块。
12.如权利要求11所述的方法,其特征在于,所述由视频绘制模块将视频绘制到帧缓存对象包括:由拍摄场景的视频绘制模块和/或用于编辑场景的视频绘制模块将拍摄场景下的视频和编辑场景下的视频绘制到帧缓存对象。
13.如权利要求11所述的方法,其特征在于,所述由通用特效渲染模块将特效绘制到接收的帧缓存对象包括:
根据用户选择的特效名称查找与选择的特效名称对应的特效配置;
编译和链接所述特效配置的着色器,并确定当前绘图程序使用链接后的着色器;
加载所述特效配置需要的资源并将所述资源转换为纹理;
由链接后的着色器将纹理绘制到接收的帧缓存对象。
14.如权利要求11所述的方法,其特征在于,在由通用特效渲染模块将特效绘制到接收的帧缓存对象的步骤中,根据帧缓存对象的特性对特效进行适应性调整。
15.如权利要求11所述的方法,其特征在于,在由通用特效渲染模块将特效绘制到接收的帧缓存对象的步骤中,通用特效渲染模块通过OpenGL绘图线程将数据变化同步到视频绘制模块。
16.一种视频渲染装置,其特征在于,包括:
视频绘制模块,被配置用于不同场景并将视频绘制到帧缓存对象;
初始化模块,被配置为根据接收的绘制上下文初始化绘制环境和通用特效渲染模块;
通用特效渲染模块,被配置为根据接收的通用渲染参数将特效绘制到接收的帧缓存对象,并将绘制了特效的帧缓存对象返回给视频绘制模块;
其中,视频绘制模块使用绘制了特效的帧缓存对象来渲染视频,
其中,所述通用特效渲染模块具有从针对不同场景的特效渲染模块中抽取的共有模块。
17.如权利要求16所述的装置,其特征在于,所述视频绘制模块包括:
用于拍摄场景的视频绘制模块,被配置为将拍摄场景下的视频绘制到帧缓存对象;
用于编辑场景的视频绘制模块,被配置为将编辑场景下的视频绘制到帧缓存对象。
18.如权利要求16所述的装置,其特征在于,所述通用特效渲染模块包括:
特效配置模块,被配置为根据用户选择的特效名称查找与选择的特效名称对应的特效配置;
着色器配置模块,被配置为编译和链接所述特效配置的着色器,并确定当前绘图程序使用链接后的着色器;
纹理生成模块,被配置为加载所述特效配置需要的资源并将所述资源转换为纹理;
绘制模块,被配置为使用链接后的着色器将纹理绘制到接收的帧缓存对象。
19.如权利要求16所述的装置,其特征在于,所述通用特效渲染模块被配置为根据帧缓存对象的大小对应地调整特效的大小和位置。
20.如权利要求16所述的装置,其特征在于,所述通用特效渲染模块被配置为通过OpenGL绘图线程将数据变化同步到视频绘制模块。
21.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到5以及权利要求11到15中的任一权利要求所述的方法。
22.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1到5以及权利要求11到15中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011543484.6A CN112738624B (zh) | 2020-12-23 | 2020-12-23 | 用于视频的特效渲染的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011543484.6A CN112738624B (zh) | 2020-12-23 | 2020-12-23 | 用于视频的特效渲染的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112738624A CN112738624A (zh) | 2021-04-30 |
CN112738624B true CN112738624B (zh) | 2022-10-25 |
Family
ID=75604960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011543484.6A Active CN112738624B (zh) | 2020-12-23 | 2020-12-23 | 用于视频的特效渲染的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112738624B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114513614A (zh) * | 2022-02-14 | 2022-05-17 | 河南大学 | 一种用于视频的特效渲染的装置和方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853562A (zh) * | 2014-03-26 | 2014-06-11 | 北京奇艺世纪科技有限公司 | 一种视频帧渲染方法及装置 |
CN104090753A (zh) * | 2014-06-13 | 2014-10-08 | 北京奇艺世纪科技有限公司 | 一种移动终端的视频渲染*** |
US9161006B1 (en) * | 2014-12-05 | 2015-10-13 | Kamcord, Inc. | Systems and methods for efficient screen capture |
CN106385591A (zh) * | 2016-10-17 | 2017-02-08 | 腾讯科技(上海)有限公司 | 视频处理方法及视频处理装置 |
CN107277616A (zh) * | 2017-07-21 | 2017-10-20 | 广州爱拍网络科技有限公司 | 视频特效渲染方法、装置及终端 |
CN108632540A (zh) * | 2017-03-23 | 2018-10-09 | 北京小唱科技有限公司 | 视频处理方法和装置 |
CN109688346A (zh) * | 2018-12-28 | 2019-04-26 | 广州华多网络科技有限公司 | 一种拖尾特效渲染方法、装置、设备及存储介质 |
CN109698914A (zh) * | 2018-12-04 | 2019-04-30 | 广州华多网络科技有限公司 | 一种闪电特效渲染方法、装置、设备及存储介质 |
CN110213504A (zh) * | 2018-04-12 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、信息发送方法及相关设备 |
CN110662090A (zh) * | 2018-06-29 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 一种视频处理方法和*** |
CN111193876A (zh) * | 2020-01-08 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 视频中添加特效的方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158762B (zh) * | 2011-03-15 | 2013-03-27 | 深圳市酷开网络科技有限公司 | 一种基于sdl的电视机用户接口界面的实现方法及*** |
KR101347178B1 (ko) * | 2012-03-20 | 2014-01-07 | 인크로스 주식회사 | 벡터 이미지 드로잉 방법 및 그 장치 |
KR101352203B1 (ko) * | 2013-08-09 | 2014-01-16 | 넥스트리밍(주) | 모바일용 동영상 편집도구의 이펙트 설정을 위한 플러그인의 배포방법 |
CN104036534B (zh) * | 2014-06-27 | 2017-02-22 | 成都品果科技有限公司 | 一种基于wp8平台的相机实时特效渲染方法 |
CN105069831B (zh) * | 2015-07-28 | 2018-05-29 | 广州爱拍网络科技有限公司 | 一种基于Hook技术获取OpenGL渲染画面的方法和*** |
CA2946074C (en) * | 2015-10-21 | 2024-02-13 | Stephen Viggers | Systems and methods for using an opengl api with a vulkan graphics driver |
CN106230841B (zh) * | 2016-08-04 | 2020-04-07 | 深圳响巢看看信息技术有限公司 | 一种基于终端的网络直播中视频实时美颜及推流的方法 |
GB2579113B (en) * | 2019-05-31 | 2021-04-21 | Imagination Tech Ltd | Rendering optimisation |
-
2020
- 2020-12-23 CN CN202011543484.6A patent/CN112738624B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853562A (zh) * | 2014-03-26 | 2014-06-11 | 北京奇艺世纪科技有限公司 | 一种视频帧渲染方法及装置 |
CN104090753A (zh) * | 2014-06-13 | 2014-10-08 | 北京奇艺世纪科技有限公司 | 一种移动终端的视频渲染*** |
US9161006B1 (en) * | 2014-12-05 | 2015-10-13 | Kamcord, Inc. | Systems and methods for efficient screen capture |
CN106385591A (zh) * | 2016-10-17 | 2017-02-08 | 腾讯科技(上海)有限公司 | 视频处理方法及视频处理装置 |
CN108632540A (zh) * | 2017-03-23 | 2018-10-09 | 北京小唱科技有限公司 | 视频处理方法和装置 |
CN107277616A (zh) * | 2017-07-21 | 2017-10-20 | 广州爱拍网络科技有限公司 | 视频特效渲染方法、装置及终端 |
CN110213504A (zh) * | 2018-04-12 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、信息发送方法及相关设备 |
CN110662090A (zh) * | 2018-06-29 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 一种视频处理方法和*** |
CN109698914A (zh) * | 2018-12-04 | 2019-04-30 | 广州华多网络科技有限公司 | 一种闪电特效渲染方法、装置、设备及存储介质 |
CN109688346A (zh) * | 2018-12-28 | 2019-04-26 | 广州华多网络科技有限公司 | 一种拖尾特效渲染方法、装置、设备及存储介质 |
CN111193876A (zh) * | 2020-01-08 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 视频中添加特效的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112738624A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107885533B (zh) | 管理组件代码的方法及装置 | |
CN111246300B (zh) | 剪辑模板的生成方法、装置、设备及存储介质 | |
CN109327608B (zh) | 歌曲分享的方法、终端、服务器和*** | |
CN109346111B (zh) | 数据处理方法、装置、终端及存储介质 | |
CN111061405B (zh) | 录制歌曲音频的方法、装置、设备及存储介质 | |
CN110139143B (zh) | 虚拟物品显示方法、装置、计算机设备以及存储介质 | |
CN109192218B (zh) | 音频处理的方法和装置 | |
CN111880888B (zh) | 预览封面生成方法、装置、电子设备及存储介质 | |
CN113747199A (zh) | 视频编辑方法、装置、电子设备、存储介质及程序产品 | |
CN110996167A (zh) | 在视频中添加字幕的方法及装置 | |
CN111949680A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN109243479B (zh) | 音频信号处理方法、装置、电子设备及存储介质 | |
WO2022227581A1 (zh) | 资源展示方法及计算机设备 | |
CN111083526A (zh) | 视频转场方法、装置、计算机设备及存储介质 | |
CN111368114A (zh) | 信息展示方法、装置、设备及存储介质 | |
CN111539795A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN114245218A (zh) | 音视频播放方法、装置、计算机设备及存储介质 | |
CN113409427A (zh) | 动画播放方法、装置、电子设备及计算机可读存储介质 | |
CN112257006A (zh) | 页面信息的配置方法、装置、设备及计算机可读存储介质 | |
CN111459466A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN109547847B (zh) | 添加视频信息的方法、装置及计算机可读存储介质 | |
CN111125602A (zh) | 页面构建方法、装置、设备和存储介质 | |
CN112230781A (zh) | 字符推荐方法、装置及存储介质 | |
CN112738624B (zh) | 用于视频的特效渲染的方法和装置 | |
CN112822544A (zh) | 视频素材文件生成方法、视频合成方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |