CN117708454A - 网页内容处理方法、装置、设备、存储介质及程序产品 - Google Patents

网页内容处理方法、装置、设备、存储介质及程序产品 Download PDF

Info

Publication number
CN117708454A
CN117708454A CN202311739930.4A CN202311739930A CN117708454A CN 117708454 A CN117708454 A CN 117708454A CN 202311739930 A CN202311739930 A CN 202311739930A CN 117708454 A CN117708454 A CN 117708454A
Authority
CN
China
Prior art keywords
data
rendering
texture
content
result
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
Application number
CN202311739930.4A
Other languages
English (en)
Inventor
徐文冰
陈文琼
谢导
曾冠东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Kugou Computer Technology Co Ltd
Original Assignee
Guangzhou Kugou Computer Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Kugou Computer Technology Co Ltd filed Critical Guangzhou Kugou Computer Technology Co Ltd
Priority to CN202311739930.4A priority Critical patent/CN117708454A/zh
Publication of CN117708454A publication Critical patent/CN117708454A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种网页内容处理方法、装置、设备、存储介质及程序产品,涉及计算机技术领域。该方法包括:在浏览器窗口中获取目标网页;从所述预设离屏缓冲区域中获取所述第一画面内容对应的第一渲染数据;对所述第一渲染数据进行纹理转换处理,得到所述第一渲染数据对应的第一纹理数据;获取第二纹理数据;对所述第一纹理数据和所述第二纹理数据进行纹理数据混合,得到数据混合结果。通过设置离屏渲染模式的方式,从目标网页中获取第一画面内容对应的第一渲染数据,从而能够对其进行纹理转换处理,并与其他图像对应的纹理数据进行混合,提高了目标画面内容的内容准确度。也即,本申请可应用于云技术、人工智能等各种场景。

Description

网页内容处理方法、装置、设备、存储介质及程序产品
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种网页内容处理方法、装置、设备、存储介质及程序产品。
背景技术
随着计算机技术的发展,屏幕捕捉录制受到了广泛的应用,通过对终端屏幕上的网页内容进行捕捉后,可将捕捉到的网页内容转发至其他用户进行观看。
相关技术中,通过截取终端屏幕上播放的屏幕图像并进行存储,从而在存在播放需求的情况下,将存储的屏幕图像进行播放。
然而在相关技术中,通过截取屏幕图像的方式,会导致截取得到的屏幕图像中会存在不符合播放需求的画面内容,降低了屏幕捕捉的准确度,从而影响播放效果。
发明内容
本申请实施例提供了一种网页内容处理方法、装置、设备、存储介质及程序产品,能够通过获取渲染数据而非显示内容图像的方式,对获取的显示画面进行内容调整,提高屏幕捕捉的准确度,进而提升内容播放效果。所述技术方案如下。
一方面,提供了一种网页内容处理方法,所述方法包括:
在浏览器窗口中获取目标网页,所述浏览器窗口是指基于部署在应用程序内的浏览器引擎创建得到的窗口,所述目标网页中包括第一画面内容,所述目标网页被配置为离屏渲染模式,所述离屏渲染模式是指所述第一画面内容在预设离屏缓冲区域中进行渲染后生成渲染数据;
从所述预设离屏缓冲区域中获取所述第一画面内容对应的第一渲染数据;
对所述第一渲染数据进行纹理转换处理,得到所述第一渲染数据对应的第一纹理数据;
获取第二纹理数据,所述第二纹理数据是通过图像采集设备进行图像采集后得到的采集图像对应的纹理数据;
对所述第一纹理数据和所述第二纹理数据进行纹理数据混合,得到数据混合结果,所述数据混合结果用于通过数据编码得到目标画面内容后进行内容推流,所述目标画面内容中包括所述第一画面内容和所述采集图像。
另一方面,提供了一种网页内容处理装置,所述装置包括:
获取模块,用于在浏览器窗口中获取目标网页,所述浏览器窗口是指基于部署在应用程序内的浏览器引擎创建得到的窗口,所述目标网页中包括第一画面内容,所述目标网页被配置为离屏渲染模式,所述离屏渲染模式是指所述第一画面内容在预设离屏缓冲区域中进行渲染后生成渲染数据;
所述获取模块,还用于从所述预设离屏缓冲区域中获取所述第一画面内容对应的第一渲染数据;
转换模块,用于对所述第一渲染数据进行纹理转换处理,得到所述第一渲染数据对应的第一纹理数据;
所述获取模块,还用于获取第二纹理数据,所述第二纹理数据是通过图像采集设备进行图像采集后得到的采集图像对应的纹理数据;
混合模块,用于对所述第一纹理数据和所述第二纹理数据进行纹理数据混合,得到数据混合结果,所述数据混合结果用于通过数据编码得到目标画面内容后进行内容推流,所述目标画面内容中包括所述第一画面内容和所述采集图像。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述网页内容处理方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的网页内容处理方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的网页内容处理方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在浏览器窗口中获取包括第一画面内容的目标网页后,在离屏渲染模式下从预设离屏缓冲区域中获取第一画面内容对应的第一渲染数据,对第一渲染数据进行纹理转换处理,得到第一渲染数据对应的第一纹理数据,获取通过图像采集设备采集得到的采集图像对应的第二纹理数据,从而将第一纹理数据和第二纹理数据进行纹理数据混合,得到包含第一画面内容和采集图像的目标画面内容。也即,通过设置离屏渲染模式的方式,从目标网页中获取第一画面内容对应的第一渲染数据,从而能够对其进行纹理转换处理,并与其他图像对应的纹理数据进行混合,得到包含两种不同画面内容的目标画面内容进行内容推流,提高了目标画面内容的内容准确度,也能够对不同画面内容进行组合生成新的画面内容,提高了网页内容处理方式的多样性和处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的实施环境示意图;
图2是本申请一个示例性实施例提供的网页内容处理方法的流程图;
图3是本申请另一个示例性实施例提供的网页内容处理方法的流程图;
图4是本申请再一个示例性实施例提供的网页内容处理方法的流程图;
图5是本申请一个示例性实施例提供的网页内容显示示意图;
图6是本申请一个示例性实施例提供的网页内容处理装置结构框图;
图7是本申请一个示例性实施例提供的服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
相关技术中,相关技术中,通过截取终端屏幕上播放的屏幕图像并进行存储,从而在存在播放需求的情况下,将存储的屏幕图像进行播放。然而通过截取屏幕图像的方式,会导致截取得到的屏幕图像中会存在不符合播放需求的画面内容,降低了屏幕捕捉的准确度,从而影响播放效果。
在本申请实施例中,介绍了一种网页内容处理方法,通过设置离屏渲染模式的方式,从目标网页中获取第一画面内容对应的第一渲染数据,从而能够对其进行纹理转换处理,并与其他图像对应的纹理数据进行混合,得到包含两种不同画面内容的目标画面内容进行内容推流,提高了目标画面内容的内容准确度,也能够对不同画面内容进行组合生成新的画面内容,提高了网页内容处理方式的多样性和处理效率。本申请实施例的网页内容处理方法可以应用于视频播放场景、直播场景、游戏场景、社交聊天场景、音频播放场景等多种场景下,此处不加以限定。
需要进行说明的是,本申请在收集用户的相关数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。换句话说,本申请所采集的所有用户数据都是在用户同意并授权的情况下进行采集的,且相关用户数据的收集、使用和处理需要遵守相关地区的相关法律法规和标准。
对本申请实施例中涉及的实施环境进行说明,本申请实施例提供的网页内容处理方法可以由终端单独执行实现,也可以由服务器执行实现,或者由终端和服务器通过数据交互实现,本申请实施例对此不加以限定。可选地,以终端和服务器交互执行网页内容处理方法为例进行说明。
示意性的,请参考图1,该实施环境中涉及终端110、服务器120,图像采集设备140,终端110、服务器120和图像采集设备140之间通过通信网络130连接。
在一些实施例中,由服务器120执行应用程序的开发和管理过程,该开发过程或者管理过程中,服务器120会获取浏览器窗口。
其中浏览器窗口是基于部署在应用程序内的浏览器引擎创建得到的窗口。
可选地,服务器120在得到浏览器窗口后,会通过浏览器窗口获取目标网页,其中,目标网页中包括第一画面内容,并且,目标网页被配置为离屏渲染模式。
在一些实施例中,通过终端110采集得到第一画面内容对应的第一渲染数据,终端110会通过通信网络130将第一渲染数据发送至服务器120中的预设离屏缓冲区域,以使得服务器120能够从预设离屏缓冲区域中获取第一渲染数据。
可选地,服务器120接收到第一渲染数据后,对第一渲染数据进行纹理转换处理,得到第一渲染数据对应的第一纹理数据。
在一些实施例中,通过图像采集设备140进行图像采集得到采集图像后,图像采集设备140通过通信网络130向服务器120发送采集图像。
服务器120接受到采集图像后,获取采集图像对应的第二纹理数据。
在一些实施例中,服务器120对第一纹理数据和第二纹理数据进行纹理数据混合,得到数据混合结果,其中,数据混合结果通过数据编码得到目标画面内容后,由服务器120向终端110进行内容推流,从而在终端110中显示目标画面内容。在另一个可选地情况,服务器120也可向其他终端推流目标画面内容,由其他终端显示该目标画面内容。
值得注意的是,上述终端包括但不限于手机、平板电脑、便携式膝上笔记本电脑、智能语音交互设备、智能家电、车载终端等移动终端,也可以实现为台式电脑等;上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供基础云计算服务的云服务器。
其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、应用程序、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
在一些实施例中,上述服务器还可以实现为区块链系统中的节点。
结合上述名词简介和应用场景,对本申请提供的网页内容处理方法进行说明,以该方法应用于服务器为例进行说明,如图2所示,该方法包括如下步骤210至步骤250。
步骤210,在浏览器窗口中获取目标网页。
其中,浏览器窗口是指基于部署在应用程序内的浏览器引擎创建得到的窗口,目标网页中包括第一画面内容,目标网页被配置为离屏渲染模式,离屏渲染模式是指第一画面内容在预设离屏缓冲区域中进行渲染后生成渲染数据。
在一些实施例中,浏览器窗口是用于承载网页内容的窗口。
例如:在建立一个浏览器窗口后,通过浏览器窗口可以播放视频网页中的一段动画。
示意性的,浏览器窗口可以用来显示网页内容,同时也提供了对浏览器功能的访问功能和控制功能,如:加载互联网上标准资源地址(Uniform Resource Locator,URL)、执行编程内容(例如:JavaScript)、处理用户输入操作等。
可选地,将浏览器窗口嵌入到应用程序中,以实现特定的功能需求,例如:内嵌浏览器、网页编辑器、在线游戏等中至少一种。
示意性的,在应用程序中为了提供更为即时的信息,通常会在应用程序中集成浏览器引擎,浏览器引擎既可能实现为用户手动添加的,也可能实现为应用程序内默认部署的。
其中,浏览器引擎是浏览器的核心组件,负责解析和渲染网页内容。通过在应用程序内部署浏览器引擎,有利于获取更加即时的信息。
示意性的,在应用程序内部署浏览器引擎的条件下,应用程序可以使用相应的应用程序编程接口(Application Programming Interface,API)创建浏览器(Website,Web)窗口。
示意性的,通过程序实例接口创建浏览器应用实例,再通过窗口接口在浏览器应用实例的基础上创建得到浏览器窗口。
也即:浏览器窗口是用于访问互联网上的网页的界面,应用程序是具有特定功能的独立软件;一些应用程序中选择通过部署浏览器引擎提供浏览器服务,以便用户可以在不同的设备和平台上轻松访问即时信息,提供了更大的灵活性和便利性。
在一些实施例中,应用程序中建立有原生窗口,而浏览器窗口嵌入在原生窗口中。
其中,原生窗口是指基于应用程序对应的程序框架创建得到的窗口。
示意性的,应用程序对应的程序框架用于表示应用程序所依赖的操作系统。例如:应用程序通过操作系统提供的服务和接口执行任务,如:窗口管理任务、图形用户界面的创建任务等。
可选地,原生(native)窗口是由操作系统的窗口管理器创建和管理的内容,通常与操作系统的用户界面风格一致;应用程序可以通过操作系统提供的API与原生窗口进行交互,控制窗口的外观和行为。
示意性的,若应用程序运行在微软图形(Microsoft Windows,Windows)系统中,则原生窗口是由Windows系统提供的窗口;若应用程序运行在麦金塔(Macintosh OperationSystem,MacOS)系统中,则原生窗口是由MacOS系统提供的窗口。
示意性的,基于应用程序对应的程序框架创建得到的原生窗口还可以称为本地窗口,基于创建过程,使得原生窗口与应用程序通过操作系统所能表达的用户界面风格以及程序功能的集成更加紧密。也即:原生窗口能够在应用程序开发过程中提供更直接、更深度的与操作系统集成的方式,便于通过操作系统提升应用程序的本地化体验和功能。
示意性的,应用程序基于自身的程序框架获取得到原生窗口后,还通过部署的浏览器引擎获取得到浏览器窗口,以便综合原生窗口和浏览器窗口执行后续的网页内容处理过程。
在一些实施例中,网页由图片、链接、文字、声音、视频等元素组成。每个网页对应有一个独立的网页地址,用于通过该网页地址从而访问网页。
示意性的,在获取目标网页对应的网页地址,以及获取了浏览器窗口后,以网页地址作为参数,在浏览器窗口中加载目标网页,使得目标网页得以在浏览器窗口中显示。例如:当获取直播程序对应的网页地址后,浏览器窗口中则显示直播程序的运行画面;又例如:当获取游戏程序对应的网页地址后,浏览器窗口中显示游戏程序的运行画面。
可选的,目标网页中可显示不同网页地址分别对应的画面内容,例如:在目标网页中同时显示游戏画面和直播画面;或者,目标网页单次仅可显示单个网页地址对应的画面内容。
在一些实施例中,浏览器窗口中包括客户区和非客户区,其中,客户区是指目标网页的网页内容;非客户区是指浏览器窗口的边框、标题栏等区域。也即,目标网页在浏览器窗口中的客户区进行展示。
可选地,第一显示内容是目标网页中的全部显示内容,此时,第一画面内容与目标网页同属一个概念;或者,第一显示内容是目标网页中的部分显示内容。
示意性的,离屏渲染模式是指第一画面内容在服务器中的预设离屏缓冲区域中进行图形渲染,再将渲染结果复制到屏幕上进行显示。
示意性的,第一画面内容在预设离屏缓冲区域中图形渲染完成后,得到的渲染数据将暂存至预设离屏缓冲区域中。
步骤220,从预设离屏缓冲区域中获取第一画面内容对应的第一渲染数据。
示意性的,第一画面内容在预设离屏缓冲区域中图形渲染完成后生成第一渲染数据,将第一渲染数据暂存至预设离屏缓冲区域中。
在一些实施例中,第一渲染数据中包括第一画面内容在指定时间范围内播放的多帧画面帧分别对应的渲染数据,也即,第一渲染数据中包括多帧画面帧分别对应的第一渲染数据。
其中,单帧第一渲染数据以通道值形式进行表示,也即,第一渲染数据中包括四通道,四通道包括三个色彩通道以及一个表达透明度的通道,其中三个色彩通道用于表征红色(Red)、绿色(Green)、蓝色(Blue)三个通道的信息,每个颜色通道的取值范围是0到255,表示颜色的强度;透明度通道通常以Alpha表征,Alpha通道的取值范围也是0到255,其中0表示完全透明,255表示完全不透明。也即:四通道可以表征为RGBA,因此,第一渲染数据也可称为RGBA数据。
其中,综合三个色彩通道可以确定浏览器窗口对应的背景颜色,透明度通道决定了第一显示内容的透明度,通过调整四个通道分别对应的数值,可以在浏览器窗口中显示第一显示内容所对应的不同效果。
可选地,第一渲染数据是指单帧画面帧中单个像素点对应的通道值;或者,第一渲染数据包括单帧画面帧中所有像素点分别对应的通道值的集合。
可选地,当第一画面内容对应多帧画面帧分别对应第一渲染数据的情况下,逐帧获取第一渲染数据;或者,同时获取多帧第一渲染数据。
可选地,当第一画面内容每渲染一帧画面帧得到画面帧对应的第一渲染数据并存储至预设离屏缓冲区域内后,即从预设离屏缓冲区域中获取该第一渲染数据,也即,当前第一渲染数据的获取方式为实时获取;或者,预设离屏缓冲区域中存储有在历史时间范围内生成的多帧第一渲染数据,同时获取多帧第一渲染数据,对此不加以限定。
步骤230,对第一渲染数据进行纹理转换处理,得到第一渲染数据对应的第一纹理数据。
在一些实施例中,纹理转换处理是指将渲染数据(包括第一渲染数据)转换至纹理数据(包括第一纹理数据)。
在一个示例中,第一纹理数据可以理解为一张图像,其中,图像中各像素点对应的像素值,与第一渲染数据中像素点的通道值对应,例如:第一渲染数据为像素点a(2,38,45,66),则第一纹理数据中包括像素点a,其对应的通道值为(2,38,45,66)。
可选地,第一纹理数据的数据格式包括RGBA格式、RGB格式、单通道格式、浮点格式等格式类型中至少一种。
步骤240,获取第二纹理数据。
其中,第二纹理数据是通过图像采集设备进行图像采集后得到的采集图像对应的纹理数据。
示意性的,第二纹理数据是通过图像采集设备进行图像采集后得到的采集图像对应的纹理数据。
在一些实施例中,图像采集设备对第一对象进行图像采集,得到第一对象对应的对象采集图像,将对象采集图像对应的纹理数据作为第二纹理数据。
可选地,第二纹理数据中包括整张采集图像对应的纹理数据;或者,第二纹理数据中包括采集图像中部分图像内容对应的纹理数据。
示意性的,接收图像采集设备发送的采集图像,在加载采集图像的过程中,提取采集图像对应的纹理数据,从纹理数据中获取第二纹理数据。
在一个可选地实施例中,预先设置像素点范围,获取采集图像后,提取采集图像中像素点范围对应的纹理数据,从而得到第二纹理数据。
步骤250,对第一纹理数据和第二纹理数据进行纹理数据混合,得到数据混合结果。
其中,数据混合结果用于通过数据编码得到目标画面内容后进行内容推流,目标画面内容中包括第一画面内容和采集图像。
示意性的,纹理数据混合是指将第一纹理数据和第二纹理数据混合后,生成新的画面内容,作为目标画面内容,使得第一画面内容和采集图像同时显示在同一画面内容中。
可选地,混合方式包括如下几种方式中至少一种:
1、叠加(Blend):将第一纹理数据和第二纹理数据进行叠加混合,通过控制叠加的不透明度来控制第一纹理数据和第二纹理数据之间的混合程度;
2、混合(Mix):根据第一纹理数据和第二纹理数据分别对应的权重值(也称为混合因子)进行线性混合,即,将第一纹理数据和第二纹理数据按照一定的比例进行混合;
3、叠加(Overlay):根据第一纹理数据和第二纹理数据的像素值进行混合,通过改变像素的亮度和对比度来达到混合效果;
4、加法(Add):将第一纹理数据和第二纹理数据的像素值进行加法混合,增加显示内容的亮度。
值得注意的是,上述关于混合方式仅为示意性的举例,本申请实施例对此不加限定。
在一些实施例中,内容推流是指将画面内容通过网络传输至用户设备上,例如:在得到目标画面内容后,将目标画面内容通过网络传输至用户a的手机上,从而在用户a的手机上显示目标画面内容。
示意性的,服务器在得到数据混合结果后,对数据纹理结果进行数据编码和数据封装,将封装结果通过网络发送至用户设备上,用户设备接收到封装结果后,对封装结果进行解码和播放,从而在用户设备上显示目标画面内容。
综上所述,本实施例提供的方法,在浏览器窗口中获取包括第一画面内容的目标网页后,在离屏渲染模式下从预设离屏缓冲区域中获取第一画面内容对应的第一渲染数据,对第一渲染数据进行纹理转换处理,得到第一渲染数据对应的第一纹理数据,获取通过图像采集设备采集得到的采集图像对应的第二纹理数据,从而将第一纹理数据和第二纹理数据进行纹理数据混合,得到包含第一画面内容和采集图像的目标画面内容。也即,通过设置离屏渲染模式的方式,从目标网页中获取第一画面内容对应的第一渲染数据,从而能够对其进行纹理转换处理,并与其他图像对应的纹理数据进行混合,得到包含两种不同画面内容的目标画面内容进行内容推流,提高了目标画面内容的内容准确度,也能够对不同画面内容进行组合生成新的画面内容,提高了网页内容处理方式的多样性和处理效率。
在一个可选的实施例中,通过回调函数获取第一渲染数据。示意性的,请参考图3,其示出了本申请一个示例性实施例提供的网页内容处理方法流程图,也即,步骤220中还包括步骤221和步骤222,步骤240中还包括步骤241至步骤243,如图3所示,该方法包括如下步骤。
步骤210,在浏览器窗口中获取目标网页。
其中,浏览器窗口是指基于部署在应用程序内的浏览器引擎创建得到的窗口,目标网页中包括第一画面内容,目标网页被配置为离屏渲染模式,离屏渲染模式是指第一画面内容在预设离屏缓冲区域中进行渲染后生成渲染数据。
示意性的,以运行于Windows系统下的应用程序为例进行说明,可以采用编程语言C++编写与应用程序进行数据渲染相关的代码内容。
在Windows系统下使用编程语言C++进行应用程序开发的环境称为Windows C++。C++是一种通用的、静态类型的、跨平台的编程语言,是C语言的扩展和增强。其在系统编程、嵌入式开发、游戏开发、科学计算和高性能应用等领域广泛应用,具备灵活性、高效率和可扩展性,是一种强大的编程语言选择。
通过在Windows系统下安装C++安装包,可以在Windows系统通过C++进行代码编写过程。
可选地,原生窗口是基于C++创建得到的窗口。
示意性的,在C++语言环境下,使用win32gui库创建一个原生窗口,并为原生窗口注册类以及创建窗口实例。
win32gui库提供了与Windows API进行交互的功能,使开发者能够在C++语言环境下执行一些与Windows系统相关的底层任务,例如窗口控制、消息处理等。
可选地,为原生窗口注册类即代表注册一个窗口类(Window Class),在Windows系统中,原生窗口不仅仅是一个可视化的区域,还有很多其他属性和行为。窗口类定义了窗口的一些基本特征,如窗口过程(窗口消息的处理函数)、背景颜色、图标等。
可选地,在窗口类被注册后,则可以通过win32gui.CreateWindow函数创建实际的窗口实例,该函数需要提供诸如窗口类名、窗口标题、窗口样式(style)、窗口位置、窗口大小等一系列参数。
示意性的,在确保Windows系统下安装了pywin32库后,通过create_native_window函数创建了一个简单的原生窗口,且该原生窗口注册一个窗口类,然后使用CreateWindow函数创建实际的窗口实例,以便原生窗口能够响应用户的交互事件。
其中,浏览器窗口是基于部署在应用程序内的浏览器引擎创建得到的窗口。
示意性的,在C++语言环境下可以使用浏览器引擎Chromium嵌入式框架(ChromiumEmbedded Framework,CEF)技术,该技术用于将浏览器引擎嵌入到应用程序内;在使用该技术的过程中将调用CEF初始化函数启动并配置CEF,以便在应用程序内嵌入开源的浏览器引擎。
示意性的,初始化函数的目的在于在嵌入式环境中正确设置和启动CEF,以便可以在应用程序中使用嵌入的浏览器引擎显示网页内容、处理用户交互等。在初始化过程中,CEF会执行一系列的配置和准备步骤,以确保浏览器引擎能够正常工作,并且符合应用程序的需求。
示意性的,在CEF初始化后,即可通过在C++语言环境下执行的编程过程创建浏览器窗口。
值得注意的是,上述介绍了在C++语言环境下创建浏览器窗口和原生窗口的内容,还可以在C#语言环境、python语言环境下执行窗口创建过程,此处不加以限定。
示意性的,在创建得到CEF浏览器窗口后,在CEF浏览器窗口中创建目标网页,使得目标网页中包括第一显示内容,并将目标网页配置为离屏渲染模式。
步骤221,基于浏览器窗口注册回调函数。
其中,回调函数用于指示在离屏渲染模式下获取第一渲染数据。
示意性的,CefClient项目是CEF中的一个示例项目,用于演示如何通过CEF来创建一个浏览器应用程序。CefClient项目中包括创建浏览器窗口、加载网页、处理用户输入等项目类型。
在一些实施例中,CefClient项目中包括RootWindowManager类,通过在RootWindowManager类注册GetPaintData回调函数,从而利用GetPaintData回调函数获取第一画面内容对应的第一渲染数据。
步骤222,调用回调函数从预设离屏缓冲区域中获取第一渲染数据。
在一些实施例中,获取第一画面内容对应的画面参数,画面参数包括画面内容尺寸、画面内容位置中至少一种;调用回调函数,并基于画面参数从预设离屏缓冲区域中获取第一渲染数据。
本实施例中,在RootWindowManager类中创建一个CefRenderHandler的子类,重写其中的GetViewRect和OnPaint方法。其中,GetViewRect方法用于获取第一显示内容的画面内容尺寸、画面内容位置(第一显示内容在目标网页中的显示位置),OnPaint方法用于获取第一渲染数据。
本实施例中,在RootWindowManager类的构造函数中,创建CefRenderHandler子类对应的实例,并将实例注册为GetPaintData回调函数,从而生成回调函数。
本实施例中,GetPaintData回调函数中包含PaintData结构体,用于存储渲染数据。因此,根据渲染需求,填充第一渲染数据进入PaintData结构体中的相关字段,从而获取第一画面内容的第一渲染数据。
步骤241,获取程序编辑接口。
其中,程序编辑接口用于处理应用程序对应的渲染过程。
示意性的,程序编辑接口用于在指定系统中处理应用程序对应的渲染过程。
本实施例中,程序编辑接口实现为多媒体编程接口(Direct eXtension,DircetX),其中,DirectX是微软提供的一系列API的集合,主要用于游戏开发、多媒体应用程序和其他需要实时图形和音频处理的应用程序;DirectX作为Windows系统中的一组组件,提供了用于图形渲染的API,允许开发者利用计算机的图形硬件绘制二维图形(Two-Dimensional,2D)和三维(Three-Dimensional,3D)图形,也允许多种应用程序(如游戏软件等)直接与视频和音频硬件结合使用,通过访问图形处理单元(Graphic Processing Unit,GPU)进行诸如三维场景渲染、纹理映射、光照效果等高性能的图形渲染。也即:DircetX是用于执行渲染的核心组件。
步骤242,通过程序编辑接口创建纹理对象。
其中,纹理对象用于存储纹理数据。
本实施例中,通过DirectX中的Direct3D接口的CreateTexture方法创建纹理对象。其中,通过输入纹理的宽度参数、高度参数、级别参数(例如:映射(mipmap)级别)等,来创建对应的纹理对象,例如:二维纹理对象、立方体贴图、体积纹理等。
步骤243,基于纹理对象对第一渲染数据进行纹理转换处理,得到第一纹理数据。
在一些实施例中,锁定纹理对象,并获取纹理对象对应的纹理数据指针;将第一渲染数据输入纹理数据指针中,得到指针输入结果;基于指针输入结果解锁纹理对象,得到第一纹理数据。
本实施例中,在创建了纹理对象后,通过Direct3D接口的LockRect方法锁定纹理对象,并获取纹理数据指针。然后,使用memcpy函数将第一渲染数据复制到纹理数据指针中。最后,调用纹理对象的UnlockRect方法解锁纹理对象,生成第一纹理数据。
在一些实施例中,获取预设尺寸要求,预设尺寸要求中包括长度要求和宽度要求;基于长度要求对第一纹理数据中的长度参数进行裁剪,得到长度裁剪数据;基于宽度要求对第一纹理数据中的宽度参数进行裁剪,得到宽度裁剪数据;基于长度裁剪数据和宽度裁剪数据得到第一纹理数据对应的数据裁剪结果。
本实施例中,在得到第一纹理数据后,预先获取一个尺寸要求,包括长度要求以及宽度要求,从而根据长度要求,即将第一纹理数据的长度裁剪至长度要求对应的目标长度,得到长度裁剪数据,并根据宽度要求对第一纹理数据中宽度裁剪至宽度要求对应的目标宽度,从而得到宽度裁剪数据,最终,根据长度裁剪数据和宽度裁剪数据得到裁剪后的第一纹理数据,作为第一纹理数据对应的数据裁剪结果。
综上所述,本实施例提供的方法,在浏览器窗口中获取包括第一画面内容的目标网页后,在离屏渲染模式下从预设离屏缓冲区域中获取第一画面内容对应的第一渲染数据,对第一渲染数据进行纹理转换处理,得到第一渲染数据对应的第一纹理数据,获取通过图像采集设备采集得到的采集图像对应的第二纹理数据,从而将第一纹理数据和第二纹理数据进行纹理数据混合,得到包含第一画面内容和采集图像的目标画面内容。也即,通过设置离屏渲染模式的方式,从目标网页中获取第一画面内容对应的第一渲染数据,从而能够对其进行纹理转换处理,并与其他图像对应的纹理数据进行混合,得到包含两种不同画面内容的目标画面内容进行内容推流,提高了目标画面内容的内容准确度,也能够对不同画面内容进行组合生成新的画面内容,提高了网页内容处理方式的多样性和处理效率。
在一些实施例中,通过创建渲染对象的方式进行纹理数据混合,示意性的,请参考图4,其示出了本申请一个示例性实施例提供的网页内容处理方法流程图,也即,步骤250中包括步骤251至步骤254,如图4所示,该方法包括如下步骤。
步骤251,基于浏览器引擎创建渲染对象。
示意性的,在以CEF框架作为浏览器引擎的情况下,通过CEF中的绘图接口创建渲染对象(Render Target)。
本实施例中,首先创建了一个RenderHandler的类,继承自CefRenderHandler。在RenderHandler类中,实现了CefRenderHandler的几个虚拟函数,包括GetViewRect、GetScreenInfo、GetRootScreenRect和OnPaint。这些函数用于获取浏览器窗口对应的矩形尺寸、目标网页对应的矩形尺寸,并处理绘制渲染目标的逻辑。然后,创建RenderHandler对象,并将其传递给CefBrowserHost::CreateBrowser函数,以创建得到渲染对象。
步骤252,将第一纹理数据渲染至渲染对象对应的第一指定区域,得到第一渲染结果。
示意性的,将第一纹理数据渲染到渲染对象对应的第一指定区域,从而使得渲染对象显示第一纹理数据对应的纹理效果,作为第一渲染结果。
本实施例中,以第一指定区域为渲染对象所处的区域为例进行说明。
在一些实施例中,第一纹理数据中包括纹理参数或者渲染对象对应的位置坐标,位置坐标用于指示渲染对象在目标网页中所处的位置;获取位置坐标与纹理参数之间的对应关系;基于对应关系对位置坐标设置纹理参数,得到第一渲染结果。
可选地,纹理参数包括纹理长度、纹理高度、纹理级别、像素值等参数。
示意性的,位置坐标是指渲染对象在目标网页中对应的像素点坐标,用于指示渲染对象最终在目标网页中的显示位置。
本实施例中,确定位置坐标跟纹理参数之间的对应关系后,将渲染对象绑定至渲染管线的纹理单元上,在着色器中使用第一纹理数据对应的位置坐标进行着色,也即,通过位置坐标获取第一渲染数据中对应位置的像素值,将其应用至渲染对象上,从而得到第一渲染结果。
步骤253,将第二纹理数据渲染至渲染对象的第二指定区域,得到第二渲染结果。
本实施例中,获取渲染对象的第二指定区域(例如:渲染对象的左侧区域),通过上述渲染方式将第二纹理数据渲染至指定区域,得到第二渲染结果。
步骤254,基于第一渲染结果和第二渲染结果得到数据混合结果。
示意性的,根据第一渲染结果和第二渲染结果,得到渲染后的画面内容作为数据混合结果。
在一些实施例中,获取渲染对象对应的第一指定区域在目标网页中的第一位置坐标;获取渲染对象对应的第二指定区域对应的第二位置坐标;基于第一渲染数据和第二渲染数据分别对第一位置坐标和第二位置坐标进行渲染操作,得到第一位置坐标对应的第一渲染结果以及第二位置坐标对应的第二渲染结果。
在一个示例中,通过根据渲染对象确定第一指定区域和第二指定区域在目标网页中所对应的位置坐标,从而根据第一渲染数据和第二渲染数据通过上述方式进行渲染操作,得到第一指定区域对应的第一渲染结果和第二指定区域对应的第二渲染结果,实现不同区域内的同步渲染操作,提高渲染效率。
示意性的,请参考图5,其示出了本申请一个示例性实施例提供的网页显示内容示意图,如图5所示,当前显示目标画面内容,其中,目标画面内容中包括第一渲染结果510和第二渲染结果520。
在一些实施例中,对数据混合结果进行像素转换处理,得到数据混合结果对应的混合渲染数据;对混合渲染数据进行数据编码,得到数据编码结果;响应于数据编码结果符合推流条件,对数据编码结果进行内容推流,得到内容推流结果。
本实施例中,在得到数据混合结果后,将数据混合结果进行像素转换处理,转换得到混合渲染数据。也即,像素转换处理用于将纹理数据转换成渲染数据,便于后续进行数据编码。
对混合渲染数据进行数据编码,从而得到数据编码结果。在用户存在推流需求,或者数据编码结果符合推流条件的情况下,将数据编码结果推送至用户设备上进行显示,从而得到内容推流结果。
综上,本实施例提供的方法,在浏览器窗口中获取包括第一画面内容的目标网页后,在离屏渲染模式下从预设离屏缓冲区域中获取第一画面内容对应的第一渲染数据,对第一渲染数据进行纹理转换处理,得到第一渲染数据对应的第一纹理数据,获取通过图像采集设备采集得到的采集图像对应的第二纹理数据,从而将第一纹理数据和第二纹理数据进行纹理数据混合,得到包含第一画面内容和采集图像的目标画面内容。也即,通过设置离屏渲染模式的方式,从目标网页中获取第一画面内容对应的第一渲染数据,从而能够对其进行纹理转换处理,并与其他图像对应的纹理数据进行混合,得到包含两种不同画面内容的目标画面内容进行内容推流,提高了目标画面内容的内容准确度,也能够对不同画面内容进行组合生成新的画面内容,提高了网页内容处理方式的多样性和处理效率。
在一个可选的实施例中,运行在Windows操作系统下的应用程序执行上述网页内容处理方法,因此还可以将上述网页内容处理方法称为“一种Windows客户端实现网页内容处理的方法”。
在一些实施例中,通过设置离屏渲染模式的方式,从目标网页中获取第一画面内容对应的第一渲染数据,从而能够对其进行纹理转换处理,并与其他图像对应的纹理数据进行混合,得到包含两种不同画面内容的目标画面内容进行内容推流,提高了目标画面内容的内容准确度,也能够对不同画面内容进行组合生成新的画面内容,提高了网页内容处理方式的多样性和处理效率。
示意性的,网页内容处理方法的流程实现为如下形式。
(1)使用win32gui库创建一个原生(native)窗口,为原生窗口注册类并创建窗口实例。
(2)在该原生窗口中嵌入CEF浏览器窗口,创建并展示目标网页,配置为离屏渲染模式。
(3)启动cef框架messageloop消息循环,确保消息的分发和处理。
本实施例中,首先调用CefInitialize()函数来初始化CEF框架,然后调用CefRunMessageLoop()函数启动消息循环。在主线程中,可以进行其他的操作,然后等待消息循环线程结束,最后调用CefShutdown()函数停止CEF框架。
(4)在CefClient项目中的RootWindowManager类中注册GetPaintData回调,以便监听接收网页内容每一帧第一渲染数据。
(5)调用DirectX接口创建Texture纹理对象,将捕捉到第一渲染数据转换成第一纹理数据,并根据需要进行裁剪。
(6)创建RenderTarget渲染对象,将第一渲染数据渲染到目标对象上,随后再把主播纹理数据渲染于渲染对象两侧,其中,主播纹理数据是通过图像采集设备对主播进行图像采集后得到的主播采集图像对应的纹理数据。
(7)将混合完的纹理进行map操作(即像素转换操作),得到最终的RGBA数据,用于后续的编码和推流操作。值得注意的是,以上仅为示意性的举例,本申请实施例对此不加以限定。
综上所述,在浏览器窗口中获取包括第一画面内容的目标网页后,在离屏渲染模式下从预设离屏缓冲区域中获取第一画面内容对应的第一渲染数据,对第一渲染数据进行纹理转换处理,得到第一渲染数据对应的第一纹理数据,获取通过图像采集设备采集得到的采集图像对应的第二纹理数据,从而将第一纹理数据和第二纹理数据进行纹理数据混合,得到包含第一画面内容和采集图像的目标画面内容。也即,通过设置离屏渲染模式的方式,从目标网页中获取第一画面内容对应的第一渲染数据,从而能够对其进行纹理转换处理,并与其他图像对应的纹理数据进行混合,得到包含两种不同画面内容的目标画面内容进行内容推流,提高了目标画面内容的内容准确度,也能够对不同画面内容进行组合生成新的画面内容,提高了网页内容处理方式的多样性和处理效率。
本申请的有益效果:
1.提供了灵活的方式来录制和转播页面内容。
2.兼容多个版本的操作系统。
3.允许在直播端根据开发者的需求进行自定义的裁剪和组合操作。
4.专注于录制网页内容,排除了非客户区域的干扰。
请参考图6,其示出了本申请一个示例性的实施例提供的网页内容处理装置的结构框图,该装置包括如下模块:
获取模块610,用于在浏览器窗口中获取目标网页,所述浏览器窗口是指基于部署在应用程序内的浏览器引擎创建得到的窗口,所述目标网页中包括第一画面内容,所述目标网页被配置为离屏渲染模式,所述离屏渲染模式是指所述第一画面内容在预设离屏缓冲区域中进行渲染后生成渲染数据;
所述获取模块610,还用于从所述预设离屏缓冲区域中获取所述第一画面内容对应的第一渲染数据;
转换模块620,用于对所述第一渲染数据进行纹理转换处理,得到所述第一渲染数据对应的第一纹理数据;
所述获取模块610,还用于获取第二纹理数据,所述第二纹理数据是通过图像采集设备进行图像采集后得到的采集图像对应的纹理数据;
混合模块630,用于对所述第一纹理数据和所述第二纹理数据进行纹理数据混合,得到数据混合结果,所述数据混合结果用于通过数据编码得到目标画面内容后进行内容推流,所述目标画面内容中包括所述第一画面内容和所述采集图像。
在一些实施例中,所述获取模块610,还用于基于所述浏览器窗口注册回调函数,所述回调函数用于指示在所述离屏渲染模式下获取所述第一渲染数据;调用所述回调函数从所述预设离屏缓冲区域中获取所述第一渲染数据。
在一些实施例中,所述获取模块610,还用于获取所述第一画面内容对应的画面参数,所述画面参数包括画面内容尺寸、画面内容位置中至少一种;调用所述回调函数,并基于所述画面参数从所述预设离屏缓冲区域中获取所述第一渲染数据。
在一些实施例中,所述转换模块620,用于获取程序编辑接口,所述程序编辑接口用于处理所述应用程序对应的渲染过程;通过所述程序编辑接口创建纹理对象,所述纹理对象用于存储纹理数据;基于所述纹理对象对所述第一渲染数据进行纹理转换处理,得到所述第一纹理数据。
在一些实施例中,所述转换模块620,用于锁定所述纹理对象,并获取所述纹理对象对应的纹理数据指针;将所述第一渲染数据输入所述纹理数据指针中,得到指针输入结果;基于所述指针输入结果解锁所述纹理对象,得到所述第一纹理数据。
在一些实施例中,所述获取模块610,还用于获取预设尺寸要求,所述预设尺寸要求中包括长度要求和宽度要求;基于所述长度要求对所述第一纹理数据中的长度参数进行裁剪,得到长度裁剪数据;基于所述宽度要求对所述第一纹理数据中的宽度参数进行裁剪,得到宽度裁剪数据;基于所述长度裁剪数据和所述宽度裁剪数据得到所述第一纹理数据对应的数据裁剪结果。
在一些实施例中,所述混合模块630,用于基于所述浏览器引擎创建渲染对象将所述第一纹理数据渲染至所述渲染对象对应的第一指定区域,得到第一渲染结果;将所述第二纹理数据渲染至所述渲染对象对应的第二指定区域,得到第二渲染结果;基于所述第一渲染结果和所述第二渲染结果得到所述数据混合结果。
在一些实施例中,所述第一纹理数据中包括纹理参数或者所述渲染对象对应位置坐标,所述位置坐标用于指示所述渲染对象在所述目标网页中所处的位置;
所述混合模块630,用于获取所述位置坐标与所述纹理参数之间的对应关系;基于所述对应关系对所述位置坐标设置所述纹理参数,得到所述第一渲染结果。
在一些实施例中,所述获取模块610,还用于获取所述渲染对象对应的第一指定区域在所述目标网页中的第一位置坐标;获取所述渲染对象对应的第二指定区域在所述目标网页中的第二位置坐标;基于所述第一渲染数据和所述第二渲染数据分别对所述第一位置坐标和所述第二位置坐标进行渲染操作,得到所述第一位置坐标对应的第一渲染结果以及所述第二位置坐标对应的第二渲染结果。
在一些实施例中,所述获取模块610,还用于对所述数据混合结果进行像素转换处理,得到所述数据混合结果对应的混合渲染数据;对所述混合渲染数据进行数据编码,得到数据编码结果;响应于所述数据编码结果符合推流条件,对所述数据编码结果进行内容推流,得到内容推流结果。
综上所述,在浏览器窗口中获取包括第一画面内容的目标网页后,在离屏渲染模式下从预设离屏缓冲区域中获取第一画面内容对应的第一渲染数据,对第一渲染数据进行纹理转换处理,得到第一渲染数据对应的第一纹理数据,获取通过图像采集设备采集得到的采集图像对应的第二纹理数据,从而将第一纹理数据和第二纹理数据进行纹理数据混合,得到包含第一画面内容和采集图像的目标画面内容。也即,通过设置离屏渲染模式的方式,从目标网页中获取第一画面内容对应的第一渲染数据,从而能够对其进行纹理转换处理,并与其他图像对应的纹理数据进行混合,得到包含两种不同画面内容的目标画面内容进行内容推流,提高了目标画面内容的内容准确度,也能够对不同画面内容进行组合生成新的画面内容,提高了网页内容处理方式的多样性和处理效率。
需要说明的是:上述实施例提供的网页内容处理装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网页内容处理装置与网页内容处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7示出了本申请一个示例性实施例提供的服务器的结构示意图。具体来讲包括如下结构。
服务器700包括中央处理单元(Central Processing Unit,CPU)701、包括随机存取存储器(Random Access Memory,RAM)702和只读存储器(Read Only Memory,ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。服务器700还包括用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备706。
大容量存储设备706通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。大容量存储设备706及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,大容量存储设备706可以包括诸如硬盘或者紧凑型光盘只读存储器(Compact Disc Read Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。
根据本申请的各种实施例,服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
本申请的实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的网页内容处理方法。可选地,该计算机设备可以是终端,也可以是服务器。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的网页内容处理方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的网页内容处理方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种网页内容处理方法,其特征在于,所述方法包括:
在浏览器窗口中获取目标网页,所述浏览器窗口是指基于部署在应用程序内的浏览器引擎创建得到的窗口,所述目标网页中包括第一画面内容,所述目标网页被配置为离屏渲染模式,所述离屏渲染模式是指所述第一画面内容在预设离屏缓冲区域中进行渲染后生成渲染数据;
从所述预设离屏缓冲区域中获取所述第一画面内容对应的第一渲染数据;
对所述第一渲染数据进行纹理转换处理,得到所述第一渲染数据对应的第一纹理数据;
获取第二纹理数据,所述第二纹理数据是通过图像采集设备进行图像采集后得到的采集图像对应的纹理数据;
对所述第一纹理数据和所述第二纹理数据进行纹理数据混合,得到数据混合结果,所述数据混合结果用于通过数据编码得到目标画面内容后进行内容推流,所述目标画面内容中包括所述第一画面内容和所述采集图像。
2.根据权利要求1所述的方法,其特征在于,所述从所述预设离屏缓冲区域中获取所述第一画面内容对应的第一渲染数据,包括:
基于所述浏览器窗口注册回调函数,所述回调函数用于指示在所述离屏渲染模式下获取所述第一渲染数据;
调用所述回调函数从所述预设离屏缓冲区域中获取所述第一渲染数据。
3.根据权利要求2所述的方法,其特征在于,所述调用所述回调函数从所述预设离屏缓冲区域中获取所述第一渲染数据,包括:
获取所述第一画面内容对应的画面参数,所述画面参数包括画面内容尺寸、画面内容位置中至少一种;
调用所述回调函数,并基于所述画面参数从所述预设离屏缓冲区域中获取所述第一渲染数据。
4.根据权利要求1至3任一所述的方法,其特征在于,所述对所述第一渲染数据进行纹理转换处理,得到所述第一渲染数据对应的第一纹理数据,包括:
获取程序编辑接口,所述程序编辑接口用于处理所述应用程序对应的渲染过程;
通过所述程序编辑接口创建纹理对象,所述纹理对象用于存储纹理数据;
基于所述纹理对象对所述第一渲染数据进行纹理转换处理,得到所述第一纹理数据。
5.根据权利要求4所述的方法,其特征在于,所述基于所述纹理对象对所述第一渲染数据进行纹理转换处理,得到所述第一纹理数据,包括:
锁定所述纹理对象,并获取所述纹理对象对应的纹理数据指针;
将所述第一渲染数据输入所述纹理数据指针中,得到指针输入结果;
基于所述指针输入结果解锁所述纹理对象,得到所述第一纹理数据。
6.根据权利要求5所述的方法,其特征在于,所述基于所述指针输入结果解锁所述纹理对象,得到所述第一纹理数据之后,还包括:
获取预设尺寸要求,所述预设尺寸要求中包括长度要求和宽度要求;
基于所述长度要求对所述第一纹理数据中的长度参数进行裁剪,得到长度裁剪数据;
基于所述宽度要求对所述第一纹理数据中的宽度参数进行裁剪,得到宽度裁剪数据;
基于所述长度裁剪数据和所述宽度裁剪数据得到所述第一纹理数据对应的数据裁剪结果。
7.根据权利要求1至3任一所述的方法,其特征在于,所述对所述第一纹理数据和所述第二纹理数据进行纹理数据混合,得到数据混合结果,包括:
基于所述浏览器引擎创建渲染对象;
将所述第一纹理数据渲染至所述渲染对象对应的第一指定区域,得到第一渲染结果;
将所述第二纹理数据渲染至所述渲染对象对应的第二指定区域,得到第二渲染结果;
基于所述第一渲染结果和所述第二渲染结果得到所述数据混合结果。
8.根据权利要求7所述的方法,其特征在于,所述第一纹理数据中包括纹理参数或者所述渲染对象对应位置坐标,所述位置坐标用于指示所述渲染对象在所述目标网页中所处的位置;
所述将所述第一纹理数据渲染至所述渲染对象上,得到第一渲染结果,包括:
获取所述位置坐标与所述纹理参数之间的对应关系;
基于所述对应关系对所述位置坐标设置所述纹理参数,得到所述第一渲染结果。
9.根据权利要求7所述的方法,其特征在于,所述基于所述浏览器引擎创建渲染对象之后,还包括:
获取所述渲染对象对应的第一指定区域在所述目标网页中的第一位置坐标;
获取所述渲染对象对应的第二指定区域在所述目标网页中的第二位置坐标;
基于所述第一渲染数据和所述第二渲染数据分别对所述第一位置坐标和所述第二位置坐标进行渲染操作,得到所述第一位置坐标对应的第一渲染结果以及所述第二位置坐标对应的第二渲染结果。
10.根据权利要求1至3任一所述的方法,其特征在于,所述对所述第一纹理数据和所述第二纹理数据进行纹理数据混合,得到数据混合结果之后,还包括:
对所述数据混合结果进行像素转换处理,得到所述数据混合结果对应的混合渲染数据;
对所述混合渲染数据进行数据编码,得到数据编码结果;
响应于所述数据编码结果符合推流条件,对所述数据编码结果进行内容推流,得到内容推流结果。
11.一种网页内容处理装置,其特征在于,所述装置包括:
获取模块,用于在浏览器窗口中获取目标网页,所述浏览器窗口是指基于部署在应用程序内的浏览器引擎创建得到的窗口,所述目标网页中包括第一画面内容,所述目标网页被配置为离屏渲染模式,所述离屏渲染模式是指所述第一画面内容在预设离屏缓冲区域中进行渲染后生成渲染数据;
所述获取模块,还用于从所述预设离屏缓冲区域中获取所述第一画面内容对应的第一渲染数据;
转换模块,用于对所述第一渲染数据进行纹理转换处理,得到所述第一渲染数据对应的第一纹理数据;
所述获取模块,还用于获取第二纹理数据,所述第二纹理数据是通过图像采集设备进行图像采集后得到的采集图像对应的纹理数据;
混合模块,用于对所述第一纹理数据和所述第二纹理数据进行纹理数据混合,得到数据混合结果,所述数据混合结果用于通过数据编码得到目标画面内容后进行内容推流,所述目标画面内容中包括所述第一画面内容和所述采集图像。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至10任一所述的网页内容处理方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至10任一所述的网页内容处理方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10任一所述的网页内容处理方法。
CN202311739930.4A 2023-12-15 2023-12-15 网页内容处理方法、装置、设备、存储介质及程序产品 Pending CN117708454A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311739930.4A CN117708454A (zh) 2023-12-15 2023-12-15 网页内容处理方法、装置、设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311739930.4A CN117708454A (zh) 2023-12-15 2023-12-15 网页内容处理方法、装置、设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN117708454A true CN117708454A (zh) 2024-03-15

Family

ID=90161916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311739930.4A Pending CN117708454A (zh) 2023-12-15 2023-12-15 网页内容处理方法、装置、设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN117708454A (zh)

Similar Documents

Publication Publication Date Title
WO2022116759A1 (zh) 图像渲染方法、装置、计算机设备和存储介质
US20100060652A1 (en) Graphics rendering system
US9928637B1 (en) Managing rendering targets for graphics processing units
CN108876887B (zh) 渲染方法和装置
KR101239029B1 (ko) 그래픽스 처리 시스템의 오프-스크린 표면을 위한 멀티-버퍼 지원
CN113457160B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
US9779467B2 (en) Rendering hardware accelerated graphics in a web application
KR101267120B1 (ko) 성능 분석 동안 관련된 그래픽스 데이터에 대한 그래픽스 명령들의 매핑
WO2019228013A1 (zh) 在3d模型上展示富文本的方法、装置及设备
JP2006238429A (ja) ハードウエア・アクセラレーティド・ブレンド・モード
CN112307403A (zh) 页面渲染方法、装置、存储介质以及终端
CN113076152A (zh) 渲染方法及装置、电子设备和计算机可读存储介质
CN113411660B (zh) 视频数据的处理方法、装置和电子设备
WO2023160041A1 (zh) 图像渲染方法、装置、计算机设备、计算机可读存储介质以及计算机程序产品
CN116503529A (zh) 渲染、3d画面控制方法、电子设备和计算机可读存储介质
Terrazas et al. Java Media APIs: Cross-platform Imaging, Media, and Visualization
CN114222185B (zh) 视频播放方法、终端设备及存储介质
CN113192173B (zh) 三维场景的图像处理方法、装置及电子设备
CN117708454A (zh) 网页内容处理方法、装置、设备、存储介质及程序产品
CN117065357A (zh) 媒体数据处理方法、装置、计算机设备和存储介质
CN115391692A (zh) 视频处理方法和装置
CN114742931A (zh) 渲染图像的方法、装置、电子设备及存储介质
CN110766599A (zh) 一种利用Qt Quick绘制图像时防止出现白屏的方法及系统
CN117707676A (zh) 窗口渲染方法、装置、设备、存储介质及程序产品
CN113676753B (zh) Vr场景中展示视频的方法、装置、电子设备和存储介质

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