CN111669646A - 透明视频的播放方法、装置、设备及介质 - Google Patents
透明视频的播放方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111669646A CN111669646A CN201910172415.XA CN201910172415A CN111669646A CN 111669646 A CN111669646 A CN 111669646A CN 201910172415 A CN201910172415 A CN 201910172415A CN 111669646 A CN111669646 A CN 111669646A
- Authority
- CN
- China
- Prior art keywords
- transparent
- image frame
- video
- sub
- rendering interface
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000009877 rendering Methods 0.000 claims abstract description 105
- 230000000694 effects Effects 0.000 claims description 43
- 238000005070 sampling Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 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
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- 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/47—End-user applications
- H04N21/485—End-user interface for client configuration
- H04N21/4858—End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明实施例提供了一种透明视频的播放方法、装置、设备及介质。该方法包括:对视频文件进行解码,生成图像帧,其中图像帧中的每一帧至少包括第一子图像帧和第二子图像帧,第一子图像帧为颜色通道的子图像帧,第二子图像帧为透明度通道的子图像帧;合并第一子图像帧和第二子图像帧,形成多个透明图像帧;基于多个透明图像帧,形成待播放透明视频;将待播放透明视频渲染到渲染界面上;通过设置渲染界面的多个参数,形成透明渲染界面;基于透明渲染界面播放待播放透明视频。根据本发明实施例提供的上述方案,可以将视频文件透明化处理为待播放的透明视频,实现播放器的透明化,播放器不会遮挡播放器下层的展示内容。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种透明视频的播放方法、装置、设备及介质。
背景技术
随着各种移动设备和多媒体技术的普及,用户期待在便携终端软件的使用中可以体验到丰富的特效和动画等。尤其在视频直播领域,很多用户对礼物特效的要求日益提高,在便携终端中,传统的界面已经难以满足用户需求。
然而,传统视频播放器在播放透明视频的过程中存在无法透明的问题,使得播放器遮挡了播放器下层的视频,降低用户体验。
发明内容
本发明实施例提供了一种透明视频的播放方法、装置、设备及介质,可以将视频文件透明化处理为待播放的透明视频,实现播放器的透明化,并使得播放器不会遮挡播放器下层的展示内容。
第一方面,本发明实施例提供了一种透明视频的播放方法,方法包括:
对视频文件进行解码,生成图像帧,其中所述图像帧中的每一帧至少包括第一子图像帧和第二子图像帧,所述第一子图像帧为颜色通道的子图像帧,所述第二子图像帧为透明度通道的子图像帧;
合并所述第一子图像帧和第二子图像帧,形成多个透明图像帧;
基于所述多个透明图像帧,形成待播放透明视频;
将所述待播放透明视频渲染到渲染界面上;
通过设置所述渲染界面的多个参数,形成透明渲染界面;
基于所述透明渲染界面播放所述待播放透明视频。
第二方面,本发明实施例提供了一种透明视频的播放装置,装置包括:
解码模块,用于对视频文件进行解码,生成图像帧,其中所述图像帧中的每一帧至少包括第一子图像帧和第二子图像帧,所述第一子图像帧为颜色通道的子图像帧,所述第二子图像帧为透明度通道的子图像帧;
合并模块,用于合并所述第一子图像帧和第二子图像帧,形成多个透明图像帧;
形成模块,用于基于所述多个透明图像帧,形成待播放透明视频;
渲染模块,用于将所述待播放透明视频渲染到渲染界面上;
设置模块,用于通过设置所述渲染界面的多个参数,形成透明渲染界面;
播放模块,用于基于所述透明渲染界面播放所述待播放透明视频。
第三方面,本发明实施例提供了一种透明视频的播放设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
本发明实施例提供的透明视频的播放方法、装置、设备及介质,可以将视频文件透明化处理为待播放的透明视频,实现播放器的透明化,并使得播放器不会遮挡播放器下层的展示内容。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例的透明视频的播放方法的流程示意图;
图2示出了本发明实施例的合并颜色通道的子图像帧与透明度通道的子图像帧的示意图;
图3示出了利用普通播放器渲染资源的效果;
图4示出了本发明实施例的利用透明播放器渲染资源的效果;
图5示出了本发明实施例的透明视频的播放装置的结构示意图;
图6示出了本发明实施例的透明视频的播放设备的硬件结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1示出了本发明实施例的透明视频的播放方法的流程示意图,该方法包括:
S110,对视频文件进行解码,生成图像帧,其中图像帧中的每一帧至少包括第一子图像帧和第二子图像帧,第一子图像帧为颜色通道的子图像帧,第二子图像帧为透明度通道的子图像帧;
S120,合并第一子图像帧和第二子图像帧,形成多个透明图像帧;
S130,基于多个透明图像帧,形成待播放透明视频;
S140,将待播放透明视频渲染到渲染界面上;
S150,通过设置渲染界面的多个参数,形成透明渲染界面;
S160,基于透明渲染界面播放待播放透明视频。
利用本发明实施例提供的上述方案,通过将视频文件透明化处理为待播放的透明视频,并将渲染界面设置为透明渲染界面,以利用透明渲染界面播放透明视频,使得在播放炫酷特效的同时,播放器不会遮挡播放器下层的展示内容。
以下通过具体的实例,描述本发明实施例的可选的具体处理过程。需要说明的是,本发明的方案并不依赖于具体的算法,在实际应用中,可选用任何已知或未知的硬件、软件、算法、程序或其任意组合等来实现本发明的方案,只要是采用了本发明方案的实质思想,均落入本发明的保护范围。
S110,对视频文件进行解码,生成图像帧,其中图像帧中的每一帧至少包括第一子图像帧和第二子图像帧,第一子图像帧为颜色通道的子图像帧,第二子图像帧为透明度通道的子图像帧。
作为一个示例,视频资源中每一帧画面均包含两部分内容,其中一部分内容记录有透明度信息(Alpha),另一部分内容记录有视频的颜色信息,例如红色(RED,R)、绿色(GREEN,G)、蓝色(BLUE,B)等。
接下来,通过系统(例如,IOS系统或Android系统)默认的解码器对视频资源进行解码,生成每一帧对应的图像(图像帧),其中图像帧中的每一帧均包括颜色通道的子图像帧和透明度通道的子图像帧。
在一些实施例中,图像帧分为左右两部分,其中左侧画面可以为颜色通道的子图像帧,右侧画面可以为透明度通道的子图像帧。
在其他实施例中,左侧画面可以为透明度通道的子图像帧,右侧画面可以为颜色通道的子图像帧。本发明对此不做限制。
应该注意的是,对视频文件进行解码,生成图像帧,具体包括:
将视频文件作为动画或特效的封装载体;
对视频文件进行解码,生成动画或特效的图像帧;
其中,视频文件还包括所述动画或特效对应的声音。
在一些实施例中,前述视频文件的后缀可以包括:avi、mov、mp4、rmvb、rm、mkv等。
在一些实施例中,可以通过硬件解码方式对视频文件进行解码。在其他实施例中,可以通过软件解码方式对视频文件进行解码。
本发明实施例通过将视频文件作为动画或特效的封装载体,解决了特效和动画在软件编码制作上耗时耗力的问题,使得编码人员无需对不同的效果编写不同的代码,大大提高了开发效率,同时解决了3D和粒子效果难以实现的技术问题。
此外,本发明实施例通过将画面颜色信息和透明度信息编码在同一个视频文件中,在一定程度上避免了将画面颜色信息和透明度信息编码在两个不同视频文件中所带来的同步问题和性能开销问题。
通过上述方案,得到的待播放透明视频可以应用于礼物、运营活动以及广告场景等多种场景中,可应用于直播软件中相关礼物特效的实现,还可以应用于各种软件中对视觉效果要求较高的广告、活动等特效的展示。
S120,合并第一子图像帧和第二子图像帧,形成多个透明图像帧。
其中,步骤S120可以细化为以下步骤:
在第一子图像帧的第一预设位置处进行采样,得到第一预设位置处的颜色信息;
在第二子图像帧的第二预设位置处进行采样,得到第二预设位置处的透明度信息;
其中,第一预设位置在第一子图像帧中的位置与第二预设位置在第二子图像帧中的位置相同;
重复上述处理,直至对第一子图像帧和第二子图像帧的所有位置均完成采样,合并相同位置处的颜色信息和透明度信息,形成多个透明图像帧。
作为一个示例,参见图2,图2示出了本发明实施例的合并颜色通道的子图像帧与透明度通道的子图像帧的示意图。
在图2中,左侧画面为第一子图像帧,右侧画面为第二子图像帧,在该实施例中,第一子图像帧为颜色通道的子图像帧,第二子图像帧为透明度通道的子图像帧,以水平方向为X轴方向,竖直方向为Y轴方向建立坐标系,在左侧画面的第一采样点(0.25,0.0)处采样,得到第一采样点(0.25,0.0)处的颜色信息;在右侧画面的第二采样点(0.75,0.0)处采样,得到位置(0.75,0.0)处的透明度信息。
接下来,合并第一采样点(0.25,0.0)处的颜色信息和第二采样点(0.75,0.0)处的透明度信息,得到位置(0.5,0.0)处的渲染结果(透明的画面信息),重复上述处理,直至对左侧画面和右侧画面的所有位置均完成采样,为了简化描述,在此不再赘述。
应该注意的是,如图2所示的第一子图像帧和第二子图像帧的分布方式为左右分布。在其他实施例中,第一子图像帧和第二子图像帧的分布方式可以为上下分布,本发明实施例不对第一子图像帧和第二子图像帧的分布方式进行限定。
此外,作为一个示例,通过开放图形库(Open Graphics Library,OpenGL)技术,对视频文件解码得到的图像帧进行处理,生成透明画面信息。并将透明画面信息渲染到OpenGL绑定的界面上。
其中,OpenGL是用于渲染二维(2D)、三维(3D)矢量图形的跨语言、跨平台的应用程序编程接口(Application Programming Interface,API)。这个接口由近350个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。
通过上述方案,可以实现动态的每一帧透明信息展示不同的播放效果。
其中,所述处理过程可以通过对图形图像处理器(Graphics Processing Unit,GPU)编程实现。具体的实现方法如下:
在前述实施例中,画面可以分为左右两部分,其中左侧部分为画面颜色信息,右侧为透明度信息。
11:x1=textureCoordinateX/2.0;
12:y=textureCoordinateY;
其中,textureCoordinateX,textureCoordinateY分别为片段着色器中当前片段的归一化纹理坐标X和归一化纹理坐标Y。
13:对输入纹理进行采样,采样位置为(x1,y),得到颜色color;
14:x2=textureCoordinateX/2.0+0.5;
15:对输入纹理进行采样,采样位置为(x2,y),得到颜色opacity;
16:最终输出颜色outputColor计算方法为:
outputColor.r=color.r;
outputColor.g=color.g;
outputColor.b=color.b;
outputColor.a=color.a;
其中.r表示对应颜色的红色通道;.b表示对应颜色的蓝色通道;.g表示对应颜色的绿色通道;.a表示对应颜色的透明通道。
本发明实施例通过结合硬件解码和图形图像处理器的硬件加速,在提高了运行效率的前提下,解决了传统视频动画或特效无法实现透明效果,进而导致其无法与软件自身界面设计很好地结合的问题。
S130,基于多个透明图像帧,形成待播放透明视频。
作为一个示例,视频可以是连续的图像,其中包含多幅图像,并包含图像的运动信息,由于人眼识别的频率有限,故当在单位时间内看到的图像数目超过一定数目时,给人眼造成的感觉就是画面是运动的,便形成了视频。
因此,通过形成待播放透明视频的多个透明图像帧,可以形成待播放透明视频。
此外,应该注意的是,在步骤S130中,形成待播放透明视频,除了可以通过前述步骤S110-S130实现之外,还可以通过以下步骤实现,具体步骤如下:
将在绿幕背景下拍摄的视频素材作为视频文件;
利用绿幕背景视频抠图算法,将视频文件中的绿色像素点替换为透明像素点,形成所述待播放透明视频。
作为一个示例,将在绿幕背景下拍摄的视频素材作为视频文件,可通过OpenGLShader脚本绿幕扣图算法,把视频文件中的绿色部分扣除,替换成透明。
S140,将待播放透明视频渲染到渲染界面上。
作为一个示例,将待播放透明视频渲染到OpenGL绑定的渲染界面(即,播放器)上,此时,视频素材是透明渲染,然而播放器界面并不透明。
S150,通过设置渲染界面的多个参数,形成透明渲染界面。步骤S150可以具体细化为S1501-S1502。
S1501,针对第一操作系统,例如安卓(Android)系统,通过设置渲染界面的透明度位数为8,且深度缓存位数为16,形成透明渲染界面。
作为一个示例,通过对渲染界面(包括渲染环境)进行透明属性的设置,使得渲染界面本身层级透明,进而可以将渲染界面添加至具体的业务界面上,实现透明效果。
应该注意的是,渲染界面可以包括渲染环境,并且可以将渲染环境独立于渲染界面进行透明化设置。
在一些实施例中,针对Android系统,通过将渲染界面和渲染环境进行透明化设置,可以得到透明播放器,其中,将渲染界面OpenGL环境设置可透明的方式可以包括:
第一,设置渲染界面透明,即实现可透明的SurfaceView(渲染界面):TransparentSurfaceView(透明渲染界面),具体实现方式如下:
getHolder().setFormat(PixelFormat.TRANSLUCENT);
因此,本发明实施例通过强制配置透明属性可以实现可透明的渲染界面,上述设置渲染界面透明的方式仅为一种示例性实施例,还可以通过其他方式实现渲染界面透明化,例如,PixelFormat.TRANSPARENT和PixelFormat.TRANSLUCENT作用基本一致,二者均可以实现渲染界面透明化,在此不再详述。
第二,设置渲染环境透明,具体地,通过设置OpenGL、EGL配置项如下所示,使得OpenGL渲染环境可以渲染阿尔法(Alpha)通道。
其中,EGL可以用于处理图形管理、表面/缓冲捆绑、渲染同步及支援使用其他Khronos API进行的高效、加速、混合模式2D和3D渲染。Alpha通道可以用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域,其中白表示不透明,黑表示透明,灰表示半透明。
在一个实施例中,可以将红色位数设置为8,将绿色位数设置为8,将蓝色位数设置为8,将透明度位数设置为8,将深度缓存位数设置为16等,使得渲染环境透明。
因此,通过将渲染界面的多个参数,其中多个参数可以包括:红色位数、绿色位数、蓝色位数、透明度位数、和深度缓存位数进行设置,应该注意的是,本发明针对安卓系统的实施例主要通过对透明度位数和深度缓存位数进行设置,实现播放器透明化设置。
S1502,针对第二操作系统,例如IOS系统,通过设置渲染界面的红色位数、绿色位数、蓝色位数中的至少一者为0,且透明度位数为0,形成透明渲染界面。
作为一个示例,针对IOS系统,将渲染界面OpenGL环境和Mental环境设置可透明的方式如下:
首先,在OpenGL环境下,将播放器设置透明化的具体操作如下:
gpuImageView.opaque=NO;
gpuImageView.backgroundColor=[UIColor clearColor];
gpuImageView setBackgroundColor=[Red:0green:0blue:0alpha:0];
其次,在Mentel环境下,将播放器设置透明化的具体操作如下:
metalView.opaque=NO;
metalView.clearColor=MTLClearColorMake(0.0,0.0,0.0,0.0);
metalView.backgroundColor=[UIColor clearColor];
可见,在本发明针对IOS系统的实施例中,无论是OpenGL环境还是Mentel环境下,均可以通过对多个颜色参数进行设置,其中,多个参数包括红色信息、绿色信息、蓝色信息、透明度信息等。在一个优选实施例中,主要是通过对透明度信息进行设置,将渲染界面的背景颜色设置为透明化,进而使得播放器不遮挡播放器下层的展示内容。
S160,基于透明渲染界面播放待播放透明视频。
作为一个示例,通过本发明实施例提供的上述手段,可以实现渲染环境透明化,进而实现渲染界面透明化,以利用透明渲染界面播放透明视频,防止播放器遮挡下层展示内容,进而提升用户体验。
综上,由于普通的播放器承载的特效无法灵活的实现透明效果,特效呈现会完全遮挡应用内容(例如直播场景、主播的脸等),通过本发明实施例提供的透明播放器,可以解决上述问题。
作为一个示例,参考图3和图4,图3示出了利用普通播放器渲染资源的效果;图4示出了本发明实施例的利用透明播放器渲染资源的效果。为了便于比较,图3和图4中利用播放器渲染的是相同资源。
通过比较图3和图4可见,图3所示的普通播放器遮挡了直播画面(例如主播的脸)等,而图4所示的透明播放器未遮挡任何直播画面,提升了用户体验。
此外,传统的特效制作流程可以为:设计出效果;生成视频预览效果;开发人员根据特效进行开发实现;完成开发和设计联调验收;上线使用等。然而,本发明实施例提供的直接依托透明视频播放器的特效制作流程可以为:设计出效果;生成视频效果;上线使用。
综上,本发明实施例提供的透明视频播放器减少了成本最高的开发实现环节,在一定程度上提高了产品的迭代效率。
本发明实施例可提供一种透明视频的播放装置,参考图5,图5示出了本发明实施例的透明视频的播放装置500的结构示意图,该装置包括:
解码模块510,用于对视频文件进行解码,生成图像帧,其中图像帧中的每一帧至少包括第一子图像帧和第二子图像帧,第一子图像帧为颜色通道的子图像帧,第二子图像帧为透明度通道的子图像帧;
合并模块520,用于合并第一子图像帧和第二子图像帧,形成多个透明图像帧;
形成模块530,用于基于多个透明图像帧,形成待播放透明视频;
渲染模块540,用于将待播放透明视频渲染到渲染界面上;
设置模块550,用于通过设置渲染界面的多个参数,形成透明渲染界面;
播放模块560,用于基于透明渲染界面播放待播放透明视频。
利用本发明实施例提供的上述方案,通过利用处理模块将视频文件透明化处理为待播放的透明视频,并利用设置模块将渲染界面设置为透明渲染界面,以利用透明渲染界面播放透明视频,使得在播放炫酷特效的同时,使得播放器不会遮挡播放器下层的展示内容。
并且,通过利用解码模块使得视频文件的图像帧既包含颜色通道的子图像帧,还包括透明度通道的子图像帧,进而可以生成透明视频。
在该实施例中,所述合并模块520具体用于:
在第一子图像帧的第一预设位置处进行采样,得到第一预设位置处的颜色信息;
在第二子图像帧的第二预设位置处进行采样,得到第二预设位置处的透明度信息;
其中,第一预设位置在第一子图像帧中的位置与第二预设位置在第二子图像帧中的位置相同;
重复上述处理,直至对第一子图像帧和第二子图像帧的所有位置均完成采样,合并相同位置处的颜色信息和透明度信息,形成多个透明图像帧。
此外,应该注意的是,在一些实施例中,第一子图像帧和第二子图像帧的分布方式包括:左右分布或上下分布。
前述实施例中的解码模块具体用于:
将视频文件作为动画或特效的封装载体;
对视频文件进行解码,生成动画或特效的图像帧;
其中,视频文件还包括动画或特效对应的声音。
通过本发明实施例的利用视频文件来承载特效和/或动画,解决了传统特效和动画在软件编码制作上耗时耗力的问题。
在其他实施例中,形成模块530还可以包括:
视频文件生成模块,用于将在绿幕背景下拍摄的视频素材作为视频文件;
透明视频生成模块,用于利用绿幕背景视频抠图算法,将视频文件中的绿色像素点替换为透明像素点,形成待播放透明视频。
通过本发明实施例提供的上述方案,可以生成包含透明信息的视频。
在可选实施例中,设置模块550包括:
第一设置子模块,用于针对第一操作系统,通过设置渲染界面的透明度位数为8,且深度缓存位数为16,形成透明渲染界面,其中第一操作系统包括安卓(Android)系统;
第二设置子模块,用于针对第二操作系统,通过设置渲染界面的红色位数、绿色位数、蓝色位数中的至少一者为0,且透明度位数为0,形成透明渲染界面,其中,第二操作系统包括IOS系统。
通过本发明实施例提供的上述方案,通过对渲染界面的相关参数的设置,可以使得渲染界面本身层级透明,进而可以播放包含透明信息的视频,不遮挡播放器下层的展示内容。
根据本发明实施例的透明视频的播放装置的其他细节与以上结合图1至图4描述的根据本发明实施例的透明视频的播放方法类似,在此将不再赘述。
另外,结合图1描述的本发明实施例的透明视频的播放方法可以由透明视频的播放设备来实现。图6示出了本发明实施例的透明视频的播放设备的硬件结构示意图。
透明视频的播放设备可以包括处理器1003以及存储有计算机程序指令的存储器1004。
图6是示出能够实现根据本发明实施例的通信方法和网络服务器的计算设备的示例性硬件架构的结构图。如图6所示,计算设备1000包括输入设备1001、输入接口1002、处理器1003、存储器1004、输出接口1005、以及输出设备1006。
其中,输入接口1002、处理器1003、存储器1004、以及输出接口1005通过总线1010相互连接,输入设备1001和输出设备1006分别通过输入接口1002和输出接口1005与总线1010连接,进而与计算设备1000的其他组件连接。
具体地,输入设备1001接收来自外部的输入信息,并通过输入接口1002将输入信息传送到处理器1003;处理器1003基于存储器1004中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器1004中,然后通过输出接口1005将输出信息传送到输出设备1006;输出设备1006将输出信息输出到计算设备1000的外部供用户使用。
计算设备1000可以执行本申请上述的通信方法中的各步骤。
处理器1003可以是一个或多个中央处理器(英文:Central Processing Unit,CPU)。在处理器1003是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器1004可以是但不限于随机存储存储器(RAM)、只读存储器(ROM),可擦除可编程只读存储器(EPROM)、光盘只读存储器(CD-ROM)、硬盘等中的一种或多种。存储器1004用于存储程序代码。
可以理解的是,在本申请实施例中,图5提供的处理模块至播放模块中任一模块或全部模块的功能可以用图6所示的中央处理器1003实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
Claims (10)
1.一种透明视频的播放方法,其特征在于,所述方法包括:
对视频文件进行解码,生成图像帧,其中所述图像帧中的每一帧至少包括第一子图像帧和第二子图像帧,所述第一子图像帧为颜色通道的子图像帧,所述第二子图像帧为透明度通道的子图像帧;
合并所述第一子图像帧和第二子图像帧,形成多个透明图像帧;
基于所述多个透明图像帧,形成待播放透明视频;
将所述待播放透明视频渲染到渲染界面上;
通过设置所述渲染界面的多个参数,形成透明渲染界面;
基于所述透明渲染界面播放所述待播放透明视频。
2.根据权利要求1所述的方法,其特征在于,所述合并所述第一子图像帧和第二子图像帧,形成多个透明图像帧,包括:
在所述第一子图像帧的第一预设位置处进行采样,得到第一预设位置处的颜色信息;
在所述第二子图像帧的第二预设位置处进行采样,得到第二预设位置处的透明度信息;
其中,所述第一预设位置在第一子图像帧中的位置与所述第二预设位置在第二子图像帧中的位置相同;
重复上述处理,直至对所述第一子图像帧和第二子图像帧的多个位置均完成采样,合并相同位置处的所述颜色信息和透明度信息,形成所述多个透明图像帧。
3.根据权利要求1所述的方法,其特征在于,所述第一子图像帧和第二子图像帧的分布方式为左右分布或上下分布。
4.根据权利要求1所述的方法,其特征在于,所述对所述视频文件进行解码,生成图像帧,包括:
将所述视频文件作为动画或特效的封装载体;
对所述视频文件进行解码,生成所述动画或特效的图像帧;
其中,所述视频文件还包括所述动画或特效对应的声音。
5.根据权利要求1所述的方法,其特征在于,所述形成待播放透明视频,还包括:
将在绿幕背景下拍摄的视频素材作为所述视频文件;
利用绿幕背景视频抠图算法,将所述视频文件中的绿色像素点替换为透明像素点,形成所述待播放透明视频。
6.根据权利要求1所述的方法,其特征在于,所述通过设置所述渲染界面的多个参数,形成透明渲染界面,包括:
针对第一操作系统,通过设置所述渲染界面的透明度位数为8,且深度缓存位数为16,形成所述透明渲染界面;
针对第二操作系统,通过设置所述渲染界面的红色位数、绿色位数、蓝色位数中的至少一者为0,且所述透明度位数为0,形成所述透明渲染界面。
7.一种透明视频的播放装置,其特征在于,所述装置包括:
解码模块,用于对视频文件进行解码,生成图像帧,其中所述图像帧中的每一帧至少包括第一子图像帧和第二子图像帧,所述第一子图像帧为颜色通道的子图像帧,所述第二子图像帧为透明度通道的子图像帧;
合并模块,用于合并所述第一子图像帧和第二子图像帧,形成多个透明图像帧;
形成模块,用于基于所述多个透明图像帧,形成待播放透明视频;
渲染模块,用于将所述待播放透明视频渲染到渲染界面上;
设置模块,用于通过设置所述渲染界面的多个参数,形成透明渲染界面;
播放模块,用于基于所述透明渲染界面播放所述待播放透明视频。
8.根据权利要求7所述的方法,其特征在于,所述设置模块包括:
第一设置子模块,用于针对第一操作系统,通过设置所述渲染界面的透明度位数为8,且深度缓存位数为16,形成所述透明渲染界面;
第二设置子模块,用于针对第二操作系统,通过设置所述渲染界面的红色位数、绿色位数、蓝色位数中的至少一者为0,且所述透明度位数为0,形成所述透明渲染界面。
9.一种透明视频的播放设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910172415.XA CN111669646A (zh) | 2019-03-07 | 2019-03-07 | 透明视频的播放方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910172415.XA CN111669646A (zh) | 2019-03-07 | 2019-03-07 | 透明视频的播放方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111669646A true CN111669646A (zh) | 2020-09-15 |
Family
ID=72381843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910172415.XA Pending CN111669646A (zh) | 2019-03-07 | 2019-03-07 | 透明视频的播放方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111669646A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112135161A (zh) * | 2020-09-25 | 2020-12-25 | 广州华多网络科技有限公司 | 虚拟礼物的动效展示方法及装置、存储介质及电子设备 |
CN112929682A (zh) * | 2021-01-21 | 2021-06-08 | 广州虎牙科技有限公司 | 对图像背景进行透明处理的方法、装置、系统及电子设备 |
CN113115097A (zh) * | 2021-03-30 | 2021-07-13 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置、电子设备和存储介质 |
CN113645476A (zh) * | 2021-08-06 | 2021-11-12 | 广州博冠信息科技有限公司 | 画面处理方法、装置、电子设备及存储介质 |
CN113691866A (zh) * | 2021-08-24 | 2021-11-23 | 北京百度网讯科技有限公司 | 视频处理方法、装置、电子设备和介质 |
CN113992950A (zh) * | 2021-10-26 | 2022-01-28 | 京东方科技集团股份有限公司 | 一种播放控制方法、装置、系统及存储介质 |
CN114173157A (zh) * | 2021-12-10 | 2022-03-11 | 广州博冠信息科技有限公司 | 视频流传输方法及装置、电子设备、存储介质 |
CN114374867A (zh) * | 2022-01-19 | 2022-04-19 | 平安国际智慧城市科技股份有限公司 | 多媒体数据的处理方法、装置及介质 |
CN114640883A (zh) * | 2022-02-25 | 2022-06-17 | 北京三快在线科技有限公司 | 动效处理方法、客户端、服务器、电子设备及存储介质 |
CN115103228A (zh) * | 2022-06-16 | 2022-09-23 | 深圳市欢太科技有限公司 | 视频流传输方法、装置、电子设备、存储介质及产品 |
CN115484487A (zh) * | 2022-08-23 | 2022-12-16 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
WO2024120529A1 (zh) * | 2022-12-08 | 2024-06-13 | 北京冰封互娱科技有限公司 | 动画播放方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060098030A1 (en) * | 2004-08-11 | 2006-05-11 | Via Technologies Inc. | Video display apparatuses and display methods thereof |
CN1928910A (zh) * | 2006-09-18 | 2007-03-14 | 何金鑫 | 提高互联网广告传播有效性的方法 |
US20090262122A1 (en) * | 2008-04-17 | 2009-10-22 | Microsoft Corporation | Displaying user interface elements having transparent effects |
CN101742173A (zh) * | 2008-11-12 | 2010-06-16 | 中兴通讯股份有限公司 | 一种支持观看两路视频的方法及网络互动电视系统 |
CN102221953A (zh) * | 2010-04-14 | 2011-10-19 | 上海中标软件有限公司 | 一种透明用户界面视频播放器的实现方法及其播放器 |
CN104038807A (zh) * | 2014-06-13 | 2014-09-10 | Tcl集团股份有限公司 | 一种基于OpenGL的图层混合方法及装置 |
CN105453014A (zh) * | 2013-07-31 | 2016-03-30 | 谷歌公司 | 可调节的视频播放器 |
CN107396002A (zh) * | 2017-06-26 | 2017-11-24 | 广州华多网络科技有限公司 | 一种视频图像的处理方法及移动终端 |
CN107770618A (zh) * | 2017-11-02 | 2018-03-06 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置及存储介质 |
CN108235055A (zh) * | 2017-12-15 | 2018-06-29 | 苏宁云商集团股份有限公司 | Ar场景中透明视频实现方法及设备 |
-
2019
- 2019-03-07 CN CN201910172415.XA patent/CN111669646A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060098030A1 (en) * | 2004-08-11 | 2006-05-11 | Via Technologies Inc. | Video display apparatuses and display methods thereof |
CN1928910A (zh) * | 2006-09-18 | 2007-03-14 | 何金鑫 | 提高互联网广告传播有效性的方法 |
US20090262122A1 (en) * | 2008-04-17 | 2009-10-22 | Microsoft Corporation | Displaying user interface elements having transparent effects |
CN101742173A (zh) * | 2008-11-12 | 2010-06-16 | 中兴通讯股份有限公司 | 一种支持观看两路视频的方法及网络互动电视系统 |
CN102221953A (zh) * | 2010-04-14 | 2011-10-19 | 上海中标软件有限公司 | 一种透明用户界面视频播放器的实现方法及其播放器 |
CN105453014A (zh) * | 2013-07-31 | 2016-03-30 | 谷歌公司 | 可调节的视频播放器 |
CN104038807A (zh) * | 2014-06-13 | 2014-09-10 | Tcl集团股份有限公司 | 一种基于OpenGL的图层混合方法及装置 |
CN107396002A (zh) * | 2017-06-26 | 2017-11-24 | 广州华多网络科技有限公司 | 一种视频图像的处理方法及移动终端 |
CN107770618A (zh) * | 2017-11-02 | 2018-03-06 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置及存储介质 |
CN108235055A (zh) * | 2017-12-15 | 2018-06-29 | 苏宁云商集团股份有限公司 | Ar场景中透明视频实现方法及设备 |
Non-Patent Citations (1)
Title |
---|
魏三强: "一种AR互动大屏开发中的透明视频播放技术", 《贵州大学学报(自然科学版)》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112135161A (zh) * | 2020-09-25 | 2020-12-25 | 广州华多网络科技有限公司 | 虚拟礼物的动效展示方法及装置、存储介质及电子设备 |
CN112929682B (zh) * | 2021-01-21 | 2023-03-24 | 广州虎牙科技有限公司 | 对图像背景进行透明处理的方法、装置、系统及电子设备 |
CN112929682A (zh) * | 2021-01-21 | 2021-06-08 | 广州虎牙科技有限公司 | 对图像背景进行透明处理的方法、装置、系统及电子设备 |
CN113115097A (zh) * | 2021-03-30 | 2021-07-13 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置、电子设备和存储介质 |
CN113115097B (zh) * | 2021-03-30 | 2023-05-09 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置、电子设备和存储介质 |
CN113645476A (zh) * | 2021-08-06 | 2021-11-12 | 广州博冠信息科技有限公司 | 画面处理方法、装置、电子设备及存储介质 |
CN113645476B (zh) * | 2021-08-06 | 2023-10-03 | 广州博冠信息科技有限公司 | 画面处理方法、装置、电子设备及存储介质 |
CN113691866A (zh) * | 2021-08-24 | 2021-11-23 | 北京百度网讯科技有限公司 | 视频处理方法、装置、电子设备和介质 |
CN113691866B (zh) * | 2021-08-24 | 2024-05-31 | 北京百度网讯科技有限公司 | 视频处理方法、装置、电子设备和介质 |
CN113992950A (zh) * | 2021-10-26 | 2022-01-28 | 京东方科技集团股份有限公司 | 一种播放控制方法、装置、系统及存储介质 |
CN113992950B (zh) * | 2021-10-26 | 2024-05-17 | 京东方科技集团股份有限公司 | 一种播放控制方法、装置、系统及存储介质 |
CN114173157A (zh) * | 2021-12-10 | 2022-03-11 | 广州博冠信息科技有限公司 | 视频流传输方法及装置、电子设备、存储介质 |
CN114374867A (zh) * | 2022-01-19 | 2022-04-19 | 平安国际智慧城市科技股份有限公司 | 多媒体数据的处理方法、装置及介质 |
CN114374867B (zh) * | 2022-01-19 | 2024-03-15 | 平安国际智慧城市科技股份有限公司 | 多媒体数据的处理方法、装置及介质 |
CN114640883A (zh) * | 2022-02-25 | 2022-06-17 | 北京三快在线科技有限公司 | 动效处理方法、客户端、服务器、电子设备及存储介质 |
CN115103228A (zh) * | 2022-06-16 | 2022-09-23 | 深圳市欢太科技有限公司 | 视频流传输方法、装置、电子设备、存储介质及产品 |
CN115484487A (zh) * | 2022-08-23 | 2022-12-16 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
CN115484487B (zh) * | 2022-08-23 | 2023-12-05 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
WO2024120529A1 (zh) * | 2022-12-08 | 2024-06-13 | 北京冰封互娱科技有限公司 | 动画播放方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111669646A (zh) | 透明视频的播放方法、装置、设备及介质 | |
CN106611435B (zh) | 动画处理方法和装置 | |
US9374552B2 (en) | Streaming game server video recorder | |
US11074762B2 (en) | Method of modifying ray tracing samples after rendering and before rasterizing | |
CN105447898A (zh) | 一种虚拟现实设备中显示2d应用界面的方法和装置 | |
CN113457160B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
US10935788B2 (en) | Hybrid virtual 3D rendering approach to stereovision | |
US10681325B2 (en) | Continuous depth-ordered image compositing | |
WO2020258907A1 (zh) | 虚拟物品的生成方法、装置及设备 | |
EP3676806A1 (en) | Method of modifying ray tracing samples after rendering and before rasterizing | |
WO2019118028A1 (en) | Methods, systems, and media for generating and rendering immersive video content | |
CN113411660B (zh) | 视频数据的处理方法、装置和电子设备 | |
CN113411661B (zh) | 用于记录信息的方法、装置、设备、存储介质及程序产品 | |
WO2024067159A1 (zh) | 视频生成方法、装置、电子设备及存储介质 | |
CN110996087B (zh) | 视频显示方法、装置 | |
CN112954452A (zh) | 视频生成方法、装置、终端及存储介质 | |
CN116055540B (zh) | 虚拟内容的显示系统、方法、设备及计算机可读介质 | |
CN111698533A (zh) | 一种视频处理方法、装置、设备和存储介质 | |
CA2799016A1 (en) | Updating graphical display content | |
CN118541729A (zh) | 基于面部特征创建效果 | |
US11677979B2 (en) | Freeview video coding | |
CN115396674A (zh) | 用于处理至少一个图像帧的方法、装置、介质及计算装置 | |
JP4260747B2 (ja) | 動画像構成方法及びシーン構成方法 | |
CN114693780A (zh) | 图像的处理方法、装置、设备、存储介质和程序产品 | |
CN114359081A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200915 |