一种数据通信方法、装置、存储介质及设备与流程

文档序号:31673791发布日期:2022-09-28 01:33阅读:62来源:国知局
一种数据通信方法、装置、存储介质及设备与流程

1.本技术涉及一种计算机技术领域,尤其涉及一种数据通信方法、装置、存储介质及设备。


背景技术:

2.视频处理引擎,是指一些已编写好的可编辑电脑系统或者一些交互式实时图像应用程序的核心组件,视频处理引擎可以为视频设计者提供各种制作视频所需的各种工具,其目的在于让视频设计者能容易和快速地做出视频程式而不用通过零开始,大部分视频处理引擎都支持多种平台操作系统,如linux、windows。
3.目前,在终端设备中构建视频处理引擎的ui界面时,需要根据终端设备的平台操作系统,开发出适配对应平台操作系统的运行规则的平台渲染组件,通过该平台渲染组件调用视频处理引擎中的相关功能,同时对视频处理引擎中开发的角色进行可视化。为了实现不同平台操作系统对应的平台渲染组件能够调用视频处理引擎的相关功能以及与视频处理引擎进行通信,需要适应性地修改平台渲染组件中的相关配置信息,导致开发成本较高,同时开发过程复杂容易出错,导致与视频处理引擎通信的效率较低。


技术实现要素:

4.本技术实施例提供一种数据通信方法、装置、存储介质及设备,可以实现界面渲染组件与视频处理引擎之间的通信,并提高与视频处理引擎的通信效率。
5.本技术实施例一方面提供一种数据通信方法,包括:
6.通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象;
7.确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息;数据集成插件包括至少两种转发对象分别与视频处理引擎进行通信的通信信息;至少两种转发对象包括目标转发对象;
8.通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。
9.本技术实施例一方面提供一种数据通信装置,包括:
10.确定模块,用于通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象;
11.查询模块,用于确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息;数据集成插件包括至少两种转发对象分别与视频处理引擎进行通信的通信信息;至少两种转发对象包括目标转发对象;
12.业务处理模块,用于通过目标转发对象,基于目标通信信息将处理请求转发至视
频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。
13.本技术实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,以执行如下步骤:
14.通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象;
15.确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息;数据集成插件包括至少两种转发对象分别与视频处理引擎进行通信的通信信息;至少两种转发对象包括目标转发对象;
16.通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。
17.本技术实施例一方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,以实现如下步骤:
18.通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象;
19.确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息;数据集成插件包括至少两种转发对象分别与视频处理引擎进行通信的通信信息;至少两种转发对象包括目标转发对象;
20.通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。
21.本技术实施例一方面提供了一种计算机程序产品,该计算机程序被处理器执行时实现如下步骤:
22.获取通过界面渲染组件生成的关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象;
23.确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息;数据集成插件包括至少两种转发对象分别与视频处理引擎进行通信的通信信息;至少两种转发对象包括目标转发对象;
24.通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。
25.在本技术中,通过在界面渲染组件中部署数据集成插件,数据集成插件包括多种转发对象与视频处理引擎进行通信的通信信息,此处的转发对象为用于在界面渲染组件与视频处理引擎之间进行数据转发的对象,如可以包括多种操作系统、共享内存,基于该数据集成插件中的通信信息,可实现界面渲染组件与视频处理引擎之间的通信。换言之,通过该数据集成插件,能够向界面渲染组件和视频处理引擎提供一种通信通道,能够抹平具有不同操作系统的硬件平台之间的差异性,即该数据集成插件能够适用于不同操作系统的硬件平台,提高数据集成插件的适用范围。另外,在界面渲染组件与视频处理引擎之间通信的过程中,不需要适应地修改界面渲染组件,降低开发成本,同时避免开发过程出错,提高界面
渲染组件与视频处理引擎通信的效率。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1是本技术实施例提供的一种数据通信系统的架构示意图;
28.图2是本技术实施例提供的一种数据通信的应用场景示意图;
29.图3是本技术实施例提供的一种数据通信方法的流程示意图;
30.图4是本技术实施例提供的一种生成数据集成插件的示意图;
31.图5是本技术实施例提供的一种通过目标操作系统转发处理请求的示意图;
32.图6是本技术实施例提供的一种数据通信方法的流程示意图;
33.图7是本技术实施例提供的一种数据通信装置的结构示意图;
34.图8是本技术实施例提供的一种数据通信装置的结构示意图;
35.图9是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.请参见图1,图1是本技术实施例提供的一种数据通信系统的结构示意图。如图1所示,该数据通信系统可以包括服务器10和终端设备集群。该终端设备集群可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1所示,具体可以包括终端设备100a、终端设备100b、终端设备100c、

、终端设备100n。如图1所示,终端设备100a、终端设备100b、终端设备100c、

、终端设备100n可以分别与上述服务器10进行网络连接,以便于每个终端设备可以通过该网络连接与服务器10进行数据交互。
38.其中,该终端设备集群中的每个终端设备均可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、可穿戴设备、智能家居、头戴设备、车载终端等具有数据通信功能的智能终端。应当理解,如图1所示的终端设备集群中的每个终端设备均可以安装有应用客户端,当该应用客户端运行于各终端设备中时,可以分别与上述图1所示的服务器10之间进行数据交互。此处的应用客户端可以包括能够进行数据通信的应用程序,如更够进行数据通信的界面渲染小程序、网页或应用程序等等。
39.其中,如图1所示,该服务器10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
40.为便于理解,本技术实施例可以在图1所示的多个终端设备中选择一个终端设备
作为目标终端设备,例如,为便于理解,本技术实施例可以将图1所示的终端设备100a作为目标终端设备。终端设备100a可以通过界面渲染组件获取关于视频渲染业务的处理请求,该界面渲染组件运行于终端设备100a中。界面渲染组件可以是指构建用户界面(ui)工具包,采用现代响应式框架构建,用于展示与界面渲染组件关联的视频处理引擎的显示状态,当视频处理引擎的状态改变时,界面渲染组件会对比当前显示状态与即将要显示的显示状态之间的差异,以确定底层渲染树从当前显示状态转换到即将要显示的显示状态所需要的最小更改。其中,界面渲染组件可以是指flutter组件,flutter组件是一种开源的构建用户界面(ui)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、终端、桌面和嵌入式平台等。例如,目标用户可以在界面渲染组件提供的用户界面中触发视频处理引擎中的目标虚拟角色的创建操作,界面渲染组件可以响应目标用户针对目标虚拟角色的创建操作,生成关于目标虚拟角色的视频渲染业务的处理请求,该视频渲染业务用于指示视频处理引擎加载渲染目标虚拟角色,以便在用户界面中向目标用户展示目标虚拟角色。终端设备100a可以将关于视频渲染业务的处理请求发送给服务器10,通过服务器10根据处理请求所携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象。该视频渲染业务的业务属性信息可以包括渲染参数(即需要对目标虚拟角色的什么参数进行渲染,如渲染位置、渲染尺寸以及渲染样式等)。其中,目标转发对象可以是指终端设备100a的操作系统或者终端设备中的内存。
41.进一步地,服务器10可以将目标转发对象返回给终端设备100a,终端设备100a可以确定与界面渲染组件关联的视频处理引擎,该视频处理引擎是指关于视频渲染业务的处理请求的接收对象,即界面渲染组件需要将关于视频渲染业务的处理请求发送给视频处理引擎。其中,界面渲染组件可以为视频处理引擎提供ui界面展示,即将视频处理引擎可视化。视频处理引擎可以是指用于处理视频业务的引擎,如视频处理引擎可以是指unity(即一种开发工具),是实时3d互动内容创作和运营平台,可用于创作、运营和变现任何实时互动的2d和3d内容,支持平台包括手机、平板电脑、pc、游戏主机、增强现实和虚拟现实设备。终端设备100a可以从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎之间进行通信的目标通信信息,该数据集成插件中包括至少两个转发对象分别与视频处理引擎进行通信的通信信息,至少两个转发对象包括目标转发对象。其中,界面渲染组件的数据集成插件包括分别满足至少两个转发对象的运行格式的至少两个数据文件,一个转发对象对应一个数据文件。可以理解的是,每个转发对象对应的数据文件的运行格式均不相同,每个转发对象对应的数据文件包括对应转发对象与视频处理引擎之间的目标通信信息以及视频处理引擎的运行数据包。如android(安卓操作系统)的运行格式可以为aar(一种安卓操作系统的打包格式)格式,ios(苹果操作系统)的运行格式framework(一种苹果操作系统的打包格式)。例如,若目标转发对象为终端设备100a的目标操作系统,且该终端设备100a的目标操作系统的运行格式为运行格式a,则可以按照运行格式a对视频处理引擎进行导出,将视频处理引擎导出为满足运行格式a的目标数据文件,该目标数据文件为终端设备100a的目标操作系统对应的数据文件,该目标数据文件中包括视频处理引擎的运行数据包,以及终端设备100a的目标操作系统与视频处理引擎之间的目标通信信息。
42.进一步地,终端设备100a可以将关于视频渲染业务的处理请求,发送给目标转发对象,通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处
理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。这样,通过目标转发对象将界面渲染组件生成的处理请求转发给视频处理引擎,实现了界面渲染组件(flutter)与视频处理引擎(unity)之间的通信,同时界面渲染组件的数据集成插件中包括不同转发对象对应的目标通信信息,在不同操作系统中均可以调用界面渲染组件对视频处理引擎中的显示状态进行渲染展示,而不用不同操作系统开发出对应的平台渲染工程以及开发出调用视频处理引擎的功能调用接口,对视频处理引擎中的显示状态进行渲染展示,抹平了不同硬件平台之间的差异性,使用界面渲染组件对应的一套功能调用接口便可以与视频处理引擎进行功能调用,可以减少开发成本,简单视频处理引擎的界面渲染展示过程,也可以降低与视频处理引擎之间进行通信的维护成本。
43.为便于理解,进一步地,请参见图2,图2是本技术实施例提供的一种数据通信的应用场景示意图。其中,如图2所示的目标终端设备20a可以为上述图1中所展示的终端设备集群中的任意一个终端设备,例如,目标终端设备20a可以为上述终端设备100b。将界面渲染组件安装于目标终端设备20a后,由于界面渲染组件的数据集成插件中包括视频处理引擎导出的可以运行于各种操作系统以及与各种通信系统进行通信的数据文件。如图2所示,可以在界面渲染组件中打开视频处理引擎对应的用户界面20b,该用户界面20b可以对视频处理引擎的视频开发过程进行可视化。目标用户可以在用户界面20b中选中所需要创建的虚拟角色的创建按钮,在用户界面20b中创建对应的虚拟角色。如图2所示,目标用户可以在用户界面20b的对象创建视图面板20c中,选中角色1和角色2分别对应的选择按钮,并点击“创建按钮”,以触发针对角色1和角色2的创建操作。界面渲染组件20d可以获取目标用户针对角色1和角色2的创建操作,生成关于角色1和角色2渲染任务的处理请求。
44.进一步地,目标终端设备20b可以获取到界面渲染组件20d生成的关于角色1和角色2渲染任务的处理请求,根据该处理请求中所携带的关于角色1和角色2渲染任务的业务属性信息,确定用于转发处理请求的目标转发对象20e。由于视频处理引擎与界面渲染组件20d为搭建的框架,不能直接进行通信,因此可以确定用于转发界面渲染组件20d的处理请求的目标转发对象20e。其中,目标转发对象20e可以是指目标终端设备20a中的操作系统,可以也是指目标终端设备20a中的内存。其中,业务属性信息可以是指角色1和角色2的渲染参数等。如角色1和角色2的渲染位置、渲染尺寸以及渲染样式等。
45.具体的,目标终端设备20a可以确定与界面渲染组件20d关联的视频处理引擎20f,即确定接收界面渲染组件20d生成的处理请求的视频处理引擎20f,从界面渲染组件20d的数据集成插件中,查询目标转发对象20e与视频处理引擎20f之间进行通信的目标通信信息。通过目标转发对象20e,基于目标转发对象20e与视频处理引擎20f之间的目标通信信息,将处理请求转发至视频处理引擎20f,这样,便实现了界面渲染组件20d与视频处理引擎20f之间的通信。进一步地,视频处理引擎20f接收到关于角色1和角色2渲染任务的处理请求后,可以根据处理请求中携带的业务属性信息,对角色1和角色2进行创建渲染。如图2所示,视频处理引擎20f对角色1和角色2进行创建渲染完成后,目标用户可以在界面渲染组件中的用户界面20g中看见角色1和角色2,目标用户可以对界面渲染组件中的用户界面20g中的角色1和角色2进行编辑和调整等操作。通过本方案,可以直接通过界面渲染组件的一套统一接口便可以在不同操作系统中与视频处理引擎进行通信,以及对视频处理引擎进行可视化,而不用创建不同操作系统对应的平台渲染工程,以及创建不同平台渲染工程的接口
来与视频处理引擎进行通信,可以减少开发成本以及降低与视频处理引擎通信的维护成本,以及可以简化对视频处理引擎进行可视化的过程。
46.进一步地,请参见图3,是本技术实施例提供的一种数据通信方法的流程示意图。如图3所示,该方法可由图1中的终端设备来执行,也可以由图1中的服务器来执行,还可以由图1中的终端设备和服务器共同执行,本技术中用于执行该方法的设备可以统称为计算机设备。其中,该数据通信方法可以包括但不限于如下步骤s101~s103:
47.s101,通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象。
48.本技术中,由于视频处理引擎应用于终端设备时,需要在终端设备中构建视频处理引擎对应的用户界面,与目标用户进行交互。本技术可以通过界面渲染组件构建视频处理引擎对应的用户界面,将目标用户在用户界面中所触发的渲染任务发送给视频处理引擎,以使视频处理引擎执行目标用户所触发的渲染任务。其中,本技术中的界面渲染组件是跨平台开发的,具有与多种平台操作系统进行通信的接口,因此可以运行在不同平台操作系统中。其中,界面渲染组件可以是指flutter组件,flutter组件是用于构建用户界面(ui)的工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、终端、桌面和嵌入式平台等。其中,flutter组件采用现代响应式框架构建,用于展示与界面渲染组件关联的关联组件的显示状态,当关联组件的状态改变时,界面渲染组件会对比当前显示状态与即将要显示的显示状态之间的差异,以确定底层渲染树从当前显示状态转换到即将要显示的显示状态所需要的最小更改。其中,视频渲染业务可以是指视频中角色的角色形态进行加载渲染,如在视频中创建渲染角色,或者,对视频中角色的肢体动作、面部表情等视频内容进行渲染。该角色可以是指人物、动物、以及物品等,该角色的类型可以是卡通、动漫、或者真实人物等。此处的视频可以是指普通视频、动画视频或游戏视频等等;普通视频是指对真实场景进行拍摄得到的,如影视作品、短视频、视频宣传片等,如普通视频中包括真实人物。动画视频包括动画角色的视频,如动画角色包括上述卡通类型的角色、动漫类型的角色中的一种或多种;游戏视频是指对游戏场景进行渲染得到的,游戏视频包括游戏角色、游戏装备等的视频,如游戏角色可以包括上述卡通类型的游戏角色、动漫类型的游戏角色中的一种或多种。
49.具体的,目标用户可以在视频处理引擎对应的用户界面中触发针对视频处理引擎中的目标虚拟角色的创建渲染操作,以搭建视频。例如,目标用户可以在视频处理引擎对应的用户界面中点击虚拟角色a的创建渲染按钮,以触发针对虚拟角色a的创建渲染操作,此处的虚拟角色a可以是指游戏视频中的游戏角色,或者,虚拟角色a可以是指动画视频中的动画角色。界面渲染组件可以接收目标用户针对视频处理引擎中的虚拟角色a的创建渲染操作,生成针对视频处理引擎中的虚拟角色a的视频渲染业务,该视频渲染业务用于指示创建渲染视频处理引擎中的虚拟角色a。界面渲染组件可以获取执行视频渲染业务所需要的业务属性信息,该业务属性信息可以是指创建渲染目标虚拟角色时的渲染参数(如渲染颜色、渲染尺寸、渲染位置以及渲染样式等信息)。界面渲染组件可以根据界面渲染组件与视频处理引擎之间的通信协议,对该视频渲染业务的业务属性信息进行封装,得到关于视频渲染业务的处理请求。计算机设备可以获取界面渲染组件生成的关于视频渲染业务的处理请求,根据处理请求中携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目
标转发对象。其中,由于视频处理引擎与界面渲染组件均为开发框架,不能进行通信,因此可以确定用于转发处理请求的目标转发对象,将界面渲染组件生成的关于视频渲染业务的处理请求发送给视频处理引擎。其中,目标转发对象可以是指终端设备中的平台操作系统,如android(安卓)操作系统(是一种开放源代码的操作系统,主要使用于移动设备)、ios操作系统(是一种通过苹果公司开发的移动操作系统)等,目标转发对象也可以是指终端设备中的内存。
50.可选的,计算机设备通过界面渲染组件获取关于视频渲染业务的处理请求的具体内容可以包括:通过界面渲染组件,获取视频渲染业务的业务类型,以及界面渲染组件与视频处理引擎之间进行数据传输的数据传输格式。根据视频渲染业务的业务类型,对视频渲染业务的业务属性信息进行封装,得到携带业务属性信息的业务处理消息。按照数据传输格式,对携带业务属性信息的业务处理消息进行格式转换处理,得到界面渲染组件生成的关于视频渲染业务的处理请求。
51.具体的,计算机设备可以通过界面渲染组件获取视频渲染业务的业务类型,以及界面渲染组件与视频处理引擎之间进行数据传输的数据传输格式。其中,该视频渲染业务的业务类型可以包括回调业务类型和非回调业务类型,回调业务类型是指当视频处理引擎对视频渲染业务处理完成后,需要视频处理引擎返回处理结果;非回调业务类型是指当视频处理引擎对视频渲染业务处理完成后,不需要视频处理引擎返回处理结果。其中,界面渲染组件与视频处理引擎之间进行数据传输的数据传输格式可以为json字符串格式,采用json字符串格式进行数据传输,json字符串格式是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,易于用户阅读和编写,同时易于机器解析和生成,有效地提升网络数据传输效率。当然,界面渲染组件与视频处理引擎之间进行数据传输的数据传输格式可以为xml(xtensible markup language,是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言)、yaml(yet another markup language,一种直观的能够被电脑识别的数据序列化格式)等其他格式,可以根据所需要处理业务的不同,由界面渲染组件与视频处理引擎双方进行自定义,本技术实施例在此不作限制。
52.进一步地,计算机设备可以通过界面渲染组件,根据视频渲染业务的业务类型,对视频渲染业务的业务属性信息进行封装,得到携带业务属性信息的业务处理消息。其中,界面渲染组件与视频处理引擎双方可以预先约定好通信协议的协议内容,如在该通信协议中约定好界面渲染组件与视频处理引擎双方进行通信时所需要的通信参数以及对通信消息的打包格式等等。界面渲染组件可以根据视频渲染业务的业务类型,以及与视频处理引擎进行通信的通信协议,对视频渲染业务的业务属性信息封装。
53.其中,界面渲染组件与视频处理引擎进行通信的通信协议可以包括序列号(seq)、回复号(ack)、目标对象、目标方法、目标调用方法、消息体、回调声明。序列号是指消息(即处理请求)的唯一标识符,也可以是指视频渲染业务的目标业务标识,用于区分不同的消息,在向视频处理引擎发送第一条消息时,可以使用一个随机数作为序列号,在之后的消息中,序列号为上条消息的序列号加一。回复号是当前需要回复的对方发送的消息(即处理请求)的序列号,用于回复消息,若消息为请求消息或者通知消息时,则将回复号的值设置为-1,表示这是一个请求/通知;若消息为回复消息时,则将回复号的值设置当前需要回复的对方发送的消息(即处理请求)的序列号。例如,当前视频处理引擎收到界面渲染组件发送的
消息a1,需要生成回复界面渲染组件发送的回复消息a2,该回复消息a2的回复号为消息a1的序列号,如消息a1的序列号为001,则消息a2的回复号为001。目标对象是指视频处理引擎中用于接收界面渲染组件发送的处理请求的对象,目标方法是指视频处理引擎中用于接收界面渲染组件发送的处理请求的方法。目标调用方法是指界面渲染组件想要调用视频处理引擎中的方法,该目标调用方法的方法参数为消息体,消息体是界面渲染组件想要传输给视频处理引擎的数据(即视频渲染业务的业务属性信息),其数据格式为json字符串格式,根据业务不同,通过界面渲染组件与视频处理引擎方进行自行定义。回调声明用于在界面渲染组件向视频处理引擎发送关于视频渲染业务的处理请求后,指示视频处理引擎返回对视频渲染业务的处理结果。
54.具体的,界面渲染组件可以根据通信协议,获取视频渲染业务的序列号、回复号、目标对象、目标方法、目标调用方法、消息体、回调声明,并进行封装,得到携带业务属性信息的业务处理消息。进一步地,界面渲染组件按照数据传输格式,对携带业务属性信息的业务处理消息进行格式转换处理,得到界面渲染组件生成的关于视频渲染业务的处理请求。例如,数据传输格式为json字符串格式,则将携带业务属性信息的业务处理消息的格式转换为json字符串格式,将具有json字符串格式的业务处理消息确定为界面渲染组件生成的关于视频渲染业务的处理请求。这样,通过界面渲染组件与视频处理引擎之间的通信协议,可以实现界面渲染组件与视频处理引擎之间除了可以传输普通的字符串数据,还可以支持方法调用和回调通知功能。
55.可选的,计算机设备通过界面渲染组件对视频渲染业务的业务属性信息进行封装的具体方式可以包括:若视频渲染业务的业务类型为回调业务类型,则通过界面渲染组件获取视频渲染业务关联的回调声明,将视频渲染业务的业务属性信息封装在消息体中,将回调声明封装在消息头中,得到携带业务属性信息的业务处理消息;回调声明用于指示视频处理引擎向界面渲染组件返回视频渲染业务的处理结果。若视频渲染业务的业务类型为非回调业务类型,则通过界面渲染组件将视频渲染业务的业务属性信息进行封装在消息体中,得到携带业务属性信息的业务处理消息。
56.具体的,若视频渲染业务的业务类型为回调业务类型,即当视频处理引擎处理完视频渲染业务后,需要向界面渲染组件返回处理结果,则通过界面渲染组件获取视频渲染业务关联的回调声明,该回调声明用于指示视频处理引擎向界面渲染组件返回视频渲染业务的处理结果。界面渲染组件可以将视频渲染业务的业务属性信息封装至消息体中,将回调声明封装在消息头中,同时也将视频渲染业务的序列号、回复号、目标对象、目标方法、目标调用方法封装至消息头中,得到携带业务属性信息的业务处理消息。若视频渲染业务的业务类型为非回调业务类型,即当视频处理引擎处理完视频渲染业务后,不需要向界面渲染组件返回处理结果,则通过界面渲染组件将视频渲染业务的业务属性信息进行封装在消息体中,同时也将视频渲染业务的序列号、回复号、目标对象、目标方法、目标调用方法封装至消息头中,得到携带业务属性信息的业务处理消息。这样,通过根据视频渲染业务的业务类型,判断是否对与视频渲染业务关联的回调声明进行封装,可以实现界面渲染组件与视频处理引擎之间的回调通知功能。
57.其中,计算机设备可以预先设置与界面渲染组件关联的方法集合和函数集合,与界面渲染组件关联的方法集合可以用于存储会被视频处理引擎调用的方法,与界面渲染组
件关联的函数集合用于存储界面渲染组件发送的处理请求中的回调函数。同样的,计算机设备可以设置与视频处理引擎关联的方法集合和函数集合,与视频处理引擎关联的方法集合可以用于存储会被界面渲染组件调用的方法,与视频处理引擎关联的函数集合用于存储视频处理引擎发送的处理请求中的回调函数。其中,方法集合和函数集合均可以为hashmap(一种散列表),hashmap存储的内容是键值对(key-value)映射,根据键值对存储数据,具有很快的访问速度,可以较快查询到需要的数据。其中,方法集合中的键(即key)为处理请求中的目标调用方法的标识,方法集合中的键值(即value)为对应的方法(即具体处理逻辑)。在界面渲染组件或者视频处理引擎初始化时,或者方法会被另一侧调用时,提前将会被调用的方法添加至方法集合中,被另一侧调用后不会被释放(即删除),需要管理人员手动释放。函数集合中的键(即key)为处理请求的序列号(即视频渲染业务的序列号),函数集合中的键值(即value)为对应的回调函数,函数集合中的回调函数被调用后,会自动释放(即删除)。
58.可选的,当视频渲染业务的业务类型为回调业务类型时,计算机设备可以获取视频渲染业务的目标业务标识,以及视频渲染业务关联的第一回调函数。其中,视频渲染业务的目标业务标识可以为处理请求的序列号,第一回调函数是指当界面渲染组件接收到视频处理引擎返回的针对视频渲染业务的处理结果所需要调用的回调函数,用于执行视频渲染业务的后续处理。进一步地,计算机设备可以建立目标业务标识与第一回调函数之间的关联关系,根据关联关系,将第一回调函数存储至与界面渲染组件关联的函数集合中。其中,目标业务标识与第一回调函数之间的关联关系用于指示界面渲染组件根据视频处理引擎返回的关于视频渲染业务的处理结果,从与界面渲染组件关联的函数集合中查找到第一回调函数,并调用该第一回调函数,执行视频渲染业务的后续处理。可以理解的是,计算机设备可以将视频渲染业务的目标业务标识作为键值对的键“key”,将第一回调函数作为键“目标业务标识”对应的值“value”,即“目标业务标识=第一回调函数”,建立目标业务标识与第一回调函数之间的关联关系,并将目标业务标识与第一回调函数之间的关联关系存储至界面渲染组件对应的函数集合中。
59.这样,当视频渲染业务的业务类型为回调业务类型时,则将视频渲染业务对应的第一回调函数存储在与界面渲染组件关联的函数集合中,并在处理请求中封装回调声明,以指示视频处理引擎返回针对视频渲染业务的处理结果。这样,当界面渲染组件接收到视频处理引擎返回的针对视频渲染业务的处理结果后,可以根据视频渲染业务的目标业务标识,从与界面渲染组件关联的函数集合中,获取目标业务标识对应的第一回调函数,并调用该第一回调函数,以处理视频渲染业务的后续处理。这样便实现了界面渲染组件与视频处理引擎之间不仅可以普通字符串数据传输,还可以支持回调通知功能。
60.可选的,计算机设备确定用于转发业务属性信息的目标转发对象的具体方式可以包括:获取处理请求携带的视频渲染业务的业务属性信息的信息数据量。若业务属性信息的信息数据量大于或者等于目标数据量,则将运行界面渲染组件的终端设备中的目标共享内存作为目标转发对象。若业务属性信息的信息数据量小于目标数据量,则将运行界面渲染组件的终端设备的目标操作系统作为目标转发对象。
61.具体的,计算机设备可以获取处理请求中携带的视频渲染业务的业务属性信息的信息数据量,检测业务属性信息的信息数据量是否小于目标数据量。换句话说,视频渲染业
务的业务属性信息可以是指用于对目标虚拟角色进行创建渲染的渲染参数(如渲染位置参数、渲染尺寸参数、渲染样式参数等等参数),业务属性信息的信息数据量可以是指渲染参数的参数数据量。若业务属性信息的信息数据量大于或者等于目标数据量,则可以将运行界面渲染组件的终端设备中的目标共享内存作为目标转发对象。界面渲染组件可以将处理请求存入目标共享内存中,视频处理引擎可以从目标共享内存中获取到界面渲染组件的处理请求,进而实现目标共享内存将界面渲染组件的处理请求转发给视频处理引擎。
62.其中,计算机设备可以调用内存开辟函数,在运行界面渲染组件的终端设备的内存中开辟一块区域,作为目标共享内存,并生成该目标共享内存区域的调用接口,将该调用接口发送给界面渲染组件和视频处理引擎,用于界面渲染组件和视频处理引擎向目标共享内存中写入数据或者读取数据,并存储界面渲染组件和视频处理引擎之间的通信数据。这样,可以在传输大量数据量的业务属性信息时,减少数据传输的时间,同时,可以减少数据拷贝的次数,提高数据传输效率。
63.具体的,若业务属性信息的信息数据量小于目标数据量,则将运行界面渲染组件的终端设备的目标操作系统作为目标转发对象。这样,当业务属性信息的信息数据量小于目标数据量时,通过终端设备的目标操作系统转发界面渲染组件的处理请求给视频处理引擎,可以确保不会占用终端设备太多的硬件资源,给终端设备造成较大运行负载的同时,可以保障界面渲染组件与视频处理引擎之间的数据传输的安全性。当业务属性信息的信息数据量大于或者等于目标数据量时,通过终端设备的目标操作系统转发的话,会占用终端设备中的一定硬件资源,同时会给终端设备造成较大的运行负载,因此,可以通过目标共享内存转发方式,转发界面渲染组件与视频处理引擎之间的通信信息,可以提高数据传输效率。
64.s102,确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息。
65.具体的,计算机设备可以确定与界面渲染组件关联的视频处理引擎,换句话说,计算机设备获取到界面渲染组件的处理请求后,可以确定接收该界面渲染组件的处理请求的视频处理引擎。进一步地,计算机设备可以从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎之间进行通信的目标通信信息。其中,界面渲染组件的数据集成插件是一种遵循一定规范的应用程序接口编写出来的程序,只能运行在程序规定的系统平台下(可以同时支持多个平台)。该数据集成插件中添加了两种转发对象分别与视频处理引擎进行通信的通信信息,以及视频处理引擎在一种或者多种操作系统下运行的运行数据包,至少两种转发对象包括目标转发对象。
66.这样,界面渲染组件运行在终端设备的目标操作系统中时,视频处理引擎可以通过数据集成插件中目标操作系统对应的运行数据包,运行在终端设备的目标操作系统中。通过界面渲染组件中的数据集成插件,可以将界面渲染组件与视频处理引擎的运行流程解耦,实现界面渲染组件与视频处理引擎的开发互不影响,同时可以实现界面渲染组件与视频处理引擎之间的通信机制可以应用在不同操作系统下,抹平了不同硬件平台操作系统之间与视频处理引擎的通信的差异性。换句话说,通过界面渲染组件中的数据集成插件,界面渲染组件和视频处理引擎可以分别独立开发以及运行,互不影响,降低视频处理引擎与界面渲染组件之间的依赖性。例如,界面渲染组件向视频处理引擎发送处理请求后,可以继续进行其他业务处理,而不用等待视频处理引擎的处理结果。
67.可选的,计算机设备生成界面渲染组件中的数据集成插件的具体方式可以包括:计算机设备可以获取至少两种转发对象分别对应的数据文件,每种转发对象的数据文件中包括对应转发对象与视频处理引擎之间的目标通信信息。进一步地,将至少两种转发对象分别对应的数据文件添加至数据集成插件中,将该数据集成插件添加至界面渲染组件的项目工程中,便得到界面渲染组件的数据集成插件。具体的,当计算机设备在数据集成插件中集成终端设备的操作系统对应的数据文件时,如android操作系统、ios操作系统等操作系统,可以调用数据集成插件中的自动化构建脚本,将视频处理引擎导出为至少两种数据文件,至少两种数据文件分别对应的数据库格式均不相同,每种数据文件对应的数据库格式与一种操作系统的运行规则相匹配。其中,每种数据文件包括对应操作系统与视频处理引擎之间的目标通信信息以及适配对应转发对象的运行规则的视频处理引擎运行数据包。
68.可以理解的是,数据集成插件中包括适配一个或者多个操作系统分别对应的运行规则的至少两种数据文件,该至少两种数据文件可以为适配android操作系统的运行规则的aar数据文件、适配ios操作系统的运行规则的framework数据文件、适配windows操作系统的dll(是一个包含可通过多个程序同时使用的代码和数据的库格式)数据文件等。计算机设备可以预先将视频处理引擎导出为满足aar、framework以及dll等数据库格式的至少两种数据文件,并将该至少两种数据文件集成至数据集成插件中。具体的,当计算机设备在数据集成插件中集成终端设备的目标共享内存对应的数据文件,可以将与目标共享内容关联的c/c++代码导出为通用数据库格式的数据文件,该通用数据库格式是指界面渲染组件和视频处理引擎均支持的格式。该通用数据库格式的数据文件包括目标共享内存与视频处理引擎以及界面渲染组件之间的通信信息,将该通用数据库格式的数据文件添加至数据集成插件中。
69.如图4所示,图4是本技术实施例提供的一种生成数据集成插件的示意图,如图4所示,当转发对象为终端设备中的操作系统时,计算机设备在数据集成插件中集成不同操作系统对象的数据文件时,计算机设备可以将视频处理引擎导出为第一数据库格式的第一数据文件,该第一数据库格式可以是指适配android操作系统的运行规则的aar格式,第一数据文件则可以是指适配android操作系统的运行规则的aar数据文件。该第一数据文件是依赖于android操作系统的项目工程生成的,换句话说,第一数据文件是在android操作系统的项目工程的目录下生成的。同样的,计算机设备可以将视频处理引擎导出为第二数据库格式的第二数据文件,该第二数据库格式可以是指适配ios操作系统的运行规则的framework格式,第二数据文件可以是指适配ios操作系统的运行规则的framework文件。该第二数据文件是依赖于ios操作系统的项目工程生成的,换句话说,第二数据文件是在ios操作系统的项目工程的目录下生成的。进一步地,计算机设备可以将第一数据文件和第二数据文件集成至数据集成插件中,并将数据集成插件添加至界面渲染组件中。这样,可以实现通过数据集成插件,向界面渲染组件与视频处理引擎之间提供通信通道,同时也可以实现在不同操作系统的硬件平台中使用界面渲染组件,抹平了不同操作系统的硬件平台的差异性,使用界面渲染组件的一套统一接口便可以完成与视频处理引擎之间的双向通信。
70.可选的,目标转发对象可以为目标操作系统,目标操作系统与视频处理引擎之间的目标通信信息的生成方式可以包括:获取视频处理引擎的第二外部通信接口,以及目标操作系统匹配的目标数据库格式。按照目标数据库格式,对第二外部通信接口进行转化处
理,得到通信接口文件。将通信接口文件添加至界面渲染组件的数据集成插件中,将通信接口文件确定为目标操作系统与视频处理引擎进行通信的目标通信信息。
71.具体的,计算机设备可以视频处理引擎的第二外部通信接口,该第二外部通信接口是指视频处理引擎提供的通信接口(通信api),通过该第二外部通信接口可以与视频处理引擎进行通信。计算机设备可以获取目标操作系统的目标数据库格式,如android操作系统的数据库格式为aar,ios操作系统的数据格式为framework。进一步地,计算机设备可以按照目标操作系统的目标数据库格式,对第二外部通信接口进行转化处理,得到通信接口文件。可以理解的是,计算机设备可以将视频处理引擎的第二外部接口转化为目标操作系统对应的目标数据库格式,得到通信接口文件。计算机设备可以将目标操作系统与视频处理引擎之间的通信接口文件添加至界面渲染组件的数据集成插件中,将该通信接口文件确定为目标操作系统与视频处理引擎之间进行通信的目标通信信息。可以理解的是,不同操作系统与视频处理引擎之间的目标通信信息均是对视频处理引擎的第二外部通信接口进行转化得到的,针对不同操作系统转化成不同格式的通信接口文件。
72.s103,通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。
73.具体的,计算机设备可以调用界面渲染组件将关于视频渲染业务的处理请求发送给目标转发对象,通过目标转发对象,基于目标转发对象与视频处理引擎之前的目标通信信息,将关于视频渲染业务的处理请求发送给视频处理引擎。视频处理引擎接收到关于视频渲染业务的处理请求后,计算机设备可以调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。通过于视频处理引擎仅支持与操作系统进行通信,且界面渲染组件与视频处理引擎均为开发框架,不能直接进行通信,因此可以通过目标转发对象,将界面渲染组件的处理请求发送给视频处理引擎,以实现界面渲染组件与视频处理引擎之间的通信。
74.可选的,计算机设备调用界面渲染组件将关于视频渲染业务的处理请求发送给目标转发对象的具体方式可以包括:计算机设备获取到界面渲染组件生成的关于视频渲染业务的处理请求后,可以通过目标传输方式,将处理请求发送给目标转发对象。其中,当目标转发对象为终端设备的目标操作系统时,目标转发方式可以为methodchannel方式。其中,methodchannel方式是界面渲染组件与android/ios等操作系统的通信机制,实现了在界面渲染组件和android/ios等操作系统之间进行数据传输。具体的,当采用methodchannel方式将处理请求发送给目标转发对象时,计算机设备可以预先在界面渲染组件和目标操作系统中设置用于转发处理请求的方法通道,以及在目标操作系统中设置好方法通道对应的业务处理逻辑。界面渲染组件可以通过方法通道,将关于视频渲染业务的处理请求发送给终端设备中的目标操作系统,目标操作系统接收到处理请求,可以获取方法通道对应的业务处理逻辑(即将处理请求转发给视频处理引擎的处理逻辑),将处理请求转发给视频处理引擎。
75.可选的,计算机设备调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务的具体方式可以包括:调用视频处理引擎,根据业务属性信息对视频渲染业务进行处理,得到关于视频渲染业务的处理结果。若处理请求中还携带视频渲染业务关联的回调声明,则通过视频处理引擎将处理结果发送至目标转发对象,通过目标转发对象将
处理结果返回给界面渲染组件。
76.具体的,计算机设备可以调用视频处理引擎,根据业务属性信息对视频渲染业务进行处理,得到关于视频渲染业务的处理结果。当视频处理引擎对视频渲染业务处理完成后,可以检测处理请求中是否携带视频渲染业务关联的回调声明。若处理请求中携带视频渲染业务关联的回调声明,则通过视频处理引擎将视频渲染业务的处理结果返回给目标转发对象,通过目标转发对象将视频渲染业务的处理结果返回给界面渲染组件。若处理请求中没有携带视频渲染业务关联的回调声明,则视频处理引擎不会将视频渲染业务的处理结果返回给界面渲染组件。其中,与视频渲染业务关联的回调声明用于指示视频处理引擎处理完视频渲染业务后,向界面渲染组件返回视频渲染业务的处理结果。这样,便可以实现界面渲染组件与视频处理引擎之间的回调通知功能。
77.可选的,计算机设备调用视频处理引擎得到关于视频渲染业务的处理结果的具体方式可以包括:调用视频处理引擎,获取视频渲染业务的处理类型。若视频渲染业务的处理类型为方法调用类型,则获取业务属性信息中所携带的目标方法标识。从视频处理引擎对应的方法集合中,获取目标方法标识对应的目标调用方法,将业务属性信息传递至目标调用方法中,执行携带业务属性信息的目标调用方法,得到关于视频渲染业务的处理结果。
78.具体的,计算机设备可以调用视频处理引擎,获取视频渲染业务的处理类型,该处理类型可以包括方法调用类型和数据传递类型,方法调用类型是指需要调用视频处理引擎中的调用方法,数据传递类型是指向视频处理引擎传递数据。其中,若视频渲染业务的处理类型为方法调用类型,则获取业务属性信息中所携带的目标方法标识,该目标方法标识是指界面渲染组件需要调用视频处理引擎的方法,在界面渲染组件生成处理请求时,封装进携带业务属性信息的业务处理消息中消息头的。进一步地,视频处理引擎可以从视频处理引擎对应的方法集合(即与视频处理引擎关联的方法集合)中,获取目标方法标识对应的目标调用方法。并将视频渲染业务中的业务属性信息作为方法参数,传递至目标调用方法中,执行携带业务属性信息的目标调用方法,得到关于视频渲染业务的处理结果。该关于视频渲染业务的处理结果可以是指视频渲染业务执行完成,或者,视频渲染业务执行失败。例如,视频渲染业务为使目标虚拟角色1向上走5步,则视频渲染业务的业务属性信息为向上走5步,视频处理引擎接收到关于视频渲染业务的处理请求后,可以调用目标虚拟角色行走的行走方法,将向上走5步作为方法参数传递至目标虚拟角色行走的行走方法中,执行向上走5步。
79.可选的,计算机设备可以调用视频处理引擎,获取视频渲染业务的处理类型,若视频渲染业务的处理类型为数据传递类型,则获取视频处理引擎中的通用业务处理逻辑,根据业务属性信息执行该通信业务处理逻辑,得到关于视频渲染业务的处理结果。可以理解的是,若视频渲染业务的处理类型为数据传递类型,则通过视频处理引擎根据通用业务处理逻辑,自定义处理视频渲染业务。例如,视频渲染业务为修改目标虚拟角色1的颜色参数,该修改目标虚拟角色1的颜色参数没有对应的调用方法,则通过视频处理引擎根据通用业务处理逻辑,自行修改目标虚拟角色1的颜色参数。这样,通过视频渲染业务的处理类型,确定对视频渲染业务的处理方式,可以实现视频处理引擎识别出处理请求中所需要调用的调用方法,进而实现视频处理引擎与界面渲染组件之间不仅可以只是简单的字符串数据传输,也可以支持方法调用功能。
80.可选的,通过视频处理引擎将处理结果发送至目标转发对象的具体方式可以包括:通过视频处理引擎,获取目标转发对象的本地通信接口。通过本地通信接口,调用目标转发对象中用于接收信息的消息接收函数,将处理结果作为消息接收函数的函数参数,传递至消息接收函数中。
81.具体的,视频处理引擎将视频渲染业务的处理结果发送给目标转发对象时,可以获取目标转发对象的本地通信接口。通过本地通信接口,调用目标转发对象中用于接收信息的消息接收函数,将处理结果作为消息接收函数的函数参数,传递至消息接收函数中,进而实现将处理结果发送给目标转发对象。其中,当目标转发对象为android操作系统时,android操作系统的本地通信接口为jni,jni是一种java本地接口,使得android操作系统的java虚拟机中的程序可以调用其他语言编写的程序,或者被其他语言编写的程序调用。这样,视频处理引擎可以通过jni接口与android操作系统进行通信,调用android操作系统中用于接收视频处理引擎的处理结果的消息接收函数,将处理结果作为函数参数传递至消息接收函数,进而完成处理结果发送给android操作系统。其中,当目标转发对象为ios操作系统时,ios操作系统的本地通信接口为unity插件,该unity插件接口中包括ios的接口文件和源文件,计算机设备可以预先在视频处理引擎中引入该unity插件。在需要向ios操作系统发送处理结果时,在unity插件中获取ios的接口,调用ios操作系统中用于接收视频处理引擎的处理结果的消息接收函数,将处理结果作为函数参数传递至消息接收函数,进而完成处理结果发送给ios操作系统。
82.可选的,目标转发对象接收到视频处理引擎发送的关于视频渲染业务的处理结果后,可以通过目标转发方式,将关于视频渲染业务的处理结果转发给界面渲染组件。其中,当目标转发对象为终端设备的目标操作系统时,目标转发方式可以为methodchannel方式。其中,methodchannel方式是界面渲染组件与android/ios等操作系统的通信机制,实现了在界面渲染组件和android/ios等操作系统之间进行数据传输。目标转发对象通过methodchannel方式将处理结果转发至界面渲染组件的具体内容可以参数上述描述,本技术实施例在此不再赘述。
83.可选的,视频处理引擎处理视频渲染业务后得到的处理结果可以包括处理结果指示信息和视频渲染业务的目标业务标识,处理结果指示信息用于指示具有目标业务标识的视频渲染业务的处理结果为处理成功或者处理失败。界面渲染组件接收到视频处理引擎返回的处理结果后,若视频渲染业务的处理结果指示信息指示具有目标业务标识的视频渲染业务的处理结果为处理成功,则调用界面渲染组件,根据处理结果中的目标业务标识,从与界面渲染组件关联的函数集合中,确定目标业务标识关联的回调函数,作为第一回调函数,并执行第一回调函数。可以理解的是,该第一回调函数是指界面渲染组件确定视频渲染业务的处理结果为处理成功时调用的函数。界面渲染组件关联的函数集合中包括n个回调函数,一个回调函数与一个业务标识相关联,n为正整数,如n可以取值为1,2,3


84.可选的,计算机设备还可以在与界面渲染组件关联的函数集合中预先设置,与目标业务标识关联的第一回调函数和第二回调函数,该第一回调函数是指界面渲染组件确定视频渲染业务的处理结果为处理成功时调用的函数,第三回调函数是指界面渲染组件确定视频渲染业务的处理结果为处理失败时调用的函数。函数集合中包括n个回调函数,两个回调函数与一个业务标识相关联。这样,当界面渲染组件确定视频渲染业务的处理结果为处
理成功时,则根据视频渲染业务的目标业务标识,从与界面渲染组件关联的函数集合中,获取第一回调函数,并执行第一回调函数。当界面渲染组件确定视频渲染业务的处理结果为处理失败时,则根据视频渲染业务的目标业务标识,从与界面渲染组件关联的函数集合中,获取第二回调函数,并执行第二回调函数。例如,界面渲染组件请求视频处理引擎创建目标虚拟角色a1,当视频处理引擎创建成功目标虚拟角色a1时,界面渲染组件可以调用第一回调函数,向目标用户输出目标虚拟角色1创建成功的消息。当视频处理引擎创建失败目标虚拟角色a1时,界面渲染组件可以调用第二回调函数,向目标用户输出目标虚拟角色1创建失败的消息。
85.如图5所示,图5是本技术实施例提供的一种通过目标操作系统转发处理请求的示意图,如图5所示,用于转发界面渲染组件的处理请求的目标转发对象为运行界面渲染组件的终端设备的目标操作系统,该目标操作系统可以是指android操作系统、ios操作系统等。界面渲染组件生成关于视频渲染业务的处理请求后,可以执行步骤1,以将该处理请求的序列号设置为x,回复号为-1,回复号为-1说明这是一条请求。可以理解的是,界面渲染组件可以与目标操作系统之间的方法通道(即methodchannel),向目标操作系统发送处理请求,具体过程可以参见上述界面渲染组件与目标操作系统的通信过程,本技术实施例在此不再赘述。进一步地,目标操作系统接收到界面渲染组件发送的处理请求后,可以执行步骤2,通过与视频处理引擎之间的目标通信信息(即通信接口文件),将该处理请求转发给视频处理引擎。视频处理引擎接收到界面渲染组件发送的处理请求后,可以执行步骤3,通过处理请求中携带的业务属性信息,对视频渲染业务进行处理,得到处理结果。其中,视频处理引擎对视频渲染业务进行处理的过程可以参见上述步骤s103的具体内容,本技术实施例在此不再赘述。进一步地,当视频处理引擎根据处理请求中携带的回调声明,确定需要向界面渲染组件返回关于目标渲染业务的处理结果后,可以执行步骤4,将处理结果发送给目标操作系统。该处理结果的序列号为y,回复号为处理请求的序列号,用于指示处理结果是处理请求的回复消息,用于回复处理请求。其中,视频处理引擎将处理结果发送给目标操作系统的过程可以参见上述步骤s103的具体内容,本技术实施例在此不再赘述。进一步地,目标操作系统接收到视频处理引擎发送的处理结果后,可以执行步骤5,将视频处理引擎发送的处理结果转发给界面渲染组件。其中,目标操作系统将视频处理引擎发送的处理结果转发给界面渲染组件的过程可以参见上述步骤s103的具体内容,本技术实施例在此不再赘述。界面渲染组件接收到视频处理引擎发送的处理结果后,可以执行步骤6,根据处理结果中的回复号,从与界面渲染组件关联的函数集合中,获取视频渲染业务的目标业务标识(即回复号)对应的回调函数,并执行该目标业务标识(即回复号)对应的回调函数。这样,便可以实现界面渲染组件与视频处理引擎之间的通信,通过界面渲染组件构建视频处理引擎ui界面,对视频处理引擎的开发过程进行可视化,而不用不同操作系统构建对应的平台渲染组件,可以降低开发成本,同时降低与视频处理引擎进行通信的维护成本,不仅可以支持字符串的数据传输,还可以支持函数调用功能和回调通知功能。
86.可选的,界面渲染组件可以根据不同操作系统,创建不同操作系统对应的视图,不同操作系统对应的视图用于承载视频处理引擎播放器,该视频处理引擎播放器用于播放视频处理引擎中的视频。同时,界面渲染组件可以创建视频处理引擎播放器的控制器,该视频处理引擎播放器的控制器包含了用于视频处理引擎与目标转发对象进行通信的通信通道
和调用视频处理引擎的功能调用接口,视频处理引擎播放器的控制器用于控制视频处理引擎的表现。这样,便可以实现通过界面渲染组件调用视频处理引擎中的相关功能,对视频处理引擎的表现进行控制。
87.具体的,视频处理引擎对应的用户界面用于对视频处理引擎进行可视化,用于目标用户搭建视频场景,因此当视频处理引擎对应的用户界面被关闭时,不会销毁承载视频处理引擎播放器的目标视图面板,以及视频处理引擎播放器的控制器,只有当视频处理引擎被关闭时,才会销毁承载视频处理引擎播放器的目标视图面板,以及视频处理引擎播放器的控制器,这样可以提高视频处理引擎播放器的目标视图面板,以及视频处理引擎播放器的控制器的可复用性。
88.同样的,视频处理引擎也可以根据与界面渲染组件之间的通信协议生成目标消息,该目标消息可以是指视频处理引擎针对界面渲染组件发送的关于视频渲染业务的处理请求的回复消息。其中,视频处理引擎与界面渲染组件之间的通信协议也可以包括序列号(seq)、回复号(ack)、消息体、目标调用方法、回调函数,具体内容可以上述参与界面渲染组件与视频处理引擎之间的通信协议。同样的,视频处理引擎可以先将目标消息发送给目标转发对象,通过目标转发对象将目标消息转发给界面渲染组件。同样的,界面渲染组件可以根据目标消息的处理类型,对目标消息进行处理。其中,目标消息的处理类型也可以包括方法调用类型和数据传递类型,具体可以参考上述对视频渲染业务的处理过程。当目标消息中指示视频处理引擎需要界面渲染组件返回处理结果时,则向视频处理引擎返回目标消息的处理结果。视频处理引擎向界面渲染组件的通信过程可以参考界面渲染组件向视频处理引擎通信的过程,本技术在此不再赘述。
89.在本技术实施中,通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象。确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息。由于数据集成插件包括至少两种转发对象分别与视频处理引擎进行通信的目标通信信息,目标转发对象可以与视频处理引擎进行通信。通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。这样,目标转发对象可以将界面渲染组件生成的处理请求转发给视频处理引擎,实现界面渲染组件与视频处理引擎之间的通信以及功能调用。同时,仅需要开发出界面渲染组件与视频处理引擎之间的一套接口,便可以实现在不同操作系统中通过界面渲染组件调用视频处理引擎进行视频渲染业务处理,而不用不同操作系统平台开发出不同的平台渲染组件调用视频处理引擎进行视频渲染业务处理,不同平台渲染组件需要不同接口与视频处理引擎进行通信和功能调用。这样,可以降低调用视频处理引擎的开发成本,以及降低与视频处理引擎通信的维护成本,简化在不同操作系统平台中调用视频处理引擎的过程,进而提高与视频处理引擎的通信效率。通过本技术,通过在界面渲染组件中部署数据集成插件,数据集成插件包括多种转发对象与视频处理引擎进行通信的通信信息,此处的转发对象为用于在界面渲染组件与视频处理引擎之间进行数据转发的对象,如可以包括多种操作系统、共享内存,基于该数据集成插件中的通信信息,可实现界面渲染组件与视频处理引擎之间的通信。换言之,通过该数据集成插件,能够向界面渲染组件和视频处理引擎提供一种通信通道,能够抹平具有不同操作
系统的硬件平台之间的差异性,即该数据集成插件能够适用于不同操作系统的硬件平台,提高数据集成插件的适用范围。另外,在界面渲染组件与视频处理引擎之间通信的过程中,不需要适应地修改界面渲染组件,降低开发成本,同时避免开发过程出错,提高界面渲染组件与视频处理引擎通信的效率较低。
90.进一步地,请参见图6,是本技术实施例提供的一种数据通信方法的流程示意图。如图6所示,该方法可由图1中的终端设备来执行,也可以由图3中的服务器来执行,还可以由图1中的终端设备和服务器共同执行,本技术中用于执行该方法的设备可以统称为计算机设备。如图6所示,该数据通信方法可以包括但不限于以下步骤s201-s204:
91.s201,通过界面渲染组件获取关于视频渲染业务的处理请求,获取处理请求携带的视频渲染业务的业务属性信息。
92.具体的,本技术实施例中步骤s201的具体内容可以参考上述图3中步骤s101的具体内容。
93.s202,若业务属性信息的信息数据量大于或者等于目标数据量,则将运行界面渲染组件的终端设备中的目标共享内存,确定为用于转发处理请求的目标转发对象。
94.具体的,由于界面渲染组件是跨平台开发的开发框架,视频处理引擎不支持开发框架进行通信,因此可以通过目标转发对象,将界面渲染组件生成的关于视频渲染业务的处理请求转发给视频处理引擎,进而实现视频处理引擎与界面渲染组件之间的通信。当计算机设备确定业务属性信息的信息数据量大于或者等于目标数据量,将运行界面渲染组件的终端设备的目标操作系统作为转发对象时,则会给终端设备带来较大的运行负载以及占用终端设备的一定的硬件资源。因此,可以确定运行界面渲染组件的终端设备中的目标共享内存转发处理请求,这样,可以减轻终端设备的运行负载。其中,计算机设备可以调用内存开辟函数,在运行界面渲染组件的终端设备的内存中开辟一块区域,作为目标共享内存,并生成该目标共享内存区域的调用接口,将该调用接口发送给界面渲染组件和视频处理引擎,用于界面渲染组件和视频处理引擎向目标共享内存中写入数据或者读取数据,并存储界面渲染组件和视频处理引擎之间的通信数据。这样,可以在传输大量数据量的业务属性信息时,减少数据传输的时间,同时,可以减少数据拷贝的次数,提高数据传输效率。
95.s203,确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标共享内存与视频处理引擎进行通信的目标通信信息。
96.s204,通过目标共享内存,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。
97.具体的,计算机设备可以确定与界面渲染组件关联的视频处理引擎,即确定接收该处理请求的视频处理引擎。从界面渲染组件的数据集成插件中,查询目标共享内存与视频处理引擎之间进行通信的目标通信信息,该数据集成插件中包括多个转发对象与视频处理引擎之间的通信信息,数据集成插件的具体内容可以参见上述图3中步骤s102的描述,本技术实施例在此不再赘述。计算机设备可以通过界面渲染组件,将关于视频渲染业务的处理请求写入目标共享内存中,视频处理引擎可以在目标共享内存中获取关于视频渲染业务的处理请求,以及将视频渲染业务的处理结果写入目标共享内存中,界面渲染组件可以从目标共享内存中获取视频渲染业务的处理结果。这样,实现了视频处理引擎与界面渲染组件之间的通信,同时,相对于通过目标操作系统转发界面渲染组件的处理请求时,需要界面
渲染组件将处理请求拷贝一次发送给目标操作系统,目标操作系统会将处理请求再拷贝一次发送给视频处理引擎,通过目标共享内存,只需要界面渲染组件将处理请求拷贝一次便可以将处理请求发送给视频处理引擎,可以减少数据拷贝的次数,进而可以提高数据通信的效率。
98.可选的,目标共享内存与视频处理引擎之间的目标通信信息可以为动态链接。计算机设备生成目标共享内存与视频处理引擎之间的目标通信信息可以包括:通过界面渲染组件,调用目标共享内存的第一外部通信接口,向目标共享内存中写入处理请求。获取目标共享内存的存储地址信息,根据存储地址信息生成动态链接。将动态链接添加至界面渲染组件的数据集成插件中,将动态链接确定为目标共享内存与视频处理引擎进行通信的目标通信信息。
99.具体的,界面渲染组件生成关于视频渲染业务的处理请求后,可以通过目标共享内存的第一外部通信接口,调用目标共享内存的数据写入方法,在目标共享内存中写入关于视频渲染业务的处理请求。其中,目标共享内存的第一外部通信接口可以是指ffi接口,ffi接口是指外部函数接口,是以dart(一种编程语言)编写的程序,可以调用以另一种编程语言编写的程序,如可以用于调用终端本地的c/c++接口。可以理解的是,界面渲染组件可以通过ffi接口直接调用终端本地中的c/c++代码,往目标共享内存写入关于视频渲染业务的处理请求。进一步地,计算机设备可以获取目标共享内存的存储地址信息,根据目标共享内存的存储地址信息,根据存储地址信息生成动态链接。其中,动态链接(即动态链接库,dynamic-link library,简称dll),是一个包含函数和数据的模块,它可以被其他模块使用。计算机设备可以将动态链接添加至界面渲染组件的数据集成插件中,将动态链接确定为目标共享内存与视频处理引擎进行通信的目标通信信息。这样,视频处理引擎可以通过动态链接,从共享内存中获取界面渲染组件的处理请求,以及调用目标共享内存的数据写入方法,在共享内存中写入关于视频渲染业务的回复消息。这样,通过目标转发对象,将动态链接提供给视频处理引擎,通过视频处理引擎根据动态链接从目标共享内存中读取处理请求。同样的,视频处理引擎通过动态链接在目标共享内存中获取到界面渲染组件生成的处理请求后,可以根据处理请求中携带的业务属性信息,对视频渲染业务进行处理,得到关于视频渲染业务的处理结果。进一步地,视频处理引擎可以通过动态链接,将关于视频渲染业务的处理结果写入目标共享内存中。界面渲染组件可以通过ffi接口直接调用终端本地中的c/c++代码,在目标共享内存中读取关于视频渲染业务的处理结果处理请求。这样,实现界面渲染组件与视频处理引擎之间的双向通信。
100.在本技术实施中,计算机设备可以通过界面渲染组件,将关于视频渲染业务的处理请求写入目标共享内存中,视频处理引擎可以在目标共享内存中获取关于视频渲染业务的处理请求,以及将视频渲染业务的处理结果写入目标共享内存中,界面渲染组件可以从目标共享内存中获取视频渲染业务的处理结果。这样,实现了视频处理引擎与界面渲染组件之间的通信,同时,相对于通过目标操作系统转发界面渲染组件的处理请求时,需要界面渲染组件将处理请求拷贝一次发送给目标操作系统,目标操作系统会将处理请求再拷贝一次发送给视频处理引擎,通过目标共享内存,只需要界面渲染组件将处理请求拷贝一次便可以将处理请求发送给视频处理引擎,可以减少数据拷贝的次数,进而可以提高数据通信的效率。同时,目标共享内存可以将界面渲染组件生成的处理请求转发给视频处理引擎,实
现界面渲染组件与视频处理引擎之间的通信以及功能调用。同时,仅需要开发出界面渲染组件与视频处理引擎之间的一套接口,便可以实现在不同操作系统中通过界面渲染组件调用视频处理引擎进行视频渲染业务处理,可以降低调用视频处理引擎的开发成本,以及降低与视频处理引擎通信的维护成本,简化在不同操作系统平台中调用视频处理引擎的过程,进而提高与视频处理引擎的通信效率。换言之,通过该数据集成插件,能够向界面渲染组件和视频处理引擎提供一种通信通道,能够抹平具有不同操作系统的硬件平台之间的差异性,即该数据集成插件能够适用于不同操作系统的硬件平台,提高数据集成插件的适用范围。另外,在界面渲染组件与视频处理引擎之间通信的过程中,不需要适应地修改界面渲染组件,降低开发成本,同时避免开发过程出错,提高界面渲染组件与视频处理引擎通信的效率较低。
101.请参见图7,是本技术实施例提供的一种数据通信装置的结构示意图。上述数据通信装置可以用于执行本技术实施例提供的方法中的相应步骤。如图7所示,该数据通信装置可以包括:确定模块60、查询模块70以及业务处理模块80。
102.确定模块60,用于通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象;
103.查询模块70,用于确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息;数据集成插件包括至少两种转发对象分别与视频处理引擎进行通信的通信信息;至少两种转发对象包括目标转发对象;
104.业务处理模块80,用于通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。
105.根据本技术的一个实施例,图3所示的数据通信方法所涉及的步骤可由图7所示的数据通信装置中的各个模块来执行。例如,图3中所示的步骤s101可由图7中的确定模块60来执行,图3中所示的步骤s102可由图7中的查询模块70来执行;图3中所示的步骤s103可由图7中的业务处理模块80来执行。
106.根据本技术的一个实施例,图7所示的数据通信装置中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的至少两个子单元,可以实现同样的操作,而不影响本技术的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由至少两个单元来实现,或者至少两个模块的功能由一个单元实现。在本技术的其它实施例中,数据通信装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由至少两个单元协作实现。
107.根据本技术的一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的数据通信装置,以及来实现本技术实施例的数据通信方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算机设备中,并在其中运行。
108.在本技术实施中,通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象。确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息。由于数据集成插件包括至少两种转发对象分别与视频处理引擎进行通信的目标通信信息,目标转发对象可以与视频处理引擎进行通信。通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。可见,通过在界面渲染组件中部署数据集成插件,数据集成插件包括多种转发对象与视频处理引擎进行通信的通信信息,此处的转发对象为用于在界面渲染组件与视频处理引擎之间进行数据转发的对象,如可以包括多种操作系统、共享内存,基于该数据集成插件中的通信信息,可实现界面渲染组件与视频处理引擎之间的通信。换言之,通过该数据集成插件,能够向界面渲染组件和视频处理引擎提供一种通信通道,能够抹平具有不同操作系统的硬件平台之间的差异性,即该数据集成插件能够适用于不同操作系统的硬件平台,提高数据集成插件的适用范围。另外,在界面渲染组件与视频处理引擎之间通信的过程中,不需要适应地修改界面渲染组件,降低开发成本,同时避免开发过程出错,提高界面渲染组件与视频处理引擎通信的效率较低。
109.请参见图8,是本技术实施例提供的一种数据通信装置的结构示意图。上述数据通信装置可以用于执行本技术实施例提供的方法中的相应步骤。如图8所示,该数据通信装置可以包括:确定模块100a、查询模块200b、业务处理模块300c。
110.需要说明的是,图8中的确定模块100a具有图7中的确定模块60的全部或部分功能,图8中的查询模块200b具有图7中的查询模块70的全部或部分功能,图8中的业务处理模块300c具有图7中的业务处理模块80的全部或部分功能。
111.可选的,确定模块100a包括第一获取单元11、封装单元12以及转换处理单元13。
112.第一获取单元11,用于通过界面渲染组件,获取视频渲染业务的业务类型,以及界面渲染组件与视频处理引擎之间进行数据传输的数据传输格式;
113.封装单元12,用于根据视频渲染业务的业务类型,对视频渲染业务的业务属性信息进行封装,得到携带业务属性信息的业务处理消息;
114.转换处理单元13,用于按照数据传输格式,对携带业务属性信息的业务处理消息进行格式转换处理,得到关于视频渲染业务的处理请求。
115.可选的,封装单元12根据视频渲染业务的业务类型,对视频渲染业务的业务属性信息进行封装,得到携带业务属性信息的业务处理消息,包括:
116.若视频渲染业务的业务类型为回调业务类型,则通过界面渲染组件获取视频渲染业务关联的回调声明,将视频渲染业务的业务属性信息封装在消息体中,将回调声明封装在消息头中,得到携带业务属性信息的业务处理消息;回调声明用于指示视频处理引擎向界面渲染组件返回视频渲染业务的处理结果;
117.若视频渲染业务的业务类型为非回调业务类型,则通过界面渲染组件将视频渲染业务的业务属性信息进行封装在消息体中,得到携带业务属性信息的业务处理消息。
118.可选的,视频渲染业务的业务类型为回调业务类型,确定模块100a还包括第二获取单元14和存储单元15。
119.第二获取单元14,用于获取视频渲染业务的目标业务标识,以及视频渲染业务关联的第一回调函数;
120.存储单元15,用于建立目标业务标识与第一回调函数之间的关联关系,根据关联关系,将第一回调函数存储至与界面渲染组件关联的函数集合中;关联关系用于指示界面渲染组件根据视频处理引擎返回的关于视频渲染业务的处理结果,调用第一回调函数。
121.可选的,确定模块100a还包括第三获取单元16、第一确定单元17以及第二确定单元18。
122.第三获取单元16,用于获取处理请求携带的视频渲染业务的业务属性信息的信息数据量;
123.第一确定单元17,用于若业务属性信息的信息数据量大于或者等于目标数据量,则将运行界面渲染组件的终端设备中的目标共享内存作为目标转发对象;
124.第二确定单元18,用于若业务属性信息的信息数据量小于目标数据量,则将运行界面渲染组件的终端设备的目标操作系统作为目标转发对象。
125.可选的,目标转发对象为目标共享内存;
126.数据通信装置还包括:
127.写入模块400d,用于通过界面渲染组件,调用目标共享内存的第一外部通信接口,向目标共享内存中写入处理请求;
128.生成模块500e,用于获取目标共享内存的存储地址信息,根据存储地址信息生成动态链接;
129.第三确定模块600f,用于将动态链接添加至界面渲染组件的数据集成插件中,将动态链接确定为目标共享内存与视频处理引擎进行通信的目标通信信息;
130.业务处理模块300c包括读取单元31。
131.读取单元31,用于通过目标转发对象,将动态链接发送至视频处理引擎,通过视频处理引擎根据动态链接从目标共享内存中读取处理请求。
132.可选的,目标转发对象为目标操作系统;
133.数据通信装置还包括:
134.获取模块700g,用于获取视频处理引擎的第二外部通信接口,以及与目标操作系统匹配的目标数据库格式;
135.转化处理模块800h,用于按照目标数据库格式,对第二外部通信接口进行转化处理,得到通信接口文件;
136.添加模块900i,用于将通信接口文件添加至界面渲染组件的数据集成插件中,将通信接口文件确定为目标操作系统与视频处理引擎进行通信的目标通信信息。
137.可选的,业务处理模块300c还包括业务处理单元32、发送单元33以及结果返回单元34。
138.业务处理单元32,用于调用视频处理引擎,根据业务属性信息对视频渲染业务进行处理,得到关于视频渲染业务的处理结果;
139.发送单元33,用于若处理请求中还携带视频渲染业务关联的回调声明,则通过视频处理引擎将处理结果发送至目标转发对象;
140.结果返回单元34,用于通过目标转发对象将处理结果返回给界面渲染组件。
141.可选的,业务处理单元32调用视频处理引擎,根据业务属性信息对视频渲染业务进行处理,得到关于视频渲染业务的处理结果,包括:
142.调用视频处理引擎,获取视频渲染业务的处理类型;
143.若视频渲染业务的处理类型为方法调用类型,则获取业务属性信息中所携带的目标方法标识;
144.从视频处理引擎对应的方法集合中,获取目标方法标识对应的目标调用方法,将业务属性信息传递至目标调用方法中,执行携带业务属性信息的目标调用方法,得到关于视频渲染业务的处理结果。
145.可选的,业务处理单元32调用视频处理引擎,根据业务属性信息对视频渲染业务进行处理,得到关于视频渲染业务的处理结果,包括:
146.调用视频处理引擎,获取视频渲染业务的处理类型;
147.若视频渲染业务的处理类型为数据传递类型,则获取视频处理引擎中的通用业务处理逻辑,根据业务属性信息执行通用业务处理逻辑,得到关于视频渲染业务的处理结果。
148.可选的,发送单元33通过视频处理引擎将处理结果发送至目标转发对象,包括:
149.通过视频处理引擎,获取目标转发对象的本地通信接口;
150.通过本地通信接口,发送单元调用目标转发对象中用于接收信息的消息接收函数,将处理结果作为消息接收函数的函数参数,传递至消息接收函数中。
151.可选的,处理结果包括处理结果指示信息和视频渲染业务的目标业务标识,处理结果指示信息用于指示具有目标业务标识的视频渲染业务的处理结果为处理成功或处理失败;
152.数据通信装置还包括:
153.调用模块110j,用于若处理结果指示信息指示具有目标业务标识的视频渲染业务的处理结果为处理成功,则调用界面渲染组件,根据处理结果中的目标业务标识,从与界面渲染组件关联的函数集合中,确定目标业务标识关联的回调函数,作为第一回调函数;函数集合中包括n个回调函数,一个回调函数与一个业务标识相关联,n为正整数;
154.执行模块120k,用于执行目标业务标识关联的第一回调函数。
155.在本技术实施例中,通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象。确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息。由于数据集成插件包括至少两种转发对象分别与视频处理引擎进行通信的目标通信信息,目标转发对象可以与视频处理引擎进行通信。通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。这样,目标转发对象可以将界面渲染组件生成的处理请求转发给视频处理引擎,实现界面渲染组件与视频处理引擎之间的通信以及功能调用。同时,仅需要开发出界面渲染组件与视频处理引擎之间的一套接口,便可以实现在不同操作系统中通过界面渲染组件调用视频处理引擎进行视频渲染业务处理,而不用不同操作系统平台开发出不同的平台渲染组件调用视频处理引擎进行视频渲染业务处理,不同平台渲染组件需要不同接口与视频处理引擎进行通信和功能调用。这样,可以降低调用视频处理引擎的开发成本,以及降低与视频处理引擎通信的维护成本,
简化在不同操作系统平台中调用视频处理引擎的过程,进而提高与视频处理引擎的通信效率。通过本技术,通过在界面渲染组件中部署数据集成插件,数据集成插件包括多种转发对象与视频处理引擎进行通信的通信信息,此处的转发对象为用于在界面渲染组件与视频处理引擎之间进行数据转发的对象,如可以包括多种操作系统、共享内存,基于该数据集成插件中的通信信息,可实现界面渲染组件与视频处理引擎之间的通信。换言之,通过该数据集成插件,能够向界面渲染组件和视频处理引擎提供一种通信通道,能够抹平具有不同操作系统的硬件平台之间的差异性,即该数据集成插件能够适用于不同操作系统的硬件平台,提高数据集成插件的适用范围。另外,在界面渲染组件与视频处理引擎之间通信的过程中,不需要适应地修改界面渲染组件,降低开发成本,同时避免开发过程出错,提高界面渲染组件与视频处理引擎通信的效率较低。同时,可以通过目标共享内存可以减少数据拷贝的次数,进而可以提高数据通信的效率。
156.请参见图9,是本技术实施例提供的一种计算机设备的结构示意图。如图9所示,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,在一些实施例中,用户接口1003可以包括显示屏(display)、键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如w
i-fi接口)。存储器1005可以是高速ram存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个在远离前述处理器1001的存储装置。如图9所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
157.在图9所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
158.通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象;
159.确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息;数据集成插件包括至少两种转发对象分别与视频处理引擎进行通信的通信信息;至少两种转发对象包括目标转发对象;
160.通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。
161.应当理解,本技术实施例中所描述的计算机设备1000可执行前文图3或者图6所对应实施例中对数据通信方法的描述,也可执行前文图7和图8所对应实施例中对数据通信装置的描述。
162.在本技术实施中,通过界面渲染组件获取关于视频渲染业务的处理请求,根据处理请求携带的视频渲染业务的业务属性信息,确定用于转发处理请求的目标转发对象。确定与界面渲染组件关联的视频处理引擎,从界面渲染组件的数据集成插件中,查询目标转发对象与视频处理引擎进行通信的目标通信信息。由于数据集成插件包括至少两种转发对
象分别与视频处理引擎进行通信的目标通信信息,目标转发对象可以与视频处理引擎进行通信。通过目标转发对象,基于目标通信信息将处理请求转发至视频处理引擎,调用视频处理引擎根据处理请求中携带的业务属性信息处理视频渲染业务。这样,目标转发对象可以将界面渲染组件生成的处理请求转发给视频处理引擎,实现界面渲染组件与视频处理引擎之间的通信以及功能调用。同时,仅需要开发出界面渲染组件与视频处理引擎之间的一套接口,便可以实现在不同操作系统中通过界面渲染组件调用视频处理引擎进行视频渲染业务处理,而不用不同操作系统平台开发出不同的平台渲染组件调用视频处理引擎进行视频渲染业务处理,不同平台渲染组件需要不同接口与视频处理引擎进行通信和功能调用。这样,可以降低调用视频处理引擎的开发成本,以及降低与视频处理引擎通信的维护成本,简化在不同操作系统平台中调用视频处理引擎的过程,进而提高与视频处理引擎的通信效率。通过本技术,通过在界面渲染组件中部署数据集成插件,数据集成插件包括多种转发对象与视频处理引擎进行通信的通信信息,此处的转发对象为用于在界面渲染组件与视频处理引擎之间进行数据转发的对象,如可以包括多种操作系统、共享内存,基于该数据集成插件中的通信信息,可实现界面渲染组件与视频处理引擎之间的通信。换言之,通过该数据集成插件,能够向界面渲染组件和视频处理引擎提供一种通信通道,能够抹平具有不同操作系统的硬件平台之间的差异性,即该数据集成插件能够适用于不同操作系统的硬件平台,提高数据集成插件的适用范围。另外,在界面渲染组件与视频处理引擎之间通信的过程中,不需要适应地修改界面渲染组件,降低开发成本,同时避免开发过程出错,提高界面渲染组件与视频处理引擎通信的效率较低。
163.可理解的是,本技术以上实施例如果需要用到用户信息等,需要获得用户许可或者同意,需要遵守相关国家和地区的相关法律法规。
164.此外,这里需要指出的是:本技术实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据通信装置所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3和图6所对应实施例中对数据通信方法的描述,因此,这里将不再进行赘述。
165.另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。作为示例,程序指令可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
166.此外,需要说明的是:本技术实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前文图3和图6所对应实施例中对数据通信方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本技术方法实施例的描述。
167.需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申
请所必须的。
168.本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
169.本技术实施例装置中的模块可以根据实际需要进行合并、划分和删减。
170.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,
171.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
172.以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1