CN107728997B - 一种视频播放器渲染系统 - Google Patents
一种视频播放器渲染系统 Download PDFInfo
- Publication number
- CN107728997B CN107728997B CN201711043311.6A CN201711043311A CN107728997B CN 107728997 B CN107728997 B CN 107728997B CN 201711043311 A CN201711043311 A CN 201711043311A CN 107728997 B CN107728997 B CN 107728997B
- Authority
- CN
- China
- Prior art keywords
- player
- rendering
- window
- handle
- processing 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Abstract
本发明提供了一种视频播放器渲染系统,通过窗口管理层创建有窗口句柄与无窗口句柄播放器,并对有窗口句柄与无窗口句柄播放器进行管理,与相关技术中有窗口句柄的播放器对图像进行渲染过程中,GUI相关高级交互受播放器窗口句柄影响,通常借用层叠窗口来实现高级交互相比,将有窗口句柄播放器渲染器的对应简单播放集成方便、开发效率高,以及无窗口句柄播放器渲染器在有高级GUI交互、界面开发灵活的特点结合,方便GUI开发能够灵活选择渲染方案,提高开发效率。
Description
技术领域
本发明涉及视频处理技术领域,具体而言,涉及一种视频播放器渲染系统。
背景技术
目前,播放器渲染器,包括:有窗口句柄的播放器渲染器和无窗口句柄的播放器渲染器。
有窗口句柄的播放器渲染器,一直是过去开发的主流方式,渲染器拥有窗口句柄,同时处理一些系统和用户的消息。无窗口句柄的播放器渲染器,由于没有窗口句柄,不再响应系统和用户相关消息,大大减轻渲染器在应用(Application,APP)中的功能负载,同时图形用户界面(Graphical User Interface,GUI)开发能够更加灵活处理相关异形渲染窗口,和高级的GUI交互,整个APP的GUI界面表达更加丰富。
常用的有窗口句柄播放器渲染器和无窗口播放器渲染器的图像开发技术有3D加速卡(Direct3D,D3D)、开放图形库(Open Graphics Library,OPENGL)、以及图形设备接口(Graphics Device Interface plus,GDI+)等,它们负责整个渲染器下的图像表达功能。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
有窗口句柄的播放器对图像进行渲染过程中,GUI相关高级交互受播放器窗口句柄影响,通常借用层叠窗口来实现高级交互,从而影响GUI开发效率,增加开发负担。
发明内容
有鉴于此,本发明实施例的目的在于提供一种视频播放器渲染系统,以结合有窗口句柄播放器渲染器的对应简单播放集成方便,开发效率高,以及无窗口句柄播放器渲染器在有高级GUI交互,界面开发灵活的特点。
第一方面,本发明实施例提供了一种视频播放器渲染系统,包括:应用层、窗口管理层、以及渲染层;
所述窗口管理层分别与应用层和渲染层交互;
所述应用层,用于获取外部需求,并将外部需求发送给所述窗口管理层,使得窗口管理层创建播放器,所述播放器包括:有窗口句柄播放器和无窗口句柄播放器;
所述窗口管理层,用于根据所述应用层获取到的外部需求创建播放器,并对有创建的播放器进行管理;
所述渲染层,用于对所述窗口管理层创建的播放器中的图像进行渲染。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中:所述窗口管理层,包括:
播放器窗口管理模块、有窗口句柄播放器处理模块和无窗口句柄播放器处理模块;
所述播放器窗口管理模块,分别与有窗口句柄播放器处理模块和无窗口句柄播放器处理模块交互;
所述播放器窗口管理模块,对所述应用层提供统一调用接口,用于根据所述应用层获取到的外部需求调用有窗口句柄播放器处理模块或者无窗口句柄播放器处理模块;
所述有窗口句柄播放器处理模块,用于根据播放器窗口管理模块的调用,创建有窗口句柄播放器;
所述无窗口句柄播放器处理模块,用于根据播放器窗口管理模块的调用,创建无窗口句柄播放器。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中:所述有窗口句柄播放器处理模块,还用于调度和销毁创建的有窗口句柄播放器。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中:所述无窗口句柄播放器处理模块,还用于调度和销毁创建的无窗口句柄播放器。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中:所述有窗口句柄播放器处理模块,还用于对操作系统的窗口进行缩放和重绘。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中:所述窗口管理层,还包括:消息处理器;
所述消息处理器与所述有窗口句柄播放器处理模块交互;
所述消息处理器,用于获取操作系统窗口处理指令,并将获取到的操作系统窗口处理指令发送到所述有窗口句柄播放器处理模块,使得有窗口句柄播放器处理模块对操作系统的窗口进行缩放和重绘。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中:所述渲染层,包括渲染管理器和多个渲染设备;
所述渲染管理器,用于从所述多个渲染设备中选择渲染设备对所述窗口管理层创建的播放器中的图像进行渲染;
所述渲染设备,用于提供图像渲染功能,并在渲染管理器的选择下对所述窗口管理层创建的播放器中的图像进行渲染。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中:所述渲染管理器,具体用于:
当窗口管理层创建播放器且多个渲染设备中具有未对创建的播放器渲染的渲染设备时,从未对创建的所述播放器渲染的渲染设备中选择一个渲染设备;
通过所选择的渲染设备对创建的=播放器进行渲染,得到渲染结果;
当渲染结果错误时,调整所选择的渲染设备的渲染参数,并通过渲染参数调整后的渲染设备再次对创建的=播放器进行渲染,得到二次渲染结果;
当所述二次渲染结果错误时,执行从未对创建的所述播放器渲染的渲染设备中选择一个渲染设备的步骤。
结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中:所述渲染管理器,还具体用于:
当渲染结果正确时,对所述窗口管理层创建的播放器中的图像进行渲染。
结合第一方面,本发明实施例提供了第一方面的第九种可能的实施方式,其中:所述多个渲染设备,包括:图形设备接口(Graphics Device Interface,GDI)渲染设备、GDI+渲染设备、OPENGL渲染设备以及D3D渲染设备。
本发明实施例提供的一种视频播放器渲染系统,通过窗口管理层创建播放器,并对播放器进行管理,与相关技术中有窗口句柄的播放器对图像进行渲染过程中,GUI相关高级交互受播放器窗口句柄影响,通常借用层叠窗口来实现高级交互相比,将有窗口句柄播放器渲染器的对应简单播放集成方便、开发效率高,以及无窗口句柄播放器渲染器在有高级GUI交互、界面开发灵活的特点结合,方便GUI开发能够灵活选择渲染方案,提高开发效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了可应用于本发明实施例所提供的视频播放器渲染系统的服务器的结构框图;
图2示出了本发明实施例所提供的视频播放器渲染系统的概括示意图;
图3示出了本发明实施例所提供的视频播放器渲染系统的具体示意图;
图4示出了本发明实施例所提供的视频播放器渲染系统中,渲染管理器的图像渲染流程图。
图标:100-应用层;110-窗口管理层;120-渲染层;102-外部调用系统;112-播放器窗口管理模块;114-有窗口句柄播放器处理模块;116-无窗口句柄播放器处理模块;118-消息处理器;122-渲染管理器;124-渲染设备;200-服务器;201-存储器;202-处理器;203-网络模块;221-操作系统;222-服务模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,有窗口句柄的播放器渲染器,一直是过去开发的主流方式,渲染器拥有窗口句柄,同时处理一些系统和用户的消息。无窗口句柄的播放器渲染器,由于没有窗口句柄,不再响应系统和用户相关消息,大大减轻渲染器在APP中的功能负载,同时GUI开发能够更加灵活处理相关异形渲染窗口,和高级的GUI交互,整个APP的GUI界面表达更加丰富。有窗口句柄的播放器对图像进行渲染过程中,GUI相关高级交互受播放器窗口句柄影响,通常借用层叠窗口来实现高级交互,从而影响GUI开发效率,增加开发负担。基于此,本申请提供的一种视频播放器渲染系统。
实施例
本实施例提出一种视频播放器渲染系统,该视频播放器渲染系统可以设置在下述的服务器中执行,图1示出了一种可应用于本实施例中的服务器的结构框图。如图1所示,服务器200包括:存储器201、处理器202以及网络模块203。
存储器201可用于存储软件程序以及模块,如本发明实施例中的视频播放器渲染系统的功能对应的程序指令/模块,处理器202通过运行存储在存储器201内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本实施例中的视频播放器渲染系统的功能。存储器201可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。进一步地,上述软件程序以及模块还可包括:操作系统221以及服务模块222。其中操作系统221,例如可为LINUX、UNIX、WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块222运行在操作系统221的基础上,并通过操作系统221的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块222用于向客户端提供网络服务。
网络模块203用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。
可以理解,图1所示的结构仅为示意,服务器200还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器。
参见图2至图3所示的一种视频播放器渲染系统的结构示意图,本实施例提出一种视频播放器渲染系统,包括:应用层100、窗口管理层110、以及渲染层120;
上述窗口管理层110分别与应用层100和渲染层120交互;
上述应用层100,用于获取外部需求,并将外部需求发送给上述窗口管理层110,使得窗口管理层110创建播放器,上述播放器包括:有窗口句柄播放器和无窗口句柄播放器;
上述窗口管理层110,用于根据上述应用层100获取到的外部需求创建播放器,并对有播放器进行管理;
上述渲染层120,用于对上述窗口管理层110创建的播放器中的图像进行渲染。
上述应用层100中设置有外部调用系统102,用于获取外部需求。
上述外部需求,包括:若上层应用程序界面采用D3D技术,实现无句柄窗口时,那么视频播放器渲染系统就需要提供无窗口句柄播放器;如果上层应用程序界面不采用无句柄窗口,而是传统窗口界面方式;则视频播放器渲染系统就需要提供有窗口句柄播放器。
为了使窗口管理层110能够创建有窗口句柄播放器和无窗口句柄播放器,具体地,上述窗口管理层110,包括:播放器窗口管理模块112、有窗口句柄播放器处理模块114和无窗口句柄播放器处理模块116;
上述播放器窗口管理模块112,分别与有窗口句柄播放器处理模块114和无窗口句柄播放器处理模块116交互;
上述播放器窗口管理模块112,对上述应用层100提供统一调用接口,用于根据上述应用层100获取到的外部需求调用有窗口句柄播放器处理模块114或者无窗口句柄播放器处理模块116;
上述有窗口句柄播放器处理模块114,用于根据播放器窗口管理模块112的调用,创建有窗口句柄播放器;
上述无窗口句柄播放器处理模块116,用于根据播放器窗口管理模块112的调用,创建无窗口句柄播放器。
具体地,上述有窗口句柄播放器处理模块114,还用于调度和销毁创建的有窗口句柄播放器。
上述无窗口句柄播放器处理模块116,还用于调度和销毁创建的无窗口句柄播放器。
其中,上述创建,是指播放器根据当前操作系统的特点,采用不同渲染技术,创建对播放器进行渲染操作的渲染设备。
上述调度,是指服务器上当前安装的操作系统,选择不同渲染技术,在渲染失败的情况下,切换到其他渲染技术对创建的播放器进行渲染;例如XP以下的操作系统,可优先采用GDI渲染设备渲染;在vista到win8的操作系统,可以优先采用d3d9渲染设备,如果d3d9渲染设备创建失败,再选择GDI+渲染设备渲染;若失败,还可选择GDI渲染设备渲染;对于WIN10以上系统可以直接选择D3D11渲染设备渲染,若失败,再切换到d3d9渲染设备,若再失败,则切换到GDI渲染设备进行渲染,直到渲染成功为止。
上述销毁,是指将创建的渲染设备销毁,释放系统资源。
为了对创建的有窗口句柄播放器进行操作,上述有窗口句柄播放器处理模块114,还用于对操作系统的窗口进行缩放和重绘。
上述操作系统窗口的缩放,是由操作系统提供的基础功能,有窗口句柄播放器处理模块114响应操作系统的缩放消息,调用操作系统中的缩放函数,实现对窗口的缩放操作。
上述操作系统窗口的重绘,是由操作系统提供的基础功能,有窗口句柄播放器处理模块114响应操作系统的重绘消息,调用操作系统中的重绘函数,实现对窗口的重绘操作。
为了使有窗口句柄播放器处理模块114能够响应操作系统的缩放消息或者重绘消息,本实施例提出的视频播放器渲染系统,上述窗口管理层,还包括:消息处理器118;
上述消息处理器118与上述有窗口句柄播放器处理模块114交互;
上述消息处理器118,用于获取操作系统窗口处理指令,并将获取到的操作系统窗口处理指令发送到上述有窗口句柄播放器处理模块114,使得有窗口句柄播放器处理模块114对操作系统的窗口进行缩放和重绘。
上述操作系统窗口处理指令,由操作系统根据用户的操作触发得到。
具体地,上述渲染层120,包括:渲染管理器122和多个渲染设备124;
上述渲染管理器122,用于从上述多个渲染设备124中选择渲染设备对上述窗口管理层110创建的播放器中的图像进行渲染;
上述渲染设备124,用于提供图像渲染功能,并在渲染管理器122的选择下对上述窗口管理层110创建的播放器中的图像进行渲染。
上述多个渲染设备,包括:GDI渲染设备、GDI+渲染设备、OPENGL渲染设备以及D3D渲染设备。
上述GDI渲染设备:采用操作系统的提供的GDI技术进行图像的绘制。
上述GDI+渲染设备:采用操作系统提供的GDI+技术进行图像的绘制。
上述OPENGL渲染设备:采用操作系统提供的OPENGL技术进行图像的绘制。
上述D3D渲染设备:采用操作系统提供的D3D9/D3D10/D3D11/D3D12等D3D技术进行图像绘制。
综上所述,本实施例提供的一种视频播放器渲染系统,通过窗口管理层创建播放器,并对播放器进行管理,与相关技术中有窗口句柄的播放器对图像进行渲染过程中,GUI相关高级交互受播放器窗口句柄影响,通常借用层叠窗口来实现高级交互相比,将有窗口句柄播放器渲染器的对应简单播放集成方便、开发效率高,以及无窗口句柄播放器渲染器在有高级GUI交互、界面开发灵活的特点结合,方便GUI开发能够灵活选择渲染方案,提高开发效率。
相关技术中,在对有窗口句柄播放器或者无窗口句柄播放器中的图像进行渲染的过程中,在外部渲染设备变动的情况下,无法响应外部的变化,导致渲染失败。为了在外部渲染设备变动的情况时能够响应外部的变化,本实施例提出的视频播放器渲染系统中,参见图4所示的渲染管理器的图像渲染流程,上述渲染管理器,具体用于执行以下步骤400至步骤406:
步骤400、当窗口管理层创建播放器且多个渲染设备中具有未对创建的播放器渲染的渲染设备时,从未对创建的上述播放器渲染的渲染设备中选择一个渲染设备。
步骤402、通过所选择的渲染设备对创建的播放器进行渲染,得到渲染结果。
步骤404、当渲染结果错误时,调整所选择的渲染设备的渲染参数,并通过渲染参数调整后的渲染设备再次对创建的播放器进行渲染,得到二次渲染结果。
步骤406、当上述二次渲染结果错误时,执行从未对创建的上述播放器渲染的渲染设备中选择一个渲染设备的步骤。
在上述步骤404中,上述渲染管理器可以在对创建的有窗口句柄播放器或者无窗口句柄播放器进行渲染过程中,会调用操作系统的相关绘图接口进行渲染操作,操作系统的绘图接口在渲染操作完成后,会将渲染结果成功或渲染结果错误的信息返回给渲染管理器。所以,当上述渲染管理器获取到绘图接口返回的渲染结果错误的信息时,就会执行步骤404所描述的具体流程。
这里,调整所选择的渲染设备的渲染参数,是根据系统绘图接口调用返回的结果渲染结果进行渲染设备的渲染参数的调整。
例如,使用D3D渲染设备对当前操作系统的播放器进行渲染时,若播放器的颜色模型是真彩色;那么D3D渲染设备准备的参数与当前的颜色模型匹配;但是在播放视频过程中,用户将播放器的颜色模型从真彩色切换到增强色,会导致D3D渲染设备前期准备的相关参数无效,从而导致渲染失败;这时,渲染管理器会根据当前播放器的颜色模型参数对D3D渲染设备的颜色模型参数进行调整。
进一步地,上述渲染管理器的图像渲染流程中,上述渲染管理器,还具体用于:
当渲染结果正确时,对上述窗口管理层创建有窗口句柄或者无窗口句柄播放器中的图像进行渲染。
提高以下示例对上述渲染管理器的图像渲染流程作进一步描述:
渲染设备在初始化成功后,遇到绘图失败的情况下,通过该机制进行正确把图像正确绘制出来:
例如当前操作系统选择win7,初始化渲染设备是D3D渲染设备;当在播放视频的过程中,如遇到硬件设备发生异常,如用户改变操作系统的窗口尺寸,或系统的验证精度,都会导致D3D渲染设备异常,无法正常渲染图像。这时渲染管理器首先将渲染设备从D3D渲染设备切换到GDI+渲染设备,对当前待渲染图像进行渲染,如果渲染成功,那么就继续进行播放,否则渲染失败,那么再将渲染设备切换到除GDI+渲染设备以及D3D渲染设备之外的其他渲染设备,例如GDI渲染设备,这个过程循环反复,在能够选择的多个渲染设备中进行选择,一直到渲染结果成功为止。
通过以上的描述可以看出,当窗口管理层创建有窗口句柄播放器或者无窗口句柄播放器且多个渲染设备中具有未对创建的有窗口句柄播放器或者无窗口句柄播放器渲染的渲染设备时,从未对创建的有窗口句柄播放器或者无窗口句柄播放器渲染的渲染设备中选择一个渲染设备对当前创建的有窗口句柄播放器或者无窗口句柄播放器中的图像进行渲染操作直到渲染成功,即使在外部渲染设备变动也能够响应外部的变化,对播放器中的图像渲染成功,大大提高了对播放器中图像的渲染成功率。
本发明实施例所提供的进行视频播放器渲染系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (7)
1.一种视频播放器渲染系统,其特征在于,包括:应用层、窗口管理层、以及渲染层;
所述窗口管理层分别与应用层和渲染层交互;
所述应用层,用于获取外部需求,并将外部需求发送给所述窗口管理层,使得窗口管理层创建播放器,所述播放器包括:有窗口句柄播放器和无窗口句柄播放器;
所述窗口管理层,用于根据所述应用层获取到的外部需求创建播放器,并对创建的播放器进行管理;
所述渲染层,用于对所述窗口管理层创建的播放器中的图像进行渲染;
所述窗口管理层,包括:
播放器窗口管理模块、有窗口句柄播放器处理模块和无窗口句柄播放器处理模块;
所述播放器窗口管理模块,分别与有窗口句柄播放器处理模块和无窗口句柄播放器处理模块交互;
所述播放器窗口管理模块,对所述应用层提供统一调用接口,用于根据所述应用层获取到的外部需求调用有窗口句柄播放器处理模块或者无窗口句柄播放器处理模块;
所述有窗口句柄播放器处理模块,用于根据播放器窗口管理模块的调用,创建有窗口句柄播放器;
所述无窗口句柄播放器处理模块,用于根据播放器窗口管理模块的调用,创建无窗口句柄播放器;
所述渲染层,包括渲染管理器和多个渲染设备;
所述渲染管理器,用于从所述多个渲染设备中选择渲染设备对所述窗口管理层创建的播放器中的图像进行渲染;
所述渲染设备,用于提供图像渲染功能,并在渲染管理器的选择下对所述窗口管理层创建的播放器中的图像进行渲染;
所述渲染管理器,具体用于:
当窗口管理层创建播放器且多个渲染设备中具有未对创建的播放器渲染的渲染设备时,从未对创建的所述播放器渲染的渲染设备中选择一个渲染设备;
通过所选择的渲染设备对创建的播放器进行渲染,得到渲染结果;
当渲染结果错误时,调整所选择的渲染设备的渲染参数,并通过渲染参数调整后的渲染设备再次对创建的播放器进行渲染,得到二次渲染结果;
当所述二次渲染结果错误时,执行从未对创建的所述播放器渲染的渲染设备中选择一个渲染设备的步骤。
2.根据权利要求1所述的视频播放器渲染系统,其特征在于,所述有窗口句柄播放器处理模块,还用于调度和销毁创建的有窗口句柄播放器。
3.根据权利要求1所述的视频播放器渲染系统,其特征在于,所述无窗口句柄播放器处理模块,还用于调度和销毁创建的无窗口句柄播放器。
4.根据权利要求1所述的视频播放器渲染系统,其特征在于,所述有窗口句柄播放器处理模块,还用于对操作系统的窗口进行缩放和重绘。
5.根据权利要求1所述的视频播放器渲染系统,其特征在于,所述窗口管理层,还包括:消息处理器;
所述消息处理器与所述有窗口句柄播放器处理模块交互;
所述消息处理器,用于获取操作系统窗口处理指令,并将获取到的操作系统窗口处理指令发送到所述有窗口句柄播放器处理模块,使得有窗口句柄播放器处理模块对操作系统的窗口进行缩放和重绘。
6.根据权利要求1所述的视频播放器渲染系统,其特征在于,所述渲染管理器,还具体用于:
当渲染结果正确时,对所述窗口管理层创建的播放器中的图像进行渲染。
7.根据权利要求1所述的视频播放器渲染系统,其特征在于,所述多个渲染设备,包括:GDI渲染设备、GDI+渲染设备、OPENGL渲染设备以及D3D渲染设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711043311.6A CN107728997B (zh) | 2017-10-31 | 2017-10-31 | 一种视频播放器渲染系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711043311.6A CN107728997B (zh) | 2017-10-31 | 2017-10-31 | 一种视频播放器渲染系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107728997A CN107728997A (zh) | 2018-02-23 |
CN107728997B true CN107728997B (zh) | 2020-09-11 |
Family
ID=61203414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711043311.6A Active CN107728997B (zh) | 2017-10-31 | 2017-10-31 | 一种视频播放器渲染系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107728997B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458925B (zh) * | 2019-07-26 | 2023-09-26 | 北京达佳互联信息技术有限公司 | 一种动画素材播放方法、装置、电子设备和存储介质 |
CN112929740B (zh) * | 2021-01-20 | 2023-06-27 | 广州虎牙科技有限公司 | 一种渲染视频流的方法、装置、存储介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102867284A (zh) * | 2011-07-07 | 2013-01-09 | 腾讯科技(深圳)有限公司 | 一种图形绘制引擎及其实现方法 |
CN103617027A (zh) * | 2013-10-29 | 2014-03-05 | 合一网络技术(北京)有限公司 | 基于安卓系统的图像渲染引擎构建方法及系统 |
CN104268251A (zh) * | 2014-09-30 | 2015-01-07 | 北京奇虎科技有限公司 | 一种网页中视频元素的播放方法和装置 |
CN106101751A (zh) * | 2016-06-07 | 2016-11-09 | 西安诺瓦电子科技有限公司 | 基于Android操作系统的播放器以及嵌入式播放盒 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7224368B2 (en) * | 2003-12-10 | 2007-05-29 | Microsoft Corporation | Rendering tear free video |
US20080281689A1 (en) * | 2007-05-09 | 2008-11-13 | Yahoo! Inc. | Embedded video player advertisement display |
CN101493837B (zh) * | 2009-02-25 | 2012-06-27 | 腾讯科技(深圳)有限公司 | 多页面浏览器中的网络视频的处理方法及处理装置 |
CN103700385A (zh) * | 2012-09-27 | 2014-04-02 | 深圳市快播科技有限公司 | 媒体播放器和播放方法、硬件加速下的视频的后处理方法 |
CN105100916B (zh) * | 2015-07-09 | 2019-03-08 | 北京奇虎科技有限公司 | 一种视频播放器的制作方法和装置 |
CN107071557A (zh) * | 2017-04-27 | 2017-08-18 | 中兴通讯股份有限公司 | 一种播放视频的方法和设备 |
-
2017
- 2017-10-31 CN CN201711043311.6A patent/CN107728997B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102867284A (zh) * | 2011-07-07 | 2013-01-09 | 腾讯科技(深圳)有限公司 | 一种图形绘制引擎及其实现方法 |
CN103617027A (zh) * | 2013-10-29 | 2014-03-05 | 合一网络技术(北京)有限公司 | 基于安卓系统的图像渲染引擎构建方法及系统 |
CN104268251A (zh) * | 2014-09-30 | 2015-01-07 | 北京奇虎科技有限公司 | 一种网页中视频元素的播放方法和装置 |
CN106101751A (zh) * | 2016-06-07 | 2016-11-09 | 西安诺瓦电子科技有限公司 | 基于Android操作系统的播放器以及嵌入式播放盒 |
Also Published As
Publication number | Publication date |
---|---|
CN107728997A (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019233201B2 (en) | Resource configuration method and apparatus, terminal, and storage medium | |
EP2875425B1 (en) | Providing access to a remote application via a web client | |
CN105357258B (zh) | 一种加速管理节点、加速节点、客户端及方法 | |
US10904318B2 (en) | Imaging system and a communication platform for communication among a plurality of nodes of the imaging system | |
CN103701807A (zh) | 一种vdi环境下的数据发送方法和装置 | |
EP1331556B1 (en) | Server-based computer environment | |
EP2914040A1 (en) | Terminal and synchronization control method thereof | |
CN110058905B (zh) | 事件处理及操作系统管理方法、装置、设备以及存储介质 | |
CN109725977B (zh) | 一种基于Android系统的多应用显示方法及终端设备 | |
CN107728997B (zh) | 一种视频播放器渲染系统 | |
CN113900754A (zh) | 共享桌面方法、装置、计算机设备和存储介质 | |
CN110955499A (zh) | 处理器核心配置方法、装置、终端及存储介质 | |
CN112486806A (zh) | 一种测试用例执行方法、装置、电子设备和可读存储介质 | |
CN113268286A (zh) | 一种应用启动方法、装置、投影设备及存储介质 | |
CN112596852A (zh) | 一种图形显示方法、装置、系统、电子设备及存储介质 | |
US9892255B2 (en) | Presenting service processes | |
KR20130108952A (ko) | 안드로이드 플랫폼 상에서 별도 어플리케이션 패키지를 이용한 화면 분할 방법 | |
CN115437810A (zh) | 渲染任务处理方法、装置、设备和介质 | |
CN114020396A (zh) | 应用程序的显示方法和应用程序的数据生成方法 | |
CN110968383B (zh) | 一种消息框的显示方法及装置、终端、存储介质 | |
US9674307B1 (en) | Running mobile applications in a distributed client-server model using selective delegation of hardware and software contexts to the client | |
CN114416381B (zh) | 处理资源超分方法、装置、设备及存储介质 | |
CN109710352A (zh) | 一种开机动画的显示方法及装置 | |
CN117493024B (zh) | 多进程异构程序的迁移方法、存储介质及电子设备 | |
CN108235757A (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 |