一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

云音视频处理方法、系统、电子设备及存储介质与流程

2022-11-02 16:23:28 来源:中国专利 TAG:


1.本技术涉及云技术,尤其涉及一种云音视频处理方法、系统、电子设备及存储介质。


背景技术:

2.目前,云游戏或云直播等云音视频交互系统中所使用的云服务平台的解决方案通常是将采集、编码、传输以及上行事件处理服务等模块都集成在一起进行实现。由于不同的宿主机操作系统和硬件组合配置不一样,不同的硬件配置或不同的宿主机操作系统运行环境系统及驱动采集、编码、传输及事件底层接口也不一样,导致目前的云服务平台针对不同的硬件配置和运行宿主机操作系统需要通过不同的模块组合配置,以及不同的代码实现。因此,目前云服务平台的模块耦合度与代码冗余度较高,不利于云服务平台的稳定运行与升级维护,从而降低了云音视频交互系统的兼容性、稳定性和可维护性。


技术实现要素:

3.本技术实施例提供一种云音视频处理方法、系统、电子设备及存储介质,能够提高云音视频交互系统的兼容性、稳定性和可维护性。
4.本技术实施例的技术方案是这样实现的:
5.本技术实施例提供一种云音视频处理方法,包括:
6.通过音视频采集标准接口调用采集模块,采集云音视频进程生成的音视频数据;
7.通过编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将所述编码音视频流传输至交互设备;
8.通过事件标准输入接口,接收所述交互设备基于所述编码音视频流发起的操作事件,并将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,
9.所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。
10.本技术实施例提供一种云音视频处理方法,包括:
11.接收编码音视频流,并对所述编码音视频流进行解码播放,得到解码视频画面与解码音频;所述编码音视频流为第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;
12.获取针对所述解码视频画面或解码音频发起的操作事件,将所述操作事件发送至所述第一云主机的事件标准输入接口,以使所述第一云主机通过所述事件标准输入接口将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,
13.所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。
14.本技术实施例提供一种云音视频处理方法,包括:
15.通过预设下行标准接口,获取编码音视频流;所述编码音视频流为第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;所述预设下行标准接口分别与所述第一云主机上的所述编码传输标准接口以及交互设备连接;
16.使用预设标准传输格式,将所述编码音视频流传输至所述交互设备;
17.通过预设上行标准接口,接收所述交互设备基于所述编码音视频流发起的操作事件;所述预设上行标准接口分别与所述第一云主机上的事件标准输入接口以及所述交互设备连接;
18.使用所述预设标准传输格式,将所述操作事件传输至所述事件标准输入接口。
19.本技术实施例提供一种第一云主机,包括:
20.采集模块,用于通过音视频采集标准接口,采集云音视频进程生成的音视频数据;
21.编码模块,用于通过编码传输标准接口,对所述音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将所述编码音视频流传输至交互设备;
22.事件处理模块,用于通过事件标准输入接口,接收所述交互设备基于所述编码音视频流发起的操作事件,并将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,
23.所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。
24.上述第一云主机中,所述第一云主机还包括初始化模块,所述初始化模块,用于通过音视频采集标准接口调用采集模块,采集云音视频进程生成的音视频数据之前,通过初始化标准接口调用所述采集模块、所述编码模块与所述操作系统各自对应的本地初始化接口,对所述采集模块、所述编码模块与所述操作系统进行初始化,其中,所述初始化标准接口为在所述云服务标准化子类中实现的标准化接口。
25.上述第一云主机中,所述采集模块,还用于根据预设采样帧率,定时通过所述音视频采集标准接口调用本地采集驱动接口对云音视频进程生成的当前视频画面与当前音频进行采集,得到所述音视频数据;所述预设采样帧率为所述预设云服务标准化基类中统一设置的标准化采样帧率。
26.上述第一云主机中,所述编码模块,还用于通过所述编码传输标准接口调用本地编码驱动接口,根据预设编码帧率以及所述预设标准编码格式对所述音视频数据进行编码,得到编码音视频流;所述预设编码帧率为所述预设云服务标准化基类中统一设置的标准化编码帧率;
27.上述第一云主机中,所述事件处理模块,还用于通过所述事件标准输入接口调用预设指令转换服务,从至少一种预设操作事件与至少一种标准驱动事件的预设对应关系
中,确定所述操作事件对应的目标驱动事件;所述至少一种标准驱动事件为所述当前操作系统中的标准驱动事件;将所述操作事件转换为所述目标驱动事件。
28.本技术实施例提供一种交互设备,包括:
29.客户端标准化组件,所述客户端标准化组件与第一云主机上的编码传输标准接口以及事件标准输入接口连接;其中,
30.所述客户端标准化组件,用于接收所述编码传输标准接口发送的编码音视频流;并对所述编码音视频流进行解码播放,得到解码视频画面与解码音频;所述编码音视频流为所述第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;
31.所述客户端标准化组件,还用于获取针对所述解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对所述至少一种格式类型的原始操作指令进行格式转化,得到所述操作事件,将所述操作事件发送至所述事件标准输入接口,以使所述第一云主机通过所述事件标准输入接口将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,
32.所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。
33.本技术实施例提供一种第二云主机,包括:
34.预设下行标准接口与预设上行标准接口;所述预设下行标准接口分别连接第一云主机上的编码传输标准接口与交互设备,所述预设上行标准接口分别连接所述交互设备与所述第一云主机上的事件标准输入接口;其中,
35.所述预设下行标准接口,用于接收所述第一云主机通过所述编码传输标准接口发送的编码音视频流;所述编码音视频流为所述第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过所述编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;使用预设标准传输格式,将所述编码音视频流传输至所述交互设备;
36.所述预设上行标准接口,用于接收所述交互设备基于所述编码音视频流发起的操作事件;使用所述预设标准传输格式,将所述操作事件传输至第一云主机上的事件标准输入接口。
37.上述第二云主机中,所述交互设备上配置有客户端标准化组件,所述客户端标准化组件分别与所述预设下行标准接口以及所述预设上行标准接口连接,所述预设下行标准接口,还用于使用所述预设标准传输格式,将所述编码音视频流传输至所述交互设备上的所述客户端标准化组件,以使所述客户端标准化组件对所述编码音视频流进行预设解码格式的解码与播放,得到解码视频画面与解码音频;
38.所述预设上行标准接口,还用于接收所述交互设备上的所述客户端标准化组件发出的所述操作事件,其中,所述操作事件为所述客户端标准化组件通过获取针对所述解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式
对所述至少一种格式类型的原始操作指令进行格式转化所得到的。
39.上述第二云主机中,所述预设上行标准接口与所述预设下行标准接口之间实现有标准化传输服务,所述标准化传输服务包括以下至少一种:
40.上下行网络传输带宽评估服务、拥塞控制服务以及连接保持及异常重连服务。
41.上述第二云主机中,所述事件标准输入接口与预设上行标准接口通过第一套接字连接;所述编码传输标准接口与预设下行标准接口通过第二套接字连接。
42.上述第二云主机中,所述预设标准传输格式包括以下至少一种:
43.预设应用层标准协议格式、预设传输层标准协议格式与预设网络层标准协议格式;其中,所述预设应用层标准协议格式包括:网页即时通信协议或实时流传输协议中的任意一种;所述预设传输层标准协议格式包括实时传输协议或实时传输控制协议中的任意一种;所述预设网络层标准协议格式包括:用户数据包协议或流控制传输协议中的任意一种。
44.本技术实施例提供一种云音视频处理系统,包括:第一云主机、第二云主机与交互设备;所述第一云主机上运行有云音视频进程;所述第二云主机上部署有预设上行标准接口与预设下行标准接口;所述交互设备上部署有客户端标准化组件;所述客户端标准化组件通过所述预设上行标准接口与所述第一云主机上的事件标准输入接口连接,所述客户端标准化组件通过所述预设下行标准接口与所述第一云主机上的编码传输标准接口连接;其中,
45.所述第一云主机,用于通过音视频采集标准接口调用采集模块,采集所述云音视频进程生成的音视频数据;通过编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将所述编码音视频流传输至所述预设下行标准接口;
46.所述第二云主机,用于通过所述预设下行标准接口,使用预设标准传输格式,将所述编码音视频流传输至所述客户端标准化组件;
47.所述交互设备,用于通过所述客户端标准化组件对所述编码音视频流进行解码播放,得到解码视频画面与解码音频;获取针对所述解码视频画面或解码音频发起的操作事件,将所述操作事件发送至所述预设上行标准接口;
48.所述第二云主机,还用于通过所述预设上行标准接口,使用所述预设标准传输格式,将所述操作事件传输至所述事件标准输入接口;
49.所述第一云主机,还用于通过所述事件标准输入接口,将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;
50.其中,所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。
51.本技术实施例提供一种电子设备,包括:
52.存储器,用于存储可执行指令;
53.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的上述任一种云音视频处理方法。
54.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理
器执行时,实现本技术实施例提供的上述任一种云音视频处理方法。
55.本技术实施例具有以下有益效果:
56.通过在预设云服务标准化基类派生的云服务标准化子类中,分别基于云服务平台宿主机上的采集模块、编码模块以及操作系统各自的配置信息实现标准化接口,进而能够通过音视频采集标准接口调用云服务平台宿主机上配置的采集模块进行音视频数据的采集;通过编码传输标准接口调用云服务平台宿主机上配置的编码模块进行音视频标准化编码与输出,以及将通过事件标准输入接口将操作事件映射为云服务平台宿主机的操作系统对应的目标驱动事件,从而实现了对不同模块驱动配置、以及不同云主机的操作系统的封装隔离,在不同配置的云主机上可以通过统一的云服务标准化子类对外提供标准化的采集编码、传输、事件等服务,降低了模块耦合度与代码冗余,提高了云音视频交互系统的兼容性和稳定性,并且,在对采集编码、传输、事件等服务进行升级或迁移到新硬件或宿主机操作系统运行环境时,只需要实现云服务标准化子类的功能接口即可完成,从而提高了云音视频交互系统的可维护性。
附图说明
57.图1是本技术实施例提供的云游戏交互过程示意图;
58.图2是本技术实施例提供的目前的云游戏服务器平台的架构示意图;
59.图3是本技术实施例提供的云音视频处理系统架构的一个可选的结构示意图;
60.图4是本技术实施例提供的第一云主机的一个可选的结构示意图;
61.图5是本技术实施例提供的交互设备的一个可选的结构示意图;
62.图6是本技术实施例提供的第二云主机的一个可选的结构示意图;
63.图7是本技术实施例提供的云音视频处理方法的一个可选的流程示意图;
64.图8是本技术实施例提供的预设云服务标准化基类、云服务标准化子类与预设云服务标准化基类中包含的标准虚函数接口的关系示意图;
65.图9是本技术实施例提供的云音视频处理方法的一个可选的流程示意图;
66.图10是本技术实施例提供的云音视频处理方法的一个可选的流程示意图;
67.图11是本技术实施例提供的客户端标准化组件对至少一种格式类型的原始操作指令进行转化的示意图;
68.图12是本技术实施例提供的云音视频处理方法的一个可选的流程示意图;
69.图13是本技术实施例提供的云音视频处理方法的一个可选的流程示意图;
70.图14是本技术实施例提供的云游戏系统的一个可选的架构示意图。
具体实施方式
71.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
72.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
73.如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
74.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
75.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
76.1)云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
77.2)云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
78.作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为iaas(infrastructure as a service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
79.按照逻辑功能划分,在iaas(infrastructure as a service,基础设施即服务)层上可以部署paas(平台即服务)层,paas层之上再部署saas(software as a service,软件即服务)层,也可以直接将saas部署在iaas上。paas为软件运行的平台,如数据库、web虚拟容器等。saas为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,saas和paas相对于iaas是上层。
80.3)云游戏(cloud gaming):又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
81.4)虚拟引擎(unreal engine):是一个面向pc、xbox 360、ios和playstation 3的完整开发框架,其中提供了大量核心技术、内容创建工具以及支持基础设施内容。虚拟引擎各方面功能的设计思想都是使得内容创建和编程变得更方便,其设计目标是赋予美工人员
及游戏设计人员尽可能多的控制权来开发可视化环境中的资源,最小化程序员的协助,同时为程序员提供一个高度模块化的、可升级的、可扩展的架构,以便可以开发、测试及发行各种类型的游戏。
82.5)x86:x86架构(the x86 architecture)是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,是复杂指令系统计算机(complex instruction set computer,cisc)的复杂指令集。
83.6)arm(advanced risc machine):arm处理器是英国acorn有限公司设计的低功耗成本的第一款精简指令集计算机(reduced instruction set computing,risc)微处理器。
84.7)houdini:houdini是intel研发的arm二进制译码器(binary translator),它的原理在于把arm的二进制代码转译为x86指令集,以在x86的cpu上执行。
85.8)画面每秒传输帧数(frames per second,fps):fps是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。fps是测量用于保存、显示动态视频的信息数量。每秒钟帧数越多,所显示的动作就会越流畅。也可以理解为“刷新率”(单位为hz)。
86.9)虚拟容器(也可称为仿真器)是指通过计算机程序模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在仿真器中都能够实现。仿真器可包括android仿真器、java仿真器、linux仿真器,windows仿真器,等等。
87.10)虚函数是被virtual修饰的成员函数,在基类中被声明为virtual,并在一个或多个派生类中个被重新定义。指向基类的指针在操作它的多态类对象时,会根据不同的类对象,调用其相应的函数。虚函数可以用于实现多态性,多态性是将接口与实现进行分离,实现相同的功能,但因个体差异个采用不同的方法策略。
88.11)实时流传输协议(real time streaming protocol,rtsp)是tcp/ip协议体系中的一个应用层协议。
89.12)网页即时通信(web real-time communication,webrtc)协议是一个支持网页浏览器进行实时语音对话或视频对话的api协议。
90.13)实时传输协议(real-time transport protocol,rtp)是一个网络传输协议;实时传输控制协议(real-time transport control protocol,rtcp)是其姐妹协议。
91.14)用户数据包协议(user datagram protocol,udp)为应用程序提供了一种无需建立连接就可以发送封装的ip数据包的方法。
92.15)流控制传输协议(stream control transmission protocol,sctp)是一种在网络连接两端之间同时传输多个数据流的协议。
93.16)qemu是一套以通用公共许可证分发源码的模拟处理器,在gnu/linux平台上使用广泛。
94.目前,云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将服务器生成的游戏画面编码压缩后通过网络传送给终端上的云游戏客户端。云游戏客户端上的游戏设备不需要配置任何高端处理器和显卡,也不需要主动适配不同的软硬件平台、或具备强大的终端渲染性能,只需要基本的音视频解压能力就可以了。目前云游戏的交互方式可以如图1所示。云游戏主进程运行在云端服务器10上,其中,云
端服务器10通常是带有图形处理器(graphics processing unit,gpu)的边缘计算节点。云端服务器10将gpu生成的游戏图像转换为vp8、vp9、h.264、h265或av1等格式的视频流以及silk、opus、aac等格式音频流数据,通过网络将音视频流传到各种类型的终端11,如电视、手机、pc、平板等等。终端可以将接收到的音视频流解码后进行渲染得到终端游戏画面,在终端的显示设备上显示给用户。并且,终端可以接收用户通过键盘、鼠标、手柄、触摸屏等操作设备,在终端游戏画面的目标坐标位置上发起的操作指令,并将这些操作指令和坐标位置作为交互操作信息,上行传输到云端服务器10,云端服务器10再把接收到的交互操作信息映射成云游戏程序中默认的游戏鼠标按键,再通过键盘鼠标驱动发送给云端服务器10完成整个游戏服务体验。
95.目前,云游戏系统主要通过paas层提供云游戏服务器的基础服务能力,基于图1,目前云游戏paas层的基本架构可以如图2所示,云游戏的边缘计算节点10上的paas层可以包括音视频采集编码模块15、以及实时通信传输(real-time communications,rtc)通道12、事件输入服务13。其中,音视频采集编码模块15包括音频采集、音频编码、视频采集以及视频编码四个子模块。相应地,终端上配置有rtc通道22、音视频解码渲染模块25以及事件输入服务23以与边缘计算节点进行云游戏交互。边缘计算节点10中的音视频采集编码模块15、rtc通道12与事件输入服务13都是集成在同一个paas的进程服务中,通过音视频采集编码模块15对云游戏进程14进行游戏渲染画面的采集与编码,得到音视频流;通过rtc通道12将音视频流传输给终端20,并通过事件输入服务13接收终端操作指令,如接收终端通过鼠标,键盘,触控等发出的操作指令作为终端上行事件;将接收到的终端上行事件模拟成边缘计算节点10当前运行的宿主机os系统的事件驱动或事件指令,发送给宿主机os中的云游戏进程14。由于计算节点的硬件配置和宿主机软件系统通常都是不同的组合解决方案,例如对于pc云游戏服务器,主机通常是windows系统,硬件配置环境主要以cpu(intel/amd x86) gpu(nvida/amd)解决方案,对于手机云游戏服务器,宿主机通常是android虚拟容器,硬件配置环境主要以cpu(intel/amd x86 houdini)或arm gpu(nvida/amd/intel) docker虚拟容器解决方案。目前的paas层结构中,音视频采集编码模块15、rtc通道12与事件输入服务13等模块针对不同的操作系统和不同的硬件配置,模块之间耦合度会很大,并且,由于不同的硬件或不同的宿主机os运行环境系统及驱动采集编码、传输及事件底层api不一样,导致了目前云游戏的paas层存在以下缺陷:
96.1、paas平台升级成本大:当服务器的硬件配置组合以及运行宿主机os环境改变以后,以前的paas层代码基本不可以复用,大部分跟硬件和宿主机os运行环境相关的代码要重写。
97.2、paas平台稳定性差:整个平台架构代码跟硬件配置和运行宿主机os强相关联,只要硬件配置和宿主机运行os有改变,整个上下行端到端链路模块适配以及重写的代码要全部重新测试和适配。
98.3、paas平台运维成本高:不同的硬件配置和运行宿主机os环境代码不一样,导致不同的硬件和运行宿主机os配置平台代码及架构都是独立一套部署,运维成本指数级增加。
99.由此可见,云游戏中paas服务平台目前的实现方案,会导致不同的环境下paas服务的代码冗余、混乱等,如果硬件组合配置升级、调整以及宿主机os运行改变,整个paas服
务代码都要适配新的硬件驱动和宿主机os相关的api接口,不便于paas层后面在新硬件和os运行环境升级与迁移,进而导致整个云游戏后台服务升级成本大,运维以及平台稳定性都比较差。
100.本技术实施例提供一种云音视频处理方法、系统、电子设备及存储介质,能够提高云音视频交互系统的兼容性、稳定性和可维护性,下面说明本技术实施例提供的电子设备的示例性应用。
101.参见图3,图3是本技术实施例提供的云音视频处理系统100的一个可选的架构示意图,云音视频处理系统100包括:第一云主机200、第二云主机500与交互设备400(示例性示出了交互设备400-1和交互设备400-2)。交互设备400通过网络300连接第二云主机500,网络300可以是广域网或者局域网,又或者是二者的组合。在一些实施例中,第一云主机200可以运行在云网络的边缘计算节点。第一云主机200与第二云主机500互相连接,交互设备400通过第二云主机500与第一云主机200实现连接。第二云主机500上部署有预设上行标准接口560与预设下行标准接口570;交互设备400上部署有客户端标准化组件460(示例性示出了客户端标准化组件460-1和客户端标准化组件460-2);第一云主机200上运行有云音视频进程200-2;云音视频进程200-2可以是云音视频应用程序的主进程,如云游戏的游戏主进程。第一云主机200上配置有采集编码事件框架200-1,采集编码事件框架200-1中包含采集模块260、编码模块270以及事件处理模块280,以及音视频采集标准接口261、编码传输标准接口271、与事件标准输入接口281。其中,音视频采集标准接口261、编码传输标准接口271、与事件标准输入接口281为在预设云服务标准化基类派生的云服务标准化子类中,分别基于采集模块260、编码模块270以及操作系统各自的配置信息对应实现的标准化接口。
102.如图3所示,客户端标准化组件460-1通过第二云主机500上的预设上行标准接口560与第一云主机200上的事件标准输入接口281连接,客户端标准化组件460-1通过第二云主机500上的预设下行标准接口570与第一云主机200上的编码传输标准接口271连接;其中,
103.第一云主机200可以是云音视频交互系统100中的云服务平台宿主机,用于通过音视频采集标准接口261调用采集模块260,采集云音视频进程200-2生成的音视频数据;通过编码传输标准接口271调用编码模块270,对音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将编码音视频流传输至预设下行标准接口570;
104.第二云主机500,用于通过预设下行标准接口570,使用预设标准传输格式,将编码音视频流传输至客户端标准化组件;
105.交互设备400,归属于云音视频处理系统100的终端用户,如云游戏的玩家,用于通过客户端标准化组件460对编码音视频流进行解码播放,得到解码视频画面与解码音频,在图形界面470(示例性示出了图形界面470-1和图形界面470-2)上显示;获取针对解码视频画面或解码音频发起的操作事件,将操作事件发送至预设上行标准接口560;
106.第二云主机500,还用于通过预设上行标准接口560,使用预设标准传输格式,将操作事件传输至事件标准输入接口;
107.第一云主机200,还用于通过事件标准输入接口281,将操作事件映射为当前操作系统对应的目标驱动事件;目标驱动事件用于驱动云音视频进程200-2对应更新音视频数据。
108.在一些实施例中,第一云主机200与第二云主机500可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。交互设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、机顶盒、移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,但并不局限于此。交互设备400以及第二云主机500、第一云主机200以及第二云主机500可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
109.如本技术所公开的云音视频处理方法或装置,其中多个云主机或服务器可组成为一区块链,而服务器为区块链上的节点。
110.区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
111.区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
112.平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。在一些实施例中,在以区块链的组网形式实现本技术所公开的云音视频处理系统时,可以基于第一云主机200与第二云主机500实现平台产品服务层的搭载与运行。
113.参见图4,图4是本技术实施例提供的第一云主机200的结构示意图,图4所示的第一云主机200包括:至少一个第一处理器210、第一存储器250、至少一个第一网络接口220和第一用户接口230。第一云主机200中的各个组件通过第一总线系统240耦合在一起。可理解,第一总线系统240用于实现这些组件之间的连接通信。第一总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为第一总线系统240。
114.第一处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
115.第一用户接口230包括使得能够呈现媒体内容的一个或多个第一输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口230还包括一个或多个第一输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
116.第一存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第一存储器250可选地包括在物理位置上远离第一处理器210的一个或多个存储设备。
117.第一存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的第一存储器250旨在包括任意适合类型的存储器。
118.在一些实施例中,第一存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
119.第一操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
120.第一网络通信模块252,用于经由一个或多个(有线或无线)第一网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
121.第一呈现模块253,用于经由一个或多个与第一用户接口230相关联的第一输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
122.第一输入处理模块254,用于对一个或多个来自一个或多个第一输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
123.在一些实施例中,本技术实施例提供的装置可以采用软件方式实现,图4示出了存储在第一存储器250中的第一云音视频处理装置255,其可以是程序和插件等形式的软件,包括以下软件模块:采集模块260、编码模块270、和事件处理模块280,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
124.将在下文中说明各个模块的功能。
125.在另一些实施例中,本技术实施例提供的装置可以采用硬件方式实现,作为示例,本技术实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的云音视频处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
126.参见图5,图5是本技术实施例提供的交互设备400的结构示意图,图5示出了存储在第二存储器450中的第二云音视频处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:客户端标准化组件460,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。图5中至少一个第二处理器410、第二存储器450、至少一个第二网络接口420和第二用户接口430等模块的功能与图4中相同模块的功能一致,此处不再赘述。
127.参见图6,图6是本技术实施例提供的第二云主机500的结构示意图,图6示出了存储在第三存储器550中的第三云音视频处理装置555,其可以是程序和插件等形式的软件,包括以下软件模块:预设下行标准接口570与预设上行标准接口560,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。图6中至少一个第三处理器510、第三存储器550、至少一个第三网络接口520和第三用户接口530等模块的功能与图4中相同模块的功能一致,此处不再赘述。
128.将结合本技术实施例提供的第一云主机、交互设备与第二云主机的示例性应用和实施,说明本技术实施例提供的云音视频处理方法。
129.参见图7,图7是本技术实施例提供的云音视频处理方法应用于第一云主机与交互设备的一个可选的流程示意图,将结合图7示出的步骤进行说明。
130.s101、第一云主机通过音视频采集标准接口,调用采集模块,采集云音视频进程生成的音视频数据。
131.本技术实施例提供的云音视频处理方法主要应用于云音视频交互场景,如云游戏、云直播以及虚拟引擎应用场景。
132.本技术实施例中,云音视频进程可以是云游戏,云直播等云音视频应用程序的主进程,云音视频应用程序预先安装并运行在云端的音视频应用云服务器上。在一些实施例中,音视频应用云服务器可以是游戏应用云服务器,游戏应用云服务器上可运行有一个或多个仿真器(virtual device),示例性地,仿真器具体可以为虚拟机,云音视频进程可运行在虚拟机中。虚拟机的内存中可包含游戏资源,如游戏的图像资源、字符资源、音频资源等等,云游戏进程可以在运行过程中,根据当前程序驱动逻辑,调用游戏资源对相关游戏数据进行渲染得到游戏画面,以及生成对应的游戏音频。第一云主机可以通过音视频采集标准接口,调用自身的采集模块,从云音视频进程中获取到游戏画面与游戏音频,作为音视频数据。
133.本技术实施例中,对于不同的云主机上的采集模块,硬件配置和操作系统所提供的驱动接口与软件开发工具包(software development kit,sdk)接口不同。本技术实施例中的音视频采集标准接口可以通过在云服务标准化子类中,根据该第一云主机上所配置的采集模块的驱动接口与sdk接口,在标准音视频采集虚函数接口中具体实现对该采集模块的驱动接口与sdk接口的调用来实现。其中,云服务标准化子类继承于预设云服务标准化基类,预设云服务标准化基类中预先定义有标准音视频采集虚函数接口,第一云主机可以根据自身的硬件配置与操作系统配置,具体实现自身对应的云服务标准化子类以应用在不同的云主机上。这里,第一云主机根据自身的采集模块对应的驱动接口与sdk接口,对云服务标准化子类中的标准音视频采集虚函数接口进行具体实现,即可对外通过统一的标准音视频采集虚函数接口名称实现音视频数据的标准化采集,对内实现对不同软硬件配置的采集
模块的兼容屏蔽。
134.本技术实施例中,第一云主机可以通过采集模块访问音视频应用云服务器上的gpu图形接口,从gpu图形接口处获取当前视频画面。第一云主机可以通过采集模块访问音视频应用云服务器上的音频接口,如声卡,从音频接口处获取当前音频。第一云主机将当前视频画面与当前音频作为音视频数据。在一些实施例中,gpu图形接口可以包括directx 9/10/11/12以及opengl接口,音频接口可以是windows audio session api,具体的根据实际情况进行选择,本技术实施例不作限定。
135.在一些实施例中,预设云服务标准化基类可以预先定义有预设采样帧率。第一云主机可以根据预设采样帧率,定时通过音视频采集标准接口调用采集模块的本地采集驱动接口对云音视频进程生成的当前视频画面与当前音频进行采集,得到音视频数据;预设采样帧率为预设云服务标准化基类中统一设置的标准化采样帧率。
136.在一些实施例中,云音视频进程可以部署在同一宿主机上运行,可以上部署在其他云主机上,具体的根据实际情况进行选择,本技术实施例不作限定。
137.s102、第一云主机通过编码传输标准接口调用编码模块,对音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将编码音视频流传输至交互设备。
138.本技术实施例中,第一云主机采集到音视频数据时,可以通过编码输出标准接口,调起自身配置的编码模块。在一些实施例中,编码模块可以包括视频编码器与音频编码器。第一云主机可以将音视频数据中的当前视频画面重定向到视频编码器,通过视频编码器对当前视频画面进行预设标准视频格式的编码;并通过音频编码器接管音视频数据中的当前音频,通过音频编码器对当前音频进行预设标准音频格式的编码;其中,预设标准编码格式包括预设视频标准格式与预设标准音频格式中的至少一种。
139.在一些实施例中,预设标准编码格式中的预设视频标准格式可以包括h.264与h.265格式,预设标准编码格式中的预设标准音频格式可以包括aac与opus,具体的根据实际情况进行选择,本技术实施例对预设标准编码格式的具体编码格式类型与数量等不做限定。
140.本技术实施例中,不同软硬件配置的第一云主机对音视频数据进行预设标准编码格式的音视频编码后,可以得到统一的预设标准编码格式的编码音视频流。第一云主机将编码音视频流传输至交互设备。
141.在一些实施例中,采集模块可以是第一云主机上的显卡,交互设备可以是云游戏终端设备,如电脑、手机、游戏机、平板电脑等等。
142.本技术实施例中,对于不同的云主机上的编码模块,硬件配置和操作系统所提供的驱动接口与sdk接口不同。本技术实施例中的编码传输标准接口可以通过在第一云主机上对应的云服务标准化子类中,根据该第一云主机上所配置的编码模块的驱动接口与sdk接口,在标准编码输出虚函数接口的内部实现中对该编码模块的驱动接口与sdk接口的调用来实现。这里,第一云主机根据自身的编码模块对应的驱动接口与sdk接口,对自身对应的云服务标准化子类中的标准编码输出虚函数接口进行具体实现,即可对内实现对不同软硬件配置的编码模块的兼容屏蔽,对外通过标准编码输出虚函数接口的统一名称实现音视频数据的标准化编码输出,。
143.在一些实施例中,预设云服务标准化基类可以预先定义有预设编码帧率。第一云
主机可以通过编码传输标准接口调用编码模块的本地编码驱动接口,根据预设编码帧率以及预设标准编码格式对音视频数据进行编码,得到编码音视频流;预设编码帧率为预设云服务标准化基类中统一设置的标准化编码帧率。
144.s201、交互设备接收编码音视频流,并对编码音视频流进行解码播放,得到解码视频画面与解码音频。
145.本技术实施例中,交互设备在接收到第一云主机传输的编码音视频流时,可以对编码音视频流进行解码与渲染,得到云音视频的解码视频画面与解码音频,在交互设备上呈现给交互设备的操作者,如云游戏用户。
146.s202、交互设备获取针对解码视频画面或解码音频发起的操作事件,将操作事件发送至第一云主机的事件标准输入接口。
147.本技术实施例中,交互设备获取操作者在解码视频画面或解码音频上发起的操作事件,如对虚拟角色、游戏场景、游戏选项进行点击、按压或滑动等操作所生成的事件。交互设备将操作事件发送给第一云主机的事件标准输入接口。
148.s103、第一云主机通过事件标准输入接口,接收交互设备基于编码音视频流发起的操作事件,并将操作事件映射为当前操作系统对应的目标驱动事件;目标驱动事件用于驱动云音视频进程对应更新音视频数据;其中,
149.音视频采集标准接口、编码传输标准接口、与事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于采集模块、编码模块以及操作系统各自的配置信息实现的标准化接口。
150.本技术实施例中,第一云主机可以接收到交互设备基于编码音视频流发起的操作事件,并通过事件标准输入接口,将操作事件映射为自身操作系统对应的目标驱动事件。
151.本技术实施例中,云音视频进程中的程序驱动逻辑通常是基于一种预设的默认设备类型对应的操作方式来实现的,如云游戏的开发者以手机为默认设备类型所制作的云游戏,通常是以屏幕点击或屏幕滑动等手机类型的操作方式实现驱动事件对应的程序执行逻辑,来控制云游戏进程的运行的。由于云游戏等云音视频应用面向多种不同类型的交互设备,因此需要通过将不同设备类型的交互设备所发起的操作事件,转换为云音视频进程的默认设备类型对应标准驱动事件,以在不同的交互设备上实现对云音视频进行的驱动控制。
152.在一些实施例中,第一云主机可以通过事件标准输入接口调用预设指令转换服务,从至少一种预设操作事件与至少一种标准驱动事件的预设对应关系中,确定操作事件对应的目标驱动事件;进而将操作事件转换为目标驱动事件。其中,至少一种标准驱动事件为当前操作系统中的标准驱动事件。第一云主机可以继续通过目标驱动事件驱动云音视频进程,以使云音视频进程根据目标驱动事件的指示对当前视频画面与当前音频进行更新。第一云主机可以持续对更新的音视频数据进行持续采集与编码,得到更新的编码音视频流,进而将更新的编码音视频流传输至交互设备,实现与云音视频进程的持续交互。
153.本技术实施例中,事件标准输入接口是根据不同云服务宿主机上的不同硬件以及操作系统对外提供的驱动和sdk接口,对云服务标准化子类中的标准事件输入虚函数接口进行具体实现得到的。事件标准输入接口内部实现了对当前云服务宿主机上的硬件驱动与操作系统的接口调用,实现了对不同软硬件配置的操作系统事件驱动的兼容屏蔽;对外提
供统一的标准事件输入虚函数接口名称,实现了操作系统驱动事件的标准化输出。
154.在一些实施例中,第一云主机确定出目标驱动事件时,可以将目标驱动事件输入运行中的云音视频进程,以通过目标驱动事件触发云音视频进程中对应的目标程序驱动逻辑,并通过执行目标程序驱动逻辑输出对应的更新视频画面与更新音频,作为更新音视频数据,实现对操作事件的响应。
155.在一些实施例中,预设云服务标准化基类、云服务标准化子类与预设云服务标准化基类中包含的标准虚函数接口的关系可以如图8所示。其中,预设云服务标准化基类中可以包含标准音视频采集虚函数接口、标准编码输出虚函数接口、标准事件处理虚函数接口以及其他自定义的标准虚函数接口等等,在不同软硬件配置的第一云主机上,可以通过继承预设云服务标准化基类,得到统一的标准音视频采集虚函数接口、标准编码输出虚函数接口、标准事件处理虚函数接口以及其他自定义的标准虚函数接口;并根据不同第一云主机不同的软硬件配置信息,在不同第一云主机上实现不同的云服务标准化子类。如图8所示,不同云服务标准化子类中,相同的虚函数接口名称可以有不同的实现方法,以在不同的第一云主机上,通过统一的虚函数接口实现对不同软硬件配置的采集模块、编码模块、操作系统等模块的调用。
156.可以理解的是,本技术实施例中,通过在预设云服务标准化基类派生的云服务标准化子类中,分别基于第一云主机上的采集模块、编码模块以及操作系统各自的配置信息实现标准化接口,进而能够通过音视频采集标准接口调用第一云主机上配置的采集模块进行音视频数据的采集;通过编码传输标准接口调用第一云主机上配置的编码模块进行音视频标准化编码与输出,以及将通过事件标准输入接口将操作事件映射为第一云主机的操作系统对应的目标驱动事件,从而实现了对不同模块驱动配置、以及不同云主机的操作系统的封装隔离,在不同配置的云主机上可以通过统一的云服务标准化子类对外提供标准化的采集编码、传输、事件等服务,降低了模块耦合度与代码冗余,提高了云音视频交互系统的兼容性和稳定性,并且,在对采集编码、传输、事件等服务进行升级或迁移到新硬件或宿主机os运行环境时,只需要实现云服务标准化子类的功能接口即可完成,从而提高了云音视频交互系统的可维护性。
157.在一些实施例中,参见图9,图9是本技术实施例提供的云音视频处理方法的一种可选的流程示意图。第一云主机还包括初始化标准接口,s101之前,还可以执行s001,将结合各步骤进行说明。
158.s001、第一云主机通过初始化标准接口调用采集模块、编码模块与操作系统各自对应的本地初始化接口,对采集模块、编码模块与操作系统进行初始化,其中,初始化标准接口为在云服务标准化子类中实现的标准化接口。
159.本技术实施例中,预设云服务标准化基类中还可以包括初始化标准接口,对于不同第一云主机对应的云服务标准化子类中,可以基于采集模块与编码模块对应的驱动配置信息,如不同硬件/宿主机os对外提供的采集和编码驱动以及sdk初始化接口,对继承的初始化标准接口进行具体实现,以通过初始化标准接口实现对采集模块与编码模块的初始化。
160.在一些实施例中,交互设备上部署有客户端标准化组件,客户端标准化组件可以与第一云主机上的编码传输标准接口连接,客户端标准化组件可以与第一云主机上的事件
标准输入接口连接,参见图10,图10是本技术实施例提供的云音视频处理方法的一个可选的流程示意图,s201可以通过执行s2011-s2012的过程来实现,s202可以通过执行s2021-s2022的过程来实现,将结合图10示出的步骤进行说明。
161.s2011、交互设备通过客户端标准化组件,接收第一云主机通过编码传输标准接口输出的编码音视频流。
162.本技术实施例中,客户端标准组件为本技术实施例中的云音视频处理系统对不同类型的交互设备如电视、手机、电脑所提供的、包含统一的标准化客户端服务的功能组件。交互设备可以通过客户端标准化组件,接收第一云主机通过编码传输标准接口输出的预设标准编码格式的编码音视频流。
163.在一些实施例中,客户端标准组件可以是sdk的形式。在一些实施例中,客户端标准化组件也可以集成在第一云主机上,或者云音视频交互系统中的其他网络节点,具体的根据实际情况进行选择,本技术实施例不作限定。
164.s2012、交互设备通过客户端标准化组件,对编码音视频流进行预设解码格式的解码与播放,得到解码视频画面与解码音频。
165.本技术实施例中,客户端标准化组件中可以包括音视频处理标准服务。其中,音视频处理标准服务用于使用预设解码格式对编码音视频流进行解码与播放。交互设备可以通过客户端标准化组件中的音视频处理标准服务使用预设解码格式对编码音视频流进行解码与播放,得到解码视频画面与解码音频。
166.s2021、交互设备通过客户端标准化组件,获取针对解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对至少一种格式类型的原始操作指令进行格式转化,得到操作事件。
167.本技术实施例中,客户端标准化组件中可以包括上行事件处理标准服务。其中,上行事件处理标准服务用于获取交互设备上的至少一种格式类型的原始操作指令,并根据预设标准事件格式对至少一种格式类型的原始操作指令进行格式转化,得到操作事件。
168.本技术实施例中,不同交互设备上的用户接口部件的硬件配置与软件驱动等配置信息不同,如不同型号和品牌的游戏手柄,在进行同样的手柄按键操作如按下上键时所发出的原始操作指令的格式类型也不同。示例性地,游戏手柄支持的api接口可以包括directinput、xinput、rawinput等等,不同类型的api接口输出的原始操作指令的格式类型也不相同。上行事件处理标准服务可以根据预设标准事件格式,将至少一种格式类型的原始操作指令转化为统一的标准格式的操作事件,实现对相同类型不同软硬件配置的交互设备发出的原始操作指令进行统一,并将操作事件发送至第一云主机。
169.这里,用户接口部件可以是交互设备内部集成配置软硬件部件,如手机的触控屏,也可以是交互设备上通过软硬件扩展接口连接的扩展设备,如pc终端上连接鼠标、键盘,或游戏手柄等,还可以是麦克风、摄像头等可以通过声音或姿势发出原始操作指令的部件,具体的根据实际情况进行选择,本技术实施例不作限定。
170.在一些实施例中,如图11所示,不同用户接口部件如鼠标1、鼠标2、鼠标3以及触屏1、触屏2、触屏3在执行点击操作时,分别发出不同格式类型的原始操作指令,如鼠标1点击指令、鼠标2点击指令等等,交互设备可以通过客户端标准化组件将不同格式类型的鼠标点击指令转换为鼠标标准点击事件,作为操作事件;以及将不同格式类型的触屏点击指令转
换为触屏标准点击事件,作为操作事件。
171.s2022、交互设备将操作事件发送至第一云主机的事件标准输入接口。
172.本技术实施例中,客户端标准化组件将转换得到的预设标准事件格式的操作事件传输至事件标准输入接口,以通过事件标准输入接口将操作事件映射为目标驱动事件以及继续进行后续的云音视频方法处理。
173.可以理解的是,本技术实施例中,可以通过客户端标准化组件兼容屏蔽不同软硬件配置的交互设备发起的操作指令,将至少一种格式类型的原始操作指令转化为预设标准事件格式的操作事件传输至第一云主机进行处理,并且,客户端标准化组件能够屏蔽不同交互设备上软硬件媒体播放设备的差异,提供统一的音视频解码播放服务,有利于云音视频交互系统的故障排除、升级维护与迁移,降低了代码冗余导致的不稳定性的风险,进一步提高了云音视频交互系统的兼容性、稳定性和可维护性。
174.参见图12,图12是本技术实施例提供的云音视频处理方法应用于第二云主机的一个可选的流程示意图,将结合图12示出的步骤进行说明。
175.s301、第二云主机通过预设下行标准接口,获取编码音视频流;编码音视频流为第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块,对音视频数据进行预设标准编码格式的音视频编码所得到的;预设下行标准接口分别与第一云主机上的编码传输标准接口以及交互设备连接。
176.本技术实施例中,预设上行标准接口与预设下行标准接口之间可以预先集成实现有标准数据传输服务,标准数据传输服务用于使用预设标准传输格式,对传入预设上行标准接口与预设下行标准接口之间的数据进行封装与传输。在一些实施例中,预设上行标准接口与预设下行标准接口可以在部署在第二云主机上,也可以部署在第一云主机或其他云主机上,具体的根据实际情况进行选择,本技术实施例不做限定。
177.本技术实施例中,预设下行标准接口分别与第一云主机上的编码传输标准接口以及交互设备连接,用于传输从第一云主机发往交互设备的数据流。第二云主机可以通过预设下行标准接口,从第一云主机的编码传输标准接口获取到编码音视频流。其中,编码音视频流为第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块,对音视频数据进行预设标准编码格式的音视频编码所得到的。
178.s302、第二云主机使用预设标准传输格式,将编码音视频流传输至交互设备。
179.本技术实施例中,第二云主机可以利用标准数据传输服务,使用预设标准传输格式,对编码音视频流进行相应传输格式的封装与通道传输,进而将编码音视频流传输至交互设备。
180.在一些实施例中,预设标准传输格式包括以下至少一种:预设应用层标准协议格式、预设传输层标准协议格式与预设网络层标准协议格式;其中,预设应用层标准协议格式包括:webrtc或rtsp中的任意一种;预设传输层标准协议格式包括:rtp或rtcp中的任意一种;预设网络层标准协议格式包括:udp或sctp中的任意一种。
181.s303、第二云主机通过预设上行标准接口,接收交互设备基于编码音视频流发起的操作事件;预设上行标准接口分别与第一云主机上的事件标准输入接口以及交互设备连
接;
182.本技术实施例中,预设上行标准接口分别与第一云主机上的事件标准输入标准接口以及交互设备连接,用于传输从交互设备发往第一云主机的数据流。第二云主机可以通过预设下行标准接口,接收交互设备基于编码音视频流发起的操作事件。
183.s304、第二云主机使用预设标准传输格式,将操作事件传输至事件标准输入接口。
184.本技术实施例中,第二云主机可以通过标准数据传输服务,根据预设标准传输格式,对操作事件的内容数据进行相应传输格式的封装与通道传输,进而通过预设上行标准接口将操作事件输出至第一云主机的事件标准输入接口。
185.可以理解的是,本技术实施例中,通过对云音视频交互系统中传输的操作事件与编码音视频流进行标准化传输,实现了对云音视频交互系统架构的进一步解耦,从而进一步提高了云音视频交互系统的兼容性、稳定性与可维护性。
186.在一些实施例中,交互设备包括:客户端标准化组件,客户端标准化组件分别与预设下行标准接口以及预设上行标准接口连接,参见图13,图13是本技术实施例提供的一个云音视频处理方法的可选的流程示意图,基于图12,s302可以通过执行s3021的过程来实现,s303可以通过执行s3031的过程来实现,将结合各步骤进行说明。
187.s3021、第二云主机通过预设下行标准接口,使用预设标准传输格式,将编码音视频流传输至交互设备上的客户端标准化组件,以使客户端标准化组件对编码音视频流进行预设解码格式的解码与播放,得到解码视频画面与解码音频。
188.本技术实施例中,预设下行标准接口可以包括预设下行标准入口与预设下行标准出口。其中,预设下行标准入口与第一云主机中的编码传输标准接口连接,预设下行标准出口与客户端标准化组件连接。
189.本技术实施例中,第一云主机上的编码模块可以通过编码传输标准接口,将预设标准编码格式的编码音视频流传输至第二云主机上的预设下行标准入口。
190.本技术实施例中,第二云主机通过预设下行标准入口接收到编码音视频流时,可以使用预设标准传输格式,通过编码传输标准接口,对编码音视频流进行相应传输格式的封装与传输,通过预设下行标准出口输出至交互设备上的客户端标准化组件。
191.s3031、第二云主机通过预设上行标准接口,接收交互设备上的客户端标准化组件发出的操作事件,其中,操作事件为客户端标准化组件通过获取针对解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对至少一种格式类型的原始操作指令进行格式转化所得到的。
192.本技术实施例中,预设上行标准接口可以包括预设上行标准入口与预设上行标准出口。其中,预设上行标准入口可以与客户端标准化组件连接,预设上行标准出口可以与第一云主机中的事件标准输入接口连接。
193.本技术实施例中,客户端标准化组件可以将操作事件通过网络连接传输至第二云主机上的预设上行标准入口。第二云主机通过预设上行标准入口接收到操作事件时,可以使用预设标准传输格式,通过编码传输标准接口,对操作事件进行相应传输格式的封装与传输,通过预设上行标准出口输出至第一云主机中的事件标准输入接口。
194.在一些实施例中,标准化传输服务可以包括以下至少一种:上下行网络传输带宽评估服务、拥塞控制服务、连接保持及异常重连服务。
195.在一些实施例中,事件标准输入接口与预设上行标准接口通过第一套接字连接;编码传输标准接口与预设下行标准接口通过第二套接字连接,从而可以根据网络情况,充分利用边缘计算节点及cdn就近接入服务进行灵活部署,解决就近接入最后一公里网络问题。
196.在一些实施例中,第一套接字和第二套接字可以是相同或相应的套接字。具体的根据实际情况进行选择,本技术实施例不作限定。
197.可以理解的是,本技术实施例中,通过对云音视频交互系统中的采集、编码、传输和事件进行解耦,实现了对不同模块驱动配置、以及不同云主机的操作系统的封装隔离,从而可以在不同配置的云主机上可以通过统一的云服务标准化子类对外提供标准化的采集编码、传输、事件等服务,降低了代码冗余,提高了云音视频交互系统的兼容性和稳定性,并且,在对采集编码、传输、事件等服务进行升级或迁移到新硬件或宿主机os运行环境时,只需要实现云服务标准化子类的功能接口即可完成,从而提高了云音视频交互系统的可维护性。
198.下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
199.本技术实施例提供一种云游戏系统的实现架构,如图14所示。其中,云游戏系统包括云游终端600、平台接入层700与云服务平台宿主机800,其中,云游终端600相当于交互设备400,可以是手机、电脑、电视等任意云游戏终端设备。云游终端600上配置有云游软件工具包(云游sdk)610与媒体播放器620,其中,云游sdk610相当于客户端标准化组件460。平台接入层700相当于第二主机500,云服务平台宿主机800相当于第一云主机200。其中,云游戏宿主机800由硬件层810、虚拟机层820、操作系统层830与采集编码事件标准化框架840构成。其中,硬件层810包括宿主机上硬件元器件,如cpu、gpu、io内存及其他硬件等,在一些实施例中,cpu的型号可以是x86或arm,gpu型号可以是nvdia、amd或intel型号。虚拟机层820为在不同硬件配置的云服务平台宿主机上运行的虚拟机环境,在一些实施例中,虚拟机层820可以是kvm、xen、vmware或hyper-v版本的虚拟机环境。虚拟机层820上搭载操作系统层830,操作系统层830可以是linux操作系统或windows操作系统,其中可以运行有基于qemu或houdini实现的android虚拟容器,或windows系统虚拟容器。本技术实施例中,采集编码事件标准化框架840中定义有标准采集编码及事件输入的基类,不同软硬件配置的云服务平台宿主机可以通过对基类的继承,在不同的标准化子类(如intel处理器 android容器对应的子类1,arm处理器 nvida显卡 android容器对应的子类2等等)中实现不同的虚函数接口,以对内兼容屏蔽主机底层不同的采集模块驱动、编码模块驱动,以及操作事件,对外向平台接入层700以及云游终端600提供统一的标准采集编码流输出和事件输入解析服务。在一些实施例中,标准化子类可以实现以下标准接口来实现对外提供统一标准服务:
200.1、初始化标准接口,用于屏蔽兼容不同硬件/宿主机os对外提供的采集和编码驱动以及sdk初始化接口。
201.2、音视频采集标准接口,用于采集屏蔽兼容根据基类设定fps定时器定时采集屏幕内容。
202.3、编码传输标准接口,用于屏蔽兼容根据基类设定fps定时编码输出标准音视频流并下行输出给接入服务。
203.4、事件标准输入接口,用于把相关事件按不同硬件和os宿主机对外提供的驱动和
sdk接口要求输入到游戏进程,如把接收到的鼠标操作指令映射成相应的游戏鼠标按键,再通过键盘鼠标驱动发送给真正的游戏服务器完成整个游戏服务体验。
204.如图14所示,本技术实施例中的云服务平台宿主机800与平台接入层700上已经完成了操作系统、数据库、中间件,运行库等等搭建,实现了云游戏服务器侧相关的硬件设备、存储、传输、网络带宽、安全、游戏更新等等软硬件功能配置,云游终端600只需要集成或安装云游sdk 610,就可以通过调用云游sdk 610中的api与云游戏服务器侧进行音视频数据与操作指令的交互,从而在云游终端600上运行云游戏的相关功能。
205.本技术实施例中,平台接入层700和云服务平台宿主机800在软件架构上互相独立,平台接入层700和700云服务平台宿主机800分离,平台接入层700和云服务平台宿主机800上的采集编码事件标准化框架840采用socket通信。因此,平台接入层700可以与云服务平台宿主机800同机部署,也开始部署在不同主机上,具体地根据游戏用户网络情况就近接入灵活部署,本技术实施例不作限定。平台接入层700对外标准连接云游sdk610,对内连接采集编码事件标准化框架840,用于标准化操作事件的输入和编码音视频流输出。为平台接入层700为云游sdk610与云服务平台宿主机800提供统一的事件和流传输服务。在一些实施例中,流传输服务中的应用层传输及控制协议可以统一为webrtc/rtsp,传输应用层协议上下行可以统一为rtp/rtcp,网络传输层协议可以统一为udp/sctp。平台接入层可以充分利用边缘计算节点及内容分发网络(content delivery network,cdn)就近接入服务,解决云游戏用户就近接入最后一公里网络问题,并可以提供云游戏用户上下行网络传输带宽评估、拥塞控制、连接保持及异常重连等统一标准服务。
206.本技术实施例中,云游戏系统向不同软硬件类型的游戏终端与游戏应用,如手机端游戏、pc端游戏以及云端渲染app应用等提供统一的云游sdk610,在一些实施例中,云游sdk610可以兼容的游戏终端的类型可以包括android/ios/pc/web/h5/tv/psp/xbox/switch等。在一些实施例中,云游sdk610可以是已经集成了标准webrtc接入、音视频解码以及鼠标、键盘等上行事件处理方法的软件开发工具包。云游sdk610可以接收用户通过各种型号以及各种类型的操控设备,如不同型号的键盘、不同型号的游戏手柄等输入游戏终端的不同格式的操控指令,将不同格式的操控指令统一转换为预设标准事件格式的键盘按键、手柄、触模屏事件,并且,云游sdk610中实现了标准音视频格式的输入输出接口,通过标准音视频格式的输入接口,接收平台接入层传入的标准音视频格式的编码音视频流,并通过标准音视频格式的输入接口,向平台接入层发送标准音视频格式的上行音视频数据(如语音输入指令、视频输入指令等)。在一些实施例中,云游sdk610中预设的上下行的标准音视频格式可以是h.264/h.265/aac/opus等,预设标准事件格式可以自定义,具体的根据实际情况进行选择,本技术实施例不做限定。
207.可以理解的是,本技术实施例中提供的云游戏服务平台在应用于云游戏场景时,可以在云端游、云手游不同的硬件配置(如cpu:x86/arm gpu:nvdia/arm/intel等)以及不同的宿主机os(如windows/android虚拟容器等)上实现快速迭代,当云游戏服务平台需要向新的硬件配置、驱动以及sdk进行升级或迁移时,只要实现子类4个基本虚拟函数接口就可以快速接入和联调对接测试上线应用,从而提高了云游戏的兼容性,并且稳定性和运维效率都有大幅提升。
208.下面继续说明本技术实施例提供的第一云音视频处理装置255的实施为软件模块
的示例性结构,在一些实施例中,如图4所示,存储在存储器250的第一云音视频处理装置255中的软件模块可以包括:
209.采集模块260,用于通过音视频采集标准接口,采集云音视频进程生成的音视频数据;
210.编码模块270,用于通过编码传输标准接口,对所述音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将所述编码音视频流传输至交互设备400;
211.事件处理模块280,用于通过事件标准输入接口,接收所述交互设备基于所述编码音视频流发起的操作事件,并将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,
212.所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。
213.在一些实施例中,所述第一云音视频处理装置255还包括初始化模块,所述初始化模块,用于通过音视频采集标准接口调用采集模块,采集云音视频进程生成的音视频数据之前,通过初始化标准接口调用所述采集模块、所述编码模块与所述操作系统各自对应的本地初始化接口,对所述采集模块、所述编码模块与所述操作系统进行初始化,其中,所述初始化标准接口为在所述云服务标准化子类中实现的标准化接口。
214.在一些实施例中,所述采集模块260,还用于根据预设采样帧率,定时通过所述音视频采集标准接口调用本地采集驱动接口对云音视频进程生成的当前视频画面与当前音频进行采集,得到所述音视频数据;所述预设采样帧率为所述预设云服务标准化基类中统一设置的标准化采样帧率。
215.在一些实施例中,所述编码模块270,还用于通过所述编码传输标准接口调用本地编码驱动接口,根据预设编码帧率以及所述预设标准编码格式对所述音视频数据进行编码,得到编码音视频流;所述预设编码帧率为所述预设云服务标准化基类中统一设置的标准化编码帧率;
216.所述事件处理模块280,还用于通过所述事件标准输入接口调用预设指令转换服务,从至少一种预设操作事件与至少一种标准驱动事件的预设对应关系中,确定所述操作事件对应的目标驱动事件;所述至少一种标准驱动事件为所述当前操作系统中的标准驱动事件;将所述操作事件转换为所述目标驱动事件。
217.下面继续说明本技术实施例提供的第二云音视频处理装置455的实施为软件模块的示例性结构,在一些实施例中,如图5所示,存储在第二存储器450的第二云音视频处理装置455中的软件模块可以包括:
218.客户端标准化组件460,所述客户端标准化组件460与第一云主机200上的编码传输标准接口以及事件标准输入接口连接;其中,
219.所述客户端标准化组件460,用于接收所述编码传输标准接口发送的编码音视频流;并对所述编码音视频流进行解码播放,得到解码视频画面与解码音频;所述编码音视频流为所述第一云主机200通过音视频采集标准接口调用采集模块260,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块270,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;
220.所述客户端标准化组件460,还用于获取针对所述解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对所述至少一种格式类型的原始操作指令进行格式转化,得到所述操作事件,将所述操作事件发送至所述事件标准输入接口,以使所述第一云主机200通过所述事件标准输入接口将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,
221.所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。
222.下面继续说明本技术实施例提供的第三云音视频处理装置555的实施为软件模块的示例性结构,在一些实施例中,如图6所示,存储在第三存储器550的第三云音视频处理装置555中的软件模块可以包括:
223.预设下行标准接口570与预设上行标准接口560;所述预设下行标准接口570分别连接第一云主机200上的编码传输标准接口与交互设备,所述预设上行标准接口560分别连接所述交互设备与所述第一云主机200上的事件标准输入接口;其中,
224.所述预设下行标准接口570,用于获取编码音视频流;所述编码音视频流为所述第一云主机200通过音视频采集标准接口调用采集模块260,采集云音视频进程生成音视频数据;并通过所述编码传输标准接口调用编码模块270,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;使用预设标准传输格式,将所述编码音视频流传输至所述交互设备400;
225.所述预设上行标准接口560,用于接收所述交互设备400基于所述编码音视频流发起的操作事件;使用所述预设标准传输格式,将所述操作事件传输至第一云主机200上的事件标准输入接口。
226.在一些实施例中,所述交互设备400包括:客户端标准化组件460,所述客户端标准化组件460分别与所述预设下行标准接口570以及所述预设上行标准接口560连接,所述预设下行标准接口570,还用于使用所述预设标准传输格式,将所述编码音视频流传输至所述交互设备400上的所述客户端标准化组件460,以使所述客户端标准化组件460对所述编码音视频流进行预设解码格式的解码与播放,得到解码视频画面与解码音频;
227.所述预设上行标准接口560,还用于接收所述交互设备400上的所述客户端标准化组件460发出的所述操作事件,其中,所述操作事件为所述客户端标准化组件460通过获取针对所述解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对所述至少一种格式类型的原始操作指令进行格式转化所得到的。
228.在一些实施例中,所述预设上行标准接口560与所述预设下行标准接口570之间实现有标准化传输服务,所述标准化传输服务包括以下至少一种:
229.上下行网络传输带宽评估服务、拥塞控制服务以及连接保持及异常重连服务。
230.在一些实施例中,所述事件标准输入接口与预设上行标准接口560通过第一套接字连接;所述编码传输标准接口与预设下行标准接口570通过第二套接字连接。
231.在一些实施例中,所述预设标准传输格式包括以下至少一种:
232.预设应用层标准协议格式、预设传输层标准协议格式与预设网络层标准协议格
式;其中,所述预设应用层标准协议格式包括:网页即时通信协议或实时流传输协议中的任意一种;所述预设传输层标准协议格式包括实时传输协议或实时传输控制协议中的任意一种;所述预设网络层标准协议格式包括:用户数据包协议或流控制传输协议中的任意一种。
233.需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
234.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的云音视频处理方法。
235.本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的方法,例如,如图7、图9、图10、图12以及13中示出的方法。
236.在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
237.在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
238.作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
239.作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
240.综上所述,本技术实施例通过在预设云服务标准化基类派生的云服务标准化子类中,分别基于云服务平台宿主机上的采集模块、编码模块以及操作系统各自的配置信息实现标准化接口,进而能够通过音视频采集标准接口调用云服务平台宿主机上配置的采集模块进行音视频数据的采集;通过编码传输标准接口调用云服务平台宿主机上配置的编码模块进行音视频标准化编码与输出,以及将通过事件标准输入接口将操作事件映射为云服务平台宿主机的操作系统对应的目标驱动事件,从而实现了对不同模块驱动配置、以及不同云主机的操作系统的封装隔离,在不同配置的云主机上可以通过统一的云服务标准化子类对外提供标准化的采集编码、传输、事件等服务,降低了模块耦合度与代码冗余,提高了云音视频交互系统的兼容性和稳定性,并且,在对采集编码、传输、事件等服务进行升级或迁移到新硬件或宿主机os运行环境时,只需要实现云服务标准化子类的功能接口即可完成,从而提高了云音视频交互系统的可维护性。
241.以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本申
请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献