HK40075015B - Cloud audio and video processing method, system, electronic equipment and storage medium - Google Patents
Cloud audio and video processing method, system, electronic equipment and storage medium Download PDFInfo
- Publication number
- HK40075015B HK40075015B HK42022064929.7A HK42022064929A HK40075015B HK 40075015 B HK40075015 B HK 40075015B HK 42022064929 A HK42022064929 A HK 42022064929A HK 40075015 B HK40075015 B HK 40075015B
- Authority
- HK
- Hong Kong
- Prior art keywords
- audio
- standard
- video
- cloud
- preset
- Prior art date
Links
Description
技术领域Technical Field
本申请涉及云技术,尤其涉及一种云音视频处理方法、系统、电子设备及存储介质。This application relates to cloud technology, and more particularly to a cloud audio and video processing method, system, electronic device, and storage medium.
背景技术Background Technology
目前,云游戏或云直播等云音视频交互系统中所使用的云服务平台的解决方案通常是将采集、编码、传输以及上行事件处理服务等模块都集成在一起进行实现。由于不同的宿主机操作系统和硬件组合配置不一样,不同的硬件配置或不同的宿主机操作系统运行环境系统及驱动采集、编码、传输及事件底层接口也不一样,导致目前的云服务平台针对不同的硬件配置和运行宿主机操作系统需要通过不同的模块组合配置,以及不同的代码实现。因此,目前云服务平台的模块耦合度与代码冗余度较高,不利于云服务平台的稳定运行与升级维护,从而降低了云音视频交互系统的兼容性、稳定性和可维护性。Currently, cloud service platform solutions used in cloud gaming or cloud live streaming audio-visual interactive systems typically integrate modules such as acquisition, encoding, transmission, and uplink event processing services. However, due to variations in host operating systems and hardware configurations, as well as differences in the underlying interfaces for acquisition, encoding, transmission, and events across different hardware configurations and host operating systems, current cloud service platforms require different module configurations and code implementations for different hardware configurations and host operating systems. Therefore, current cloud service platforms exhibit high module coupling and code redundancy, which hinders stable operation, upgrades, and maintenance, thereby reducing the compatibility, stability, and maintainability of cloud audio-visual interactive systems.
发明内容Summary of the Invention
本申请实施例提供一种云音视频处理方法、系统、电子设备及存储介质,能够提高云音视频交互系统的兼容性、稳定性和可维护性。This application provides a cloud audio and video processing method, system, electronic device, and storage medium, which can improve the compatibility, stability, and maintainability of the cloud audio and video interaction system.
本申请实施例的技术方案是这样实现的:The technical solution of this application embodiment is implemented as follows:
本申请实施例提供一种云音视频处理方法,包括:This application provides a cloud audio and video processing method, including:
通过音视频采集标准接口调用采集模块,采集云音视频进程生成的音视频数据;The acquisition module is called through the standard audio and video acquisition interface to acquire audio and video data generated by the cloud audio and video process.
通过编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将所述编码音视频流传输至交互设备;The encoding module is called through the encoding transmission standard interface to encode the audio and video data in a preset standard encoding format to obtain an encoded audio and video stream, and then the encoded audio and video stream is transmitted to the interactive device.
通过事件标准输入接口,接收所述交互设备基于所述编码音视频流发起的操作事件,并将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,The system receives operation events initiated by the interactive device based on the encoded audio and video stream through a standard event input interface, and maps these operation events to target driver events corresponding to the current operating system. The target driver events are used to drive the cloud audio and video process to update the corresponding audio and video data.
所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。The audio/video acquisition standard interface, the encoding and transmission standard interface, and the event standard input interface are standardized interfaces implemented in cloud service standard subclasses derived from the preset cloud service standard base class, based on the configuration information of the acquisition module, the encoding module, and the operating system, respectively.
本申请实施例提供一种云音视频处理方法,包括:This application provides a cloud audio and video processing method, including:
接收编码音视频流,并对所述编码音视频流进行解码播放,得到解码视频画面与解码音频;所述编码音视频流为第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;The system receives encoded audio and video streams and decodes and plays them to obtain decoded video images and decoded audio. The encoded audio and video streams are generated by the first cloud host through the audio and video acquisition standard interface, which calls the acquisition module to acquire cloud audio and video data; and through the encoding transmission standard interface, which calls the encoding module to encode the audio and video data in a preset standard encoding format.
获取针对所述解码视频画面或解码音频发起的操作事件,将所述操作事件发送至所述第一云主机的事件标准输入接口,以使所述第一云主机通过所述事件标准输入接口将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,The system acquires an operation event initiated in response to the decoded video or audio, and sends the operation event to the event standard input interface of the first cloud host. This allows the first cloud host to map the operation event to a target driver event corresponding to the current operating system via the event standard input interface. The target driver event is used to drive the cloud audio/video process to update the corresponding audio/video data.
所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。The audio/video acquisition standard interface, the encoding and transmission standard interface, and the event standard input interface are standardized interfaces implemented in cloud service standard subclasses derived from the preset cloud service standard base class, based on the configuration information of the acquisition module, the encoding module, and the operating system, respectively.
本申请实施例提供一种云音视频处理方法,包括:This application provides a cloud audio and video processing method, including:
通过预设下行标准接口,获取编码音视频流;所述编码音视频流为第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;所述预设下行标准接口分别与所述第一云主机上的所述编码传输标准接口以及交互设备连接;The encoded audio and video stream is obtained through a preset downlink standard interface; the encoded audio and video stream is generated by the first cloud host by calling the acquisition module through the audio and video acquisition standard interface to acquire cloud audio and video data; and the audio and video data is encoded by the encoding module through the encoding transmission standard interface to perform audio and video encoding in a preset standard encoding format; the preset downlink standard interface is connected to the encoding transmission standard interface on the first cloud host and the interactive device respectively.
使用预设标准传输格式,将所述编码音视频流传输至所述交互设备;The encoded audio and video streams are transmitted to the interactive device using a preset standard transmission format;
通过预设上行标准接口,接收所述交互设备基于所述编码音视频流发起的操作事件;所述预设上行标准接口分别与所述第一云主机上的事件标准输入接口以及所述交互设备连接;The system receives operation events initiated by the interactive device based on the encoded audio and video stream through a preset uplink standard interface; the preset uplink standard interface is connected to the event standard input interface on the first cloud host and the interactive device, respectively.
使用所述预设标准传输格式,将所述操作事件传输至所述事件标准输入接口。The operation event is transmitted to the event standard input interface using the preset standard transmission format.
本申请实施例提供一种第一云主机,包括:This application provides a first cloud host, including:
采集模块,用于通过音视频采集标准接口,采集云音视频进程生成的音视频数据;The acquisition module is used to acquire audio and video data generated by the cloud audio and video process through the standard audio and video acquisition interface;
编码模块,用于通过编码传输标准接口,对所述音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将所述编码音视频流传输至交互设备;The encoding module is used to encode the audio and video data in a preset standard encoding format through an encoding transmission standard interface to obtain an encoded audio and video stream, and then transmit the encoded audio and video stream to the interactive device.
事件处理模块,用于通过事件标准输入接口,接收所述交互设备基于所述编码音视频流发起的操作事件,并将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,The event handling module is used to receive operation events initiated by the interactive device based on the encoded audio and video stream through the event standard input interface, and to map the operation events to target driving events corresponding to the current operating system; the target driving events are used to drive the cloud audio and video process to update the audio and video data accordingly; wherein...
所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。The audio/video acquisition standard interface, the encoding and transmission standard interface, and the event standard input interface are standardized interfaces implemented in cloud service standard subclasses derived from the preset cloud service standard base class, based on the configuration information of the acquisition module, the encoding module, and the operating system, respectively.
上述第一云主机中,所述第一云主机还包括初始化模块,所述初始化模块,用于通过音视频采集标准接口调用采集模块,采集云音视频进程生成的音视频数据之前,通过初始化标准接口调用所述采集模块、所述编码模块与所述操作系统各自对应的本地初始化接口,对所述采集模块、所述编码模块与所述操作系统进行初始化,其中,所述初始化标准接口为在所述云服务标准化子类中实现的标准化接口。In the aforementioned first cloud host, the first cloud host further includes an initialization module. The initialization module is used to call the acquisition module through the audio and video acquisition standard interface before acquiring the audio and video data generated by the cloud audio and video process. Before acquiring the audio and video data, the initialization module calls the local initialization interfaces corresponding to the acquisition module, the encoding module, and the operating system through the initialization standard interface to initialize the acquisition module, the encoding module, and the operating system. The initialization standard interface is a standardized interface implemented in the cloud service standardized subclass.
上述第一云主机中,所述采集模块,还用于根据预设采样帧率,定时通过所述音视频采集标准接口调用本地采集驱动接口对云音视频进程生成的当前视频画面与当前音频进行采集,得到所述音视频数据;所述预设采样帧率为所述预设云服务标准化基类中统一设置的标准化采样帧率。In the aforementioned first cloud host, the acquisition module is further configured to periodically call the local acquisition driver interface through the audio and video acquisition standard interface to acquire the current video frame and current audio generated by the cloud audio and video process according to the preset sampling frame rate, so as to obtain the audio and video data; the preset sampling frame rate is the standardized sampling frame rate uniformly set in the preset cloud service standardization base class.
上述第一云主机中,所述编码模块,还用于通过所述编码传输标准接口调用本地编码驱动接口,根据预设编码帧率以及所述预设标准编码格式对所述音视频数据进行编码,得到编码音视频流;所述预设编码帧率为所述预设云服务标准化基类中统一设置的标准化编码帧率;In the aforementioned first cloud host, the encoding module is further configured to call the local encoding driver interface through the encoding transmission standard interface, and encode the audio and video data according to the preset encoding frame rate and the preset standard encoding format to obtain an encoded audio and video stream; the preset encoding frame rate is the standardized encoding frame rate uniformly set in the preset cloud service standardization base class;
上述第一云主机中,所述事件处理模块,还用于通过所述事件标准输入接口调用预设指令转换服务,从至少一种预设操作事件与至少一种标准驱动事件的预设对应关系中,确定所述操作事件对应的目标驱动事件;所述至少一种标准驱动事件为所述当前操作系统中的标准驱动事件;将所述操作事件转换为所述目标驱动事件。In the aforementioned first cloud host, the event processing module is further configured to call a preset instruction conversion service through the event standard input interface to determine the target driving event corresponding to the operation event from a preset correspondence between at least one preset operation event and at least one standard driving event; the at least one standard driving event is a standard driving event in the current operating system; and convert the operation event into the target driving event.
本申请实施例提供一种交互设备,包括:This application provides an interactive device, including:
客户端标准化组件,所述客户端标准化组件与第一云主机上的编码传输标准接口以及事件标准输入接口连接;其中,A standardized client component is provided, which is connected to the encoding and transmission standard interface and the event standard input interface on the first cloud host; wherein...
所述客户端标准化组件,用于接收所述编码传输标准接口发送的编码音视频流;并对所述编码音视频流进行解码播放,得到解码视频画面与解码音频;所述编码音视频流为所述第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;The client-side standardized component is used to receive the encoded audio and video stream sent by the encoded transmission standard interface; and to decode and play the encoded audio and video stream to obtain decoded video and decoded audio; the encoded audio and video stream is obtained by the first cloud host calling the acquisition module through the audio and video acquisition standard interface to acquire cloud audio and video data generated by the cloud audio and video process; and by calling the encoding module through the encoded transmission standard interface to encode the audio and video data in a preset standard encoding format.
所述客户端标准化组件,还用于获取针对所述解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对所述至少一种格式类型的原始操作指令进行格式转化,得到所述操作事件,将所述操作事件发送至所述事件标准输入接口,以使所述第一云主机通过所述事件标准输入接口将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,The client-side standardization component is further configured to acquire at least one type of raw operation instruction initiated for the decoded video or decoded audio, and to convert the raw operation instruction of at least one type of raw operation instruction according to a preset standard event format to obtain the operation event. The operation event is then sent to the event standard input interface, so that the first cloud host maps the operation event to a target driving event corresponding to the current operating system through the event standard input interface. The target driving event is used to drive the cloud audio/video process to update the audio/video data accordingly.
所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。The audio/video acquisition standard interface, the encoding and transmission standard interface, and the event standard input interface are standardized interfaces implemented in cloud service standard subclasses derived from the preset cloud service standard base class, based on the configuration information of the acquisition module, the encoding module, and the operating system, respectively.
本申请实施例提供一种第二云主机,包括:This application provides a second cloud host, including:
预设下行标准接口与预设上行标准接口;所述预设下行标准接口分别连接第一云主机上的编码传输标准接口与交互设备,所述预设上行标准接口分别连接所述交互设备与所述第一云主机上的事件标准输入接口;其中,The system includes a preset downlink standard interface and a preset uplink standard interface. The preset downlink standard interface is connected to the encoding transmission standard interface on the first cloud host and the interactive device, respectively. The preset uplink standard interface is connected to the interactive device and the event standard input interface on the first cloud host, respectively.
所述预设下行标准接口,用于接收所述第一云主机通过所述编码传输标准接口发送的编码音视频流;所述编码音视频流为所述第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过所述编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;使用预设标准传输格式,将所述编码音视频流传输至所述交互设备;The preset downlink standard interface is used to receive the encoded audio and video stream sent by the first cloud host through the encoding transmission standard interface; the encoded audio and video stream is obtained by the first cloud host calling the acquisition module through the audio and video acquisition standard interface to acquire cloud audio and video data generated by the cloud audio and video process; and by calling the encoding module through the encoding transmission standard interface to encode the audio and video data in a preset standard encoding format; the encoded audio and video stream is transmitted to the interactive device using the preset standard transmission format;
所述预设上行标准接口,用于接收所述交互设备基于所述编码音视频流发起的操作事件;使用所述预设标准传输格式,将所述操作事件传输至第一云主机上的事件标准输入接口。The preset uplink standard interface is used to receive operation events initiated by the interactive device based on the encoded audio and video stream; and to transmit the operation events to the event standard input interface on the first cloud host using the preset standard transmission format.
上述第二云主机中,所述交互设备上配置有客户端标准化组件,所述客户端标准化组件分别与所述预设下行标准接口以及所述预设上行标准接口连接,所述预设下行标准接口,还用于使用所述预设标准传输格式,将所述编码音视频流传输至所述交互设备上的所述客户端标准化组件,以使所述客户端标准化组件对所述编码音视频流进行预设解码格式的解码与播放,得到解码视频画面与解码音频;In the aforementioned second cloud host, the interactive device is equipped with a client standardization component. The client standardization component is connected to the preset downlink standard interface and the preset uplink standard interface respectively. The preset downlink standard interface is also used to transmit the encoded audio and video stream to the client standardization component on the interactive device using the preset standard transmission format, so that the client standardization component can decode and play the encoded audio and video stream in a preset decoding format to obtain decoded video and decoded audio.
所述预设上行标准接口,还用于接收所述交互设备上的所述客户端标准化组件发出的所述操作事件,其中,所述操作事件为所述客户端标准化组件通过获取针对所述解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对所述至少一种格式类型的原始操作指令进行格式转化所得到的。The preset uplink standard interface is also used to receive the operation event issued by the client standardization component on the interactive device, wherein the operation event is obtained by the client standardization component by acquiring at least one original operation instruction of at least one format type initiated for the decoded video screen or decoded audio, and converting the original operation instruction of at least one format type according to the preset standard event format.
上述第二云主机中,所述预设上行标准接口与所述预设下行标准接口之间实现有标准化传输服务,所述标准化传输服务包括以下至少一种:In the aforementioned second cloud host, a standardized transmission service is implemented between the preset uplink standard interface and the preset downlink standard interface, and the standardized transmission service includes at least one of the following:
上下行网络传输带宽评估服务、拥塞控制服务以及连接保持及异常重连服务。Uplink and downlink network transmission bandwidth assessment service, congestion control service, and connection maintenance and abnormal reconnection service.
上述第二云主机中,所述事件标准输入接口与预设上行标准接口通过第一套接字连接;所述编码传输标准接口与预设下行标准接口通过第二套接字连接。In the aforementioned second cloud host, the event standard input interface is connected to the preset uplink standard interface via a first socket; the encoded transmission standard interface is connected to the preset downlink standard interface via a second socket.
上述第二云主机中,所述预设标准传输格式包括以下至少一种:In the aforementioned second cloud host, the preset standard transmission format includes at least one of the following:
预设应用层标准协议格式、预设传输层标准协议格式与预设网络层标准协议格式;其中,所述预设应用层标准协议格式包括:网页即时通信协议或实时流传输协议中的任意一种;所述预设传输层标准协议格式包括实时传输协议或实时传输控制协议中的任意一种;所述预设网络层标准协议格式包括:用户数据包协议或流控制传输协议中的任意一种。The system includes a preset application layer standard protocol format, a preset transport layer standard protocol format, and a preset network layer standard protocol format. The preset application layer standard protocol format includes either a web instant messaging protocol or a real-time streaming protocol. The preset transport layer standard protocol format includes either a real-time transmission protocol or a real-time transmission control protocol. The preset network layer standard protocol format includes either a user data packet protocol or a flow control transmission protocol.
本申请实施例提供一种云音视频处理系统,包括:第一云主机、第二云主机与交互设备;所述第一云主机上运行有云音视频进程;所述第二云主机上部署有预设上行标准接口与预设下行标准接口;所述交互设备上部署有客户端标准化组件;所述客户端标准化组件通过所述预设上行标准接口与所述第一云主机上的事件标准输入接口连接,所述客户端标准化组件通过所述预设下行标准接口与所述第一云主机上的编码传输标准接口连接;其中,This application provides a cloud audio and video processing system, including: a first cloud host, a second cloud host, and an interactive device; the first cloud host runs a cloud audio and video process; the second cloud host is equipped with a preset uplink standard interface and a preset downlink standard interface; the interactive device is equipped with a client standardization component; the client standardization component is connected to an event standard input interface on the first cloud host through the preset uplink standard interface, and the client standardization component is connected to an encoding transmission standard interface on the first cloud host through the preset downlink standard interface; wherein...
所述第一云主机,用于通过音视频采集标准接口调用采集模块,采集所述云音视频进程生成的音视频数据;通过编码传输标准接口调用编码模块,对所述音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将所述编码音视频流传输至所述预设下行标准接口;The first cloud host is used to call the acquisition module through the audio and video acquisition standard interface to acquire the audio and video data generated by the cloud audio and video process; and to call the encoding module through the encoding transmission standard interface to encode the audio and video data in a preset standard encoding format to obtain an encoded audio and video stream, and to transmit the encoded audio and video stream to the preset downlink standard interface.
所述第二云主机,用于通过所述预设下行标准接口,使用预设标准传输格式,将所述编码音视频流传输至所述客户端标准化组件;The second cloud host is used to transmit the encoded audio and video streams to the client standardization component via the preset downlink standard interface using a preset standard transmission format;
所述交互设备,用于通过所述客户端标准化组件对所述编码音视频流进行解码播放,得到解码视频画面与解码音频;获取针对所述解码视频画面或解码音频发起的操作事件,将所述操作事件发送至所述预设上行标准接口;The interactive device is used to decode and play the encoded audio and video stream through the client standardization component to obtain decoded video and decoded audio; and to obtain operation events initiated for the decoded video or decoded audio and send the operation events to the preset uplink standard interface.
所述第二云主机,还用于通过所述预设上行标准接口,使用所述预设标准传输格式,将所述操作事件传输至所述事件标准输入接口;The second cloud host is also used to transmit the operation event to the event standard input interface through the preset uplink standard interface using the preset standard transmission format;
所述第一云主机,还用于通过所述事件标准输入接口,将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;The first cloud host is further configured to map the operation event to a target driving event corresponding to the current operating system through the event standard input interface; the target driving event is used to drive the cloud audio and video process to update the audio and video data accordingly;
其中,所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。The audio/video acquisition standard interface, the encoding and transmission standard interface, and the event standard input interface are standardized interfaces implemented in cloud service standard subclasses derived from the preset cloud service standard base class, respectively based on the configuration information of the acquisition module, the encoding module, and the operating system.
本申请实施例提供一种电子设备,包括:This application provides an electronic device, including:
存储器,用于存储可执行指令;Memory, used to store executable instructions;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的上述任一种云音视频处理方法。When the processor executes the executable instructions stored in the memory, it implements any of the cloud audio and video processing methods provided in the embodiments of this application.
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的上述任一种云音视频处理方法。This application provides a computer-readable storage medium storing executable instructions, which, when executed by a processor, implement any of the cloud audio and video processing methods described above.
本申请实施例具有以下有益效果:The embodiments of this application have the following beneficial effects:
通过在预设云服务标准化基类派生的云服务标准化子类中,分别基于云服务平台宿主机上的采集模块、编码模块以及操作系统各自的配置信息实现标准化接口,进而能够通过音视频采集标准接口调用云服务平台宿主机上配置的采集模块进行音视频数据的采集;通过编码传输标准接口调用云服务平台宿主机上配置的编码模块进行音视频标准化编码与输出,以及将通过事件标准输入接口将操作事件映射为云服务平台宿主机的操作系统对应的目标驱动事件,从而实现了对不同模块驱动配置、以及不同云主机的操作系统的封装隔离,在不同配置的云主机上可以通过统一的云服务标准化子类对外提供标准化的采集编码、传输、事件等服务,降低了模块耦合度与代码冗余,提高了云音视频交互系统的兼容性和稳定性,并且,在对采集编码、传输、事件等服务进行升级或迁移到新硬件或宿主机操作系统运行环境时,只需要实现云服务标准化子类的功能接口即可完成,从而提高了云音视频交互系统的可维护性。By implementing standardized interfaces in cloud service standardized subclasses derived from a predefined cloud service standardized base class, based on the configuration information of the acquisition module, encoding module, and operating system on the cloud service platform host, the system can capture audio and video data by calling the acquisition module configured on the cloud service platform host through the audio and video acquisition standard interface; perform standardized audio and video encoding and output by calling the encoding module configured on the cloud service platform host through the encoding and transmission standard interface; and map operation events to target driver events corresponding to the operating system of the cloud service platform host through the event standard input interface. This achieves encapsulation and isolation of different module driver configurations and different cloud host operating systems. Standardized acquisition, encoding, transmission, and event services can be provided externally through a unified cloud service standardized subclass on cloud hosts with different configurations, reducing module coupling and code redundancy, improving the compatibility and stability of the cloud audio and video interaction system. Furthermore, when upgrading or migrating the acquisition, encoding, transmission, and event services to new hardware or host operating system environments, only the functional interfaces of the cloud service standardized subclass need to be implemented, thereby improving the maintainability of the cloud audio and video interaction system.
附图说明Attached Figure Description
图1是本申请实施例提供的云游戏交互过程示意图;Figure 1 is a schematic diagram of the cloud gaming interaction process provided in an embodiment of this application;
图2是本申请实施例提供的目前的云游戏服务器平台的架构示意图;Figure 2 is a schematic diagram of the architecture of the current cloud gaming server platform provided in the embodiments of this application;
图3是本申请实施例提供的云音视频处理系统架构的一个可选的结构示意图;Figure 3 is a schematic diagram of an optional cloud audio and video processing system architecture provided in an embodiment of this application;
图4是本申请实施例提供的第一云主机的一个可选的结构示意图;Figure 4 is a schematic diagram of an optional structure of the first cloud host provided in an embodiment of this application;
图5是本申请实施例提供的交互设备的一个可选的结构示意图;Figure 5 is a schematic diagram of an optional structure of the interactive device provided in an embodiment of this application;
图6是本申请实施例提供的第二云主机的一个可选的结构示意图;Figure 6 is a schematic diagram of an optional structure of the second cloud host provided in an embodiment of this application;
图7是本申请实施例提供的云音视频处理方法的一个可选的流程示意图;Figure 7 is an optional flowchart of the cloud audio and video processing method provided in an embodiment of this application;
图8是本申请实施例提供的预设云服务标准化基类、云服务标准化子类与预设云服务标准化基类中包含的标准虚函数接口的关系示意图;Figure 8 is a schematic diagram showing the relationship between the preset cloud service standardization base class, the cloud service standardization subclass, and the standard virtual function interface contained in the preset cloud service standardization base class provided in the embodiments of this application.
图9是本申请实施例提供的云音视频处理方法的一个可选的流程示意图;Figure 9 is an optional flowchart of the cloud audio and video processing method provided in an embodiment of this application;
图10是本申请实施例提供的云音视频处理方法的一个可选的流程示意图;Figure 10 is an optional flowchart of the cloud audio and video processing method provided in an embodiment of this application;
图11是本申请实施例提供的客户端标准化组件对至少一种格式类型的原始操作指令进行转化的示意图;Figure 11 is a schematic diagram of the client standardization component provided in this application converting at least one format type of original operation instruction;
图12是本申请实施例提供的云音视频处理方法的一个可选的流程示意图;Figure 12 is an optional flowchart of the cloud audio and video processing method provided in an embodiment of this application;
图13是本申请实施例提供的云音视频处理方法的一个可选的流程示意图;Figure 13 is an optional flowchart of the cloud audio and video processing method provided in an embodiment of this application;
图14是本申请实施例提供的云游戏系统的一个可选的架构示意图。Figure 14 is a schematic diagram of an optional architecture of the cloud gaming system provided in an embodiment of this application.
具体实施方式Detailed Implementation
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。If the application documents contain similar descriptions such as "first/second", the following explanation shall be added: In the following description, the terms "first/second/third" are used only to distinguish similar objects and do not represent a specific order of objects. It is understood that "first/second/third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.
1)云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。1) Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. Cloud technology is a general term encompassing network technology, information technology, integration technology, management platform technology, and application technology applied to the cloud computing business model. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.
2)云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。2) Cloud computing is a computing model that distributes computing tasks across a resource pool composed of a large number of computers, enabling various application systems to obtain computing power, storage space, and information services as needed. The network providing these resources is called the "cloud." From the user's perspective, the resources in the "cloud" are infinitely scalable, readily available, on-demand, expandable, and pay-as-you-go.
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。As a provider of fundamental cloud computing capabilities, a cloud resource pool (referred to as a cloud platform, generally called an IaaS (Infrastructure as a Service) platform) is established. Various types of virtual resources are deployed in the resource pool for external customers to choose from. The cloud resource pool mainly includes: computing devices (virtualized machines containing operating systems), storage devices, and network devices.
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web虚拟容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。Based on logical function, a PaaS (Platform as a Service) layer can be deployed on top of the IaaS (Infrastructure as a Service) layer, and a SaaS (Software as a Service) layer can be deployed on top of the PaaS layer. Alternatively, SaaS can be deployed directly on top of IaaS. PaaS is a platform for running software, such as databases and web virtual containers. SaaS refers to various types of business software, such as web portals and bulk SMS senders. Generally speaking, SaaS and PaaS are upper layers compared to IaaS.
3)云游戏(Cloud gaming):又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。3) Cloud gaming: Also known as gaming on demand, it is an online gaming technology based on cloud computing. Cloud gaming technology enables thin clients with relatively limited graphics processing and data processing capabilities to run high-quality games. In cloud gaming, the game does not reside on the player's terminal but runs on a cloud server. The cloud server renders the game scene as a video and audio stream, which is then transmitted to the player's terminal via the network. The player's terminal does not need powerful graphics processing and data processing capabilities; it only needs basic streaming media playback capabilities and the ability to receive player input commands and send them to the cloud server.
4)虚拟引擎(Unreal Engine):是一个面向PC、Xbox 360、iOS和PlayStation 3的完整开发框架,其中提供了大量核心技术、内容创建工具以及支持基础设施内容。虚拟引擎各方面功能的设计思想都是使得内容创建和编程变得更方便,其设计目标是赋予美工人员及游戏设计人员尽可能多的控制权来开发可视化环境中的资源,最小化程序员的协助,同时为程序员提供一个高度模块化的、可升级的、可扩展的架构,以便可以开发、测试及发行各种类型的游戏。4) Unreal Engine: A complete development framework for PC, Xbox 360, iOS, and PlayStation 3, providing a wealth of core technologies, content creation tools, and supporting infrastructure. The design philosophy behind all aspects of Unreal Engine is to make content creation and programming more convenient. Its goal is to give artists and game designers as much control as possible in developing resources within a visual environment, minimizing programmer assistance, while providing programmers with a highly modular, upgradeable, and scalable architecture to develop, test, and release various types of games.
5)X86:X86架构(The X86 architecture)是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,是复杂指令系统计算机(Complex Instruction Set Computer,CISC)的复杂指令集。5) X86: The X86 architecture is a set of computer language instructions executed by a microprocessor. It is a standard abbreviation for a series of general-purpose Intel computers and also identifies a set of general-purpose computer instructions. It is the complex instruction set of a Complex Instruction Set Computer (CISC).
6)ARM(Advanced RISC Machine):ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款精简指令集计算机(Reduced Instruction Set Computing,RISC)微处理器。6) ARM (Advanced RISC Machine): The ARM processor is the first low-power, low-cost Reduced Instruction Set Computing (RISC) microprocessor designed by Acorn Ltd. in the UK.
7)houdini:houdini是Intel研发的ARM二进制译码器(binary translator),它的原理在于把ARM的二进制代码转译为X86指令集,以在X86的CPU上执行。7) Houdini: Houdini is an ARM binary translator developed by Intel. Its principle is to translate ARM binary code into x86 instruction set for execution on x86 CPU.
8)画面每秒传输帧数(Frames Per Second,FPS):FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数越多,所显示的动作就会越流畅。也可以理解为“刷新率”(单位为Hz)。8) Frames Per Second (FPS): FPS is a definition in the field of graphics, referring to the number of frames transmitted per second. Simply put, it refers to the number of frames in an animation or video. FPS measures the amount of information used to store and display dynamic video. The more frames per second, the smoother the displayed motion. It can also be understood as the "refresh rate" (measured in Hz).
9)虚拟容器(也可称为仿真器)是指通过计算机程序模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在仿真器中都能够实现。仿真器可包括Android仿真器、Java仿真器、Linux仿真器,windows仿真器,等等。9) A virtual container (also known as an emulator) is a complete computer system simulated by a computer program, possessing full hardware system functionality and running in a completely isolated environment. Any task that can be performed on a physical computer can also be performed in an emulator. Emulators can include Android emulators, Java emulators, Linux emulators, Windows emulators, and so on.
10)虚函数是被virtual修饰的成员函数,在基类中被声明为virtual,并在一个或多个派生类中个被重新定义。指向基类的指针在操作它的多态类对象时,会根据不同的类对象,调用其相应的函数。虚函数可以用于实现多态性,多态性是将接口与实现进行分离,实现相同的功能,但因个体差异个采用不同的方法策略。10) A virtual function is a member function modified by `virtual`. It is declared as `virtual` in the base class and redefined in one or more derived classes. When a pointer to the base class operates on its polymorphic class object, it will call the appropriate function depending on the different class objects. Virtual functions can be used to implement polymorphism, which separates the interface from the implementation, achieving the same functionality but using different methods and strategies due to individual differences.
11)实时流传输协议(Real Time Streaming Protocol,RTSP)是TCP/IP协议体系中的一个应用层协议。11) Real-Time Streaming Protocol (RTSP) is an application layer protocol in the TCP/IP protocol suite.
12)网页即时通信(Web Real-Time Communication,WebRTC)协议是一个支持网页浏览器进行实时语音对话或视频对话的API协议。12) The Web Real-Time Communication (WebRTC) protocol is an API protocol that enables web browsers to conduct real-time voice or video conversations.
13)实时传输协议(Real-time Transport Protocol,RTP)是一个网络传输协议;实时传输控制协议(Real-time Transport Control Protocol,RTCP)是其姐妹协议。13) Real-time Transport Protocol (RTP) is a network transport protocol; Real-time Transport Control Protocol (RTCP) is its sister protocol.
14)用户数据包协议(User Datagram Protocol,UDP)为应用程序提供了一种无需建立连接就可以发送封装的IP数据包的方法。14) User Datagram Protocol (UDP) provides an application with a method to send encapsulated IP packets without establishing a connection.
15)流控制传输协议(Stream Control Transmission Protocol,SCTP)是一种在网络连接两端之间同时传输多个数据流的协议。15) Stream Control Transmission Protocol (SCTP) is a protocol that allows multiple data streams to be transmitted simultaneously between two ends of a network connection.
16)QEMU是一套以通用公共许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。16) QEMU is a set of emulated processors whose source code is distributed under the General Public License and is widely used on the GNU/Linux platform.
目前,云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将服务器生成的游戏画面编码压缩后通过网络传送给终端上的云游戏客户端。云游戏客户端上的游戏设备不需要配置任何高端处理器和显卡,也不需要主动适配不同的软硬件平台、或具备强大的终端渲染性能,只需要基本的音视频解压能力就可以了。目前云游戏的交互方式可以如图1所示。云游戏主进程运行在云端服务器10上,其中,云端服务器10通常是带有图形处理器(Graphics Processing Unit,GPU)的边缘计算节点。云端服务器10将GPU生成的游戏图像转换为VP8、VP9、H.264、H265或AV1等格式的视频流以及silk、opus、aac等格式音频流数据,通过网络将音视频流传到各种类型的终端11,如电视、手机、PC、平板等等。终端可以将接收到的音视频流解码后进行渲染得到终端游戏画面,在终端的显示设备上显示给用户。并且,终端可以接收用户通过键盘、鼠标、手柄、触摸屏等操作设备,在终端游戏画面的目标坐标位置上发起的操作指令,并将这些操作指令和坐标位置作为交互操作信息,上行传输到云端服务器10,云端服务器10再把接收到的交互操作信息映射成云游戏程序中默认的游戏鼠标按键,再通过键盘鼠标驱动发送给云端服务器10完成整个游戏服务体验。Currently, cloud gaming is a gaming method based on cloud computing. In the cloud gaming operating mode, all games run on the server side, and the game screen generated by the server is encoded, compressed, and transmitted to the cloud gaming client on the terminal via the network. The gaming device on the cloud gaming client does not need to be equipped with any high-end processors or graphics cards, nor does it need to actively adapt to different software and hardware platforms or have powerful terminal rendering performance; only basic audio and video decompression capabilities are required. The current interaction method of cloud gaming can be shown in Figure 1. The main process of cloud gaming runs on cloud server 10, which is usually an edge computing node with a graphics processing unit (GPU). Cloud server 10 converts the game images generated by the GPU into video streams in formats such as VP8, VP9, H.264, H.265, or AV1, and audio streams in formats such as silk, opus, and aac, and transmits the audio and video streams to various types of terminals 11 via the network, such as TVs, mobile phones, PCs, tablets, etc. The terminal can decode the received audio and video streams and render them to obtain the terminal game screen, which is then displayed to the user on the terminal's display device. Furthermore, the terminal can receive operation commands initiated by the user at the target coordinate position on the terminal game screen through operation devices such as keyboard, mouse, gamepad, and touch screen, and transmit these operation commands and coordinate positions as interactive operation information to the cloud server 10. The cloud server 10 then maps the received interactive operation information into the default game mouse buttons in the cloud game program, and then sends it to the cloud server 10 through the keyboard and mouse driver to complete the entire game service experience.
目前,云游戏系统主要通过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层存在以下缺陷:Currently, cloud gaming systems primarily provide basic service capabilities for cloud gaming servers through the PaaS layer. Based on Figure 1, the basic architecture of the current cloud gaming PaaS layer can be shown in Figure 2. The PaaS layer on the edge computing node 10 of the cloud gaming system can include an audio/video acquisition and encoding module 15, a Real-time Communications (RTC) channel 12, and an event input service 13. The audio/video acquisition and encoding module 15 includes four sub-modules: audio acquisition, audio encoding, video acquisition, and video encoding. Correspondingly, the terminal is configured with an RTC channel 22, an audio/video decoding and rendering module 25, and an event input service 23 to interact with the edge computing node for cloud gaming. The audio and video acquisition and encoding module 15, RTC channel 12, and event input service 13 in the edge computing node 10 are all integrated in the same PaaS process service. The audio and video acquisition and encoding module 15 acquires and encodes the game rendering screen of the cloud gaming process 14 to obtain audio and video streams. The audio and video streams are transmitted to the terminal 20 through the RTC channel 12, and the event input service 13 receives terminal operation instructions, such as operation instructions issued by the terminal through the mouse, keyboard, touch, etc., as terminal uplink events. The received terminal uplink events are simulated as event drivers or event instructions of the host OS system currently running on the edge computing node 10 and sent to the cloud gaming process 14 in the host OS. Because the hardware configurations of computing nodes and the host software systems are typically different combinations of solutions—for example, for PC cloud gaming servers, the host is usually a Windows system, and the hardware configuration environment is mainly a CPU (INTEL/AMD x86) + GPU (NVIDA/AMD) solution; for mobile cloud gaming servers, the host is usually an Android virtual container, and the hardware configuration environment is mainly a CPU (INTEL/AMD x86 Houdini) or ARM + GPU (NVIDA/AMD/INTEL) + Docker virtual container solution—the current PaaS layer structure has modules such as audio and video acquisition and encoding module 15, RTC channel 12, and event input service 13, which are designed for different operating systems and hardware configurations. The coupling between these modules is very high. Furthermore, due to the different hardware or different host OS operating environments and driver-based acquisition, encoding, transmission, and event underlying APIs, the current cloud gaming PaaS layer has the following defects:
1、PaaS平台升级成本大:当服务器的硬件配置组合以及运行宿主机OS环境改变以后,以前的PaaS层代码基本不可以复用,大部分跟硬件和宿主机OS运行环境相关的代码要重写。1. PaaS platform upgrade costs are high: When the hardware configuration of the server and the host OS environment change, the previous PaaS layer code can hardly be reused, and most of the code related to the hardware and host OS environment needs to be rewritten.
2、PaaS平台稳定性差:整个平台架构代码跟硬件配置和运行宿主机OS强相关联,只要硬件配置和宿主机运行OS有改变,整个上下行端到端链路模块适配以及重写的代码要全部重新测试和适配。2. Poor stability of PaaS platform: The entire platform architecture code is strongly correlated with hardware configuration and host OS. As long as the hardware configuration and host OS change, the entire upstream and downstream end-to-end link module adaptation and rewritten code must be retested and adapted.
3、PaaS平台运维成本高:不同的硬件配置和运行宿主机OS环境代码不一样,导致不同的硬件和运行宿主机OS配置平台代码及架构都是独立一套部署,运维成本指数级增加。3. High PaaS platform operation and maintenance costs: Different hardware configurations and host OS environment code result in different deployments of platform code and architecture for different hardware and host OS configurations, leading to an exponential increase in operation and maintenance costs.
由此可见,云游戏中PAAS服务平台目前的实现方案,会导致不同的环境下PaaS服务的代码冗余、混乱等,如果硬件组合配置升级、调整以及宿主机OS运行改变,整个PaaS服务代码都要适配新的硬件驱动和宿主机OS相关的API接口,不便于PaaS层后面在新硬件和OS运行环境升级与迁移,进而导致整个云游戏后台服务升级成本大,运维以及平台稳定性都比较差。It is evident that the current implementation of the PaaS service platform in cloud gaming leads to code redundancy and chaos in PaaS services under different environments. If the hardware configuration is upgraded or adjusted, or the host OS changes, the entire PaaS service code must be adapted to the new hardware drivers and host OS-related API interfaces. This makes it difficult for the PaaS layer to be upgraded and migrated to new hardware and OS environments, resulting in high upgrade costs for the entire cloud gaming backend service and poor operation, maintenance, and platform stability.
本申请实施例提供一种云音视频处理方法、系统、电子设备及存储介质,能够提高云音视频交互系统的兼容性、稳定性和可维护性,下面说明本申请实施例提供的电子设备的示例性应用。This application provides a cloud audio and video processing method, system, electronic device, and storage medium, which can improve the compatibility, stability, and maintainability of the cloud audio and video interaction system. The exemplary application of the electronic device provided in this application is described below.
参见图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以及操作系统各自的配置信息对应实现的标准化接口。Referring to Figure 3, which is an optional architecture diagram of the cloud audio and video processing system 100 provided in an embodiment of this application, the cloud audio and video processing system 100 includes: a first cloud host 200, a second cloud host 500, and interactive devices 400 (interactive devices 400-1 and 400-2 are shown as examples). The interactive device 400 is connected to the second cloud host 500 via a network 300, which can be a wide area network (WAN), a local area network (LAN), or a combination of both. In some embodiments, the first cloud host 200 can run on an edge computing node of a cloud network. The first cloud host 200 and the second cloud host 500 are interconnected, and the interactive device 400 is connected to the first cloud host 200 through the second cloud host 500. The second cloud host 500 is equipped with a preset uplink standard interface 560 and a preset downlink standard interface 570; the interactive device 400 is equipped with a client standardization component 460 (client standardization component 460-1 and client standardization component 460-2 are shown as examples); the first cloud host 200 runs a cloud audio and video process 200-2; the cloud audio and video process 200-2 can be the main process of a cloud audio and video application, such as the main process of a cloud game. The first cloud host 200 is configured with a capture encoding event framework 200-1, which includes a capture module 260, an encoding module 270, and an event processing module 280, as well as an audio and video capture standard interface 261, an encoding transmission standard interface 271, and an event standard input interface 281. Among them, the audio and video acquisition standard interface 261, the encoding and transmission standard interface 271, and the event standard input interface 281 are standardized interfaces implemented in the cloud service standard subclasses derived from the preset cloud service standard base class, respectively based on the configuration information of the acquisition module 260, the encoding module 270, and the operating system.
如图3所示,客户端标准化组件460-1通过第二云主机500上的预设上行标准接口560与第一云主机200上的事件标准输入接口281连接,客户端标准化组件460-1通过第二云主机500上的预设下行标准接口570与第一云主机200上的编码传输标准接口271连接;其中,As shown in Figure 3, the client standardization component 460-1 is connected to the event standard input interface 281 on the first cloud host 200 through the preset uplink standard interface 560 on the second cloud host 500, and the client standardization component 460-1 is connected to the encoding transmission standard interface 271 on the first cloud host 200 through the preset downlink standard interface 570 on the second cloud host 500; wherein...
第一云主机200可以是云音视频交互系统100中的云服务平台宿主机,用于通过音视频采集标准接口261调用采集模块260,采集云音视频进程200-2生成的音视频数据;通过编码传输标准接口271调用编码模块270,对音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将编码音视频流传输至预设下行标准接口570;The first cloud host 200 can be the cloud service platform host in the cloud audio and video interaction system 100. It is used to call the acquisition module 260 through the audio and video acquisition standard interface 261 to acquire the audio and video data generated by the cloud audio and video process 200-2; and to call the encoding module 270 through the encoding transmission standard interface 271 to encode the audio and video data in a preset standard encoding format to obtain an encoded audio and video stream, and transmit the encoded audio and video stream to the preset downlink standard interface 570.
第二云主机500,用于通过预设下行标准接口570,使用预设标准传输格式,将编码音视频流传输至客户端标准化组件;The second cloud host 500 is used to transmit encoded audio and video streams to the client standardized components through the preset downlink standard interface 570 using the preset standard transmission format.
交互设备400,归属于云音视频处理系统100的终端用户,如云游戏的玩家,用于通过客户端标准化组件460对编码音视频流进行解码播放,得到解码视频画面与解码音频,在图形界面470(示例性示出了图形界面470-1和图形界面470-2)上显示;获取针对解码视频画面或解码音频发起的操作事件,将操作事件发送至预设上行标准接口560;Interactive device 400, belonging to the end user of cloud audio and video processing system 100, such as a cloud game player, is used to decode and play the encoded audio and video stream through client standardized component 460 to obtain decoded video and audio, which are displayed on graphical interface 470 (graphical interfaces 470-1 and 470-2 are shown for example); it obtains operation events initiated for the decoded video or decoded audio and sends the operation events to the preset uplink standard interface 560;
第二云主机500,还用于通过预设上行标准接口560,使用预设标准传输格式,将操作事件传输至事件标准输入接口;The second cloud host 500 is also used to transmit operation events to the event standard input interface through the preset uplink standard interface 560 using the preset standard transmission format.
第一云主机200,还用于通过事件标准输入接口281,将操作事件映射为当前操作系统对应的目标驱动事件;目标驱动事件用于驱动云音视频进程200-2对应更新音视频数据。The first cloud host 200 is also used to map operation events to target-driven events corresponding to the current operating system through the event standard input interface 281; the target-driven events are used to drive the cloud audio and video process 200-2 to update the corresponding audio and video data.
在一些实施例中,第一云主机200与第二云主机500可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。交互设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、机顶盒、移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,但并不局限于此。交互设备400以及第二云主机500、第一云主机200以及第二云主机500可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。In some embodiments, the first cloud host 200 and the second cloud host 500 can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The interactive device 400 can be various types of user terminals such as smartphones, tablets, laptops, desktop computers, set-top boxes, and mobile devices (e.g., mobile phones, portable music players, personal digital assistants, dedicated messaging devices, portable gaming devices), but is not limited to these. The interactive device 400 and the second cloud host 500, as well as the first cloud host 200 and the second cloud host 500, can be directly or indirectly connected via wired or wireless communication, which is not limited in this embodiment.
如本申请所公开的云音视频处理方法或装置,其中多个云主机或服务器可组成为一区块链,而服务器为区块链上的节点。In the cloud audio and video processing method or apparatus disclosed in this application, multiple cloud hosts or servers can be combined to form a blockchain, and the server is a node on the blockchain.
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。Blockchain is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and cryptographic algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and generate the next block. A blockchain can include an underlying platform, a platform product service layer, and an application service layer.
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。The underlying blockchain platform can include processing modules such as user management, basic services, smart contracts, and operational monitoring. The user management module is responsible for managing the identity information of all blockchain participants, including maintaining public and private key generation (account management), key management, and maintaining the correspondence between user real identities and blockchain addresses (access management). Furthermore, under authorization, it monitors and audits transactions of certain real identities and provides risk control rule configuration (risk control audit). The basic services module is deployed on all blockchain node devices to verify the validity of business requests. After consensus is reached on valid requests, they are recorded in storage. For a new business request, the basic services first perform interface adaptation parsing and authentication (interface adaptation), and then encrypt the business information through a consensus algorithm (consensus management). After encryption, the data is transmitted completely and consistently to the shared ledger (network communication) and recorded and stored. The smart contract module is responsible for contract registration, issuance, triggering, and execution. Developers can define contract logic using a programming language and publish it to the blockchain (contract registration). According to the contract terms, the key or other events are invoked to trigger execution and complete the contract logic. It also provides functions for contract upgrades and cancellations. The operation monitoring module is mainly responsible for deployment, configuration modification, contract settings, cloud adaptation, and real-time status visualization output during product release, such as alarms, monitoring network conditions, and monitoring the health status of node devices.
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。在一些实施例中,在以区块链的组网形式实现本申请所公开的云音视频处理系统时,可以基于第一云主机200与第二云主机500实现平台产品服务层的搭载与运行。The platform product service layer provides basic capabilities and implementation frameworks for typical applications. Developers can leverage these basic capabilities, add business characteristics, and complete the blockchain implementation of business logic. The application service layer provides application services based on blockchain solutions for use by business participants. In some embodiments, when implementing the cloud audio and video processing system disclosed in this application in the form of a blockchain network, the platform product service layer can be mounted and run based on the first cloud host 200 and the second cloud host 500.
参见图4,图4是本申请实施例提供的第一云主机200的结构示意图,图4所示的第一云主机200包括:至少一个第一处理器210、第一存储器250、至少一个第一网络接口220和第一用户接口230。第一云主机200中的各个组件通过第一总线系统240耦合在一起。可理解,第一总线系统240用于实现这些组件之间的连接通信。第一总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为第一总线系统240。Referring to Figure 4, which is a schematic diagram of the structure of a first cloud host 200 provided in an embodiment of this application, the first cloud host 200 shown in Figure 4 includes: at least one first processor 210, a first memory 250, at least one first network interface 220, and a first user interface 230. The various components in the first cloud host 200 are coupled together through a first bus system 240. It is understood that the first bus system 240 is used to realize the connection and communication between these components. In addition to a data bus, the first bus system 240 also includes a power bus, a control bus, and a status signal bus. However, for clarity, all buses are labeled as the first bus system 240 in Figure 4.
第一处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。The first processor 210 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., wherein the general-purpose processor can be a microprocessor or any conventional processor, etc.
第一用户接口230包括使得能够呈现媒体内容的一个或多个第一输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口230还包括一个或多个第一输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。The first user interface 230 includes one or more first output devices 231 that enable the presentation of media content, including one or more speakers and/or one or more visual displays. The first user interface 230 also includes one or more first input devices 232, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.
第一存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第一存储器250可选地包括在物理位置上远离第一处理器210的一个或多个存储设备。The first memory 250 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The first memory 250 may optionally include one or more storage devices physically located remote from the first processor 210.
第一存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的第一存储器250旨在包括任意适合类型的存储器。The first memory 250 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The first memory 250 described in this application embodiment is intended to include any suitable type of memory.
在一些实施例中,第一存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。In some embodiments, the first memory 250 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.
第一操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;The first operating system 251 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, and driver layer, for implementing various basic business functions and handling hardware-based tasks.
第一网络通信模块252,用于经由一个或多个(有线或无线)第一网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;The first network communication module 252 is used to reach other computing devices via one or more (wired or wireless) first network interfaces 220, exemplary network interfaces 220 including: Bluetooth, WiFi, and Universal Serial Bus (USB), etc.
第一呈现模块253,用于经由一个或多个与第一用户接口230相关联的第一输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);The first presentation module 253 is configured to enable the presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more first output devices 231 (e.g., a display screen, a speaker, etc.) associated with the first user interface 230.
第一输入处理模块254,用于对一个或多个来自一个或多个第一输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。The first input processing module 254 is configured to detect and translate one or more user inputs or interactions from one or more first input devices 232.
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图4示出了存储在第一存储器250中的第一云音视频处理装置255,其可以是程序和插件等形式的软件,包括以下软件模块:采集模块260、编码模块270、和事件处理模块280,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。In some embodiments, the apparatus provided in this application can be implemented in software. FIG4 shows a first cloud audio and video processing apparatus 255 stored in a first memory 250, which can be software in the form of programs and plug-ins, including the following software modules: acquisition module 260, encoding module 270, and event processing module 280. These modules are logical, so they can be arbitrarily combined or further split according to the functions implemented.
将在下文中说明各个模块的功能。The functions of each module will be explained below.
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的云音视频处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。In other embodiments, the apparatus provided in this application can be implemented in hardware. As an example, the apparatus provided in this application can be a processor in the form of a hardware decoding processor, which is programmed to execute the cloud audio and video processing method provided in this application. For example, the processor in the form of a hardware decoding processor can be one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.
参见图5,图5是本申请实施例提供的交互设备400的结构示意图,图5示出了存储在第二存储器450中的第二云音视频处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:客户端标准化组件460,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。图5中至少一个第二处理器410、第二存储器450、至少一个第二网络接口420和第二用户接口430等模块的功能与图4中相同模块的功能一致,此处不再赘述。Referring to Figure 5, which is a schematic diagram of the structure of the interactive device 400 provided in an embodiment of this application, Figure 5 shows a second cloud audio and video processing device 455 stored in a second memory 450. This device can be software in the form of programs and plugins, and includes the following software modules: a client standardization component 460. These modules are logically integrated and can therefore be arbitrarily combined or further split according to the functions they implement. The functions of each module will be described below. The functions of at least one second processor 410, the second memory 450, at least one second network interface 420, and the second user interface 430 in Figure 5 are consistent with the functions of the same modules in Figure 4, and will not be repeated here.
参见图6,图6是本申请实施例提供的第二云主机500的结构示意图,图6示出了存储在第三存储器550中的第三云音视频处理装置555,其可以是程序和插件等形式的软件,包括以下软件模块:预设下行标准接口570与预设上行标准接口560,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。图6中至少一个第三处理器510、第三存储器550、至少一个第三网络接口520和第三用户接口530等模块的功能与图4中相同模块的功能一致,此处不再赘述。Referring to Figure 6, which is a schematic diagram of the structure of the second cloud host 500 provided in an embodiment of this application, Figure 6 shows the third cloud audio and video processing device 555 stored in the third memory 550. This device can be software in the form of programs and plug-ins, including the following software modules: a preset downlink standard interface 570 and a preset uplink standard interface 560. These modules are logically related and can therefore be arbitrarily combined or further split according to the functions they implement. The functions of each module will be described below. The functions of at least one third processor 510, the third memory 550, at least one third network interface 520, and the third user interface 530 in Figure 6 are consistent with the functions of the same modules in Figure 4, and will not be repeated here.
将结合本申请实施例提供的第一云主机、交互设备与第二云主机的示例性应用和实施,说明本申请实施例提供的云音视频处理方法。The cloud audio and video processing method provided in this application will be described by referring to the exemplary applications and implementations of the first cloud host, interactive device and second cloud host provided in the embodiments of this application.
参见图7,图7是本申请实施例提供的云音视频处理方法应用于第一云主机与交互设备的一个可选的流程示意图,将结合图7示出的步骤进行说明。Referring to Figure 7, which is an optional flowchart of the cloud audio and video processing method provided in this application embodiment applied to a first cloud host and an interactive device, the steps shown in Figure 7 will be described in conjunction with the steps shown in Figure 7.
S101、第一云主机通过音视频采集标准接口,调用采集模块,采集云音视频进程生成的音视频数据。S101, the first cloud host calls the acquisition module through the audio and video acquisition standard interface to acquire audio and video data generated by the cloud audio and video process.
本申请实施例提供的云音视频处理方法主要应用于云音视频交互场景,如云游戏、云直播以及虚拟引擎应用场景。The cloud audio and video processing method provided in this application is mainly applied to cloud audio and video interaction scenarios, such as cloud gaming, cloud live streaming, and virtual engine application scenarios.
本申请实施例中,云音视频进程可以是云游戏,云直播等云音视频应用程序的主进程,云音视频应用程序预先安装并运行在云端的音视频应用云服务器上。在一些实施例中,音视频应用云服务器可以是游戏应用云服务器,游戏应用云服务器上可运行有一个或多个仿真器(Virtual Device),示例性地,仿真器具体可以为虚拟机,云音视频进程可运行在虚拟机中。虚拟机的内存中可包含游戏资源,如游戏的图像资源、字符资源、音频资源等等,云游戏进程可以在运行过程中,根据当前程序驱动逻辑,调用游戏资源对相关游戏数据进行渲染得到游戏画面,以及生成对应的游戏音频。第一云主机可以通过音视频采集标准接口,调用自身的采集模块,从云音视频进程中获取到游戏画面与游戏音频,作为音视频数据。In this embodiment, the cloud audio/video process can be the main process of cloud audio/video applications such as cloud gaming and cloud live streaming. These applications are pre-installed and run on a cloud server hosting the audio/video application. In some embodiments, the cloud server can be a game application cloud server, which may run one or more virtual devices. For example, the virtual device can be a virtual machine, and the cloud audio/video process can run within it. The virtual machine's memory may contain game resources, such as image resources, character resources, and audio resources. During operation, the cloud gaming process can call game resources to render relevant game data and generate corresponding game audio, based on the current program's driving logic. The first cloud host can use the standard audio/video capture interface to call its own capture module to obtain the game screen and game audio from the cloud audio/video process as audio/video data.
本申请实施例中,对于不同的云主机上的采集模块,硬件配置和操作系统所提供的驱动接口与软件开发工具包(Software Development Kit,SDK)接口不同。本申请实施例中的音视频采集标准接口可以通过在云服务标准化子类中,根据该第一云主机上所配置的采集模块的驱动接口与SDK接口,在标准音视频采集虚函数接口中具体实现对该采集模块的驱动接口与SDK接口的调用来实现。其中,云服务标准化子类继承于预设云服务标准化基类,预设云服务标准化基类中预先定义有标准音视频采集虚函数接口,第一云主机可以根据自身的硬件配置与操作系统配置,具体实现自身对应的云服务标准化子类以应用在不同的云主机上。这里,第一云主机根据自身的采集模块对应的驱动接口与SDK接口,对云服务标准化子类中的标准音视频采集虚函数接口进行具体实现,即可对外通过统一的标准音视频采集虚函数接口名称实现音视频数据的标准化采集,对内实现对不同软硬件配置的采集模块的兼容屏蔽。In this embodiment, the driver interfaces and software development kit (SDK) interfaces provided by the hardware configuration and operating system of the acquisition modules on different cloud hosts are different. The standard audio and video acquisition interface in this embodiment can be implemented by specifically calling the driver interface and SDK interface of the acquisition module configured on the first cloud host within the standard cloud service subclass, in the standard audio and video acquisition virtual function interface. The standard cloud service subclass inherits from a preset standard cloud service base class, which predefines the standard audio and video acquisition virtual function interface. The first cloud host can implement its own corresponding standard cloud service subclass according to its hardware and operating system configuration to be applied on different cloud hosts. Here, the first cloud host implements the standard audio and video acquisition virtual function interface in the standard cloud service subclass according to the driver interface and SDK interface corresponding to its own acquisition module. This allows for standardized acquisition of audio and video data externally through a unified standard audio and video acquisition virtual function interface name, while internally achieving compatibility shielding for acquisition modules with different hardware and software configurations.
本申请实施例中,第一云主机可以通过采集模块访问音视频应用云服务器上的GPU图形接口,从GPU图形接口处获取当前视频画面。第一云主机可以通过采集模块访问音视频应用云服务器上的音频接口,如声卡,从音频接口处获取当前音频。第一云主机将当前视频画面与当前音频作为音视频数据。在一些实施例中,GPU图形接口可以包括DirectX 9/10/11/12以及OpenGL接口,音频接口可以是Windows Audio Session API,具体的根据实际情况进行选择,本申请实施例不作限定。In this embodiment, the first cloud host can access the GPU graphics interface on the audio/video application cloud server through the acquisition module to obtain the current video frame from the GPU graphics interface. The first cloud host can also access the audio interface, such as a sound card, on the audio/video application cloud server through the acquisition module to obtain the current audio from the audio interface. The first cloud host uses the current video frame and the current audio as audio/video data. In some embodiments, the GPU graphics interface may include DirectX 9/10/11/12 and OpenGL interfaces, and the audio interface may be the Windows Audio Session API. The specific selection depends on the actual situation and is not limited in this embodiment.
在一些实施例中,预设云服务标准化基类可以预先定义有预设采样帧率。第一云主机可以根据预设采样帧率,定时通过音视频采集标准接口调用采集模块的本地采集驱动接口对云音视频进程生成的当前视频画面与当前音频进行采集,得到音视频数据;预设采样帧率为预设云服务标准化基类中统一设置的标准化采样帧率。In some embodiments, the preset cloud service standardization base class can predefine a preset sampling frame rate. The first cloud host can periodically call the local acquisition driver interface of the acquisition module through the audio and video acquisition standard interface to acquire the current video frame and current audio generated by the cloud audio and video process, and obtain audio and video data according to the preset sampling frame rate; the preset sampling frame rate is the standardized sampling frame rate uniformly set in the preset cloud service standardization base class.
在一些实施例中,云音视频进程可以部署在同一宿主机上运行,可以上部署在其他云主机上,具体的根据实际情况进行选择,本申请实施例不作限定。In some embodiments, the cloud audio and video process can be deployed to run on the same host machine or on other cloud hosts. The specific choice depends on the actual situation, and this application embodiment does not limit it.
S102、第一云主机通过编码传输标准接口调用编码模块,对音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将编码音视频流传输至交互设备。S102. The first cloud host calls the encoding module through the encoding transmission standard interface to encode the audio and video data in a preset standard encoding format, obtain the encoded audio and video stream, and transmit the encoded audio and video stream to the interactive device.
本申请实施例中,第一云主机采集到音视频数据时,可以通过编码输出标准接口,调起自身配置的编码模块。在一些实施例中,编码模块可以包括视频编码器与音频编码器。第一云主机可以将音视频数据中的当前视频画面重定向到视频编码器,通过视频编码器对当前视频画面进行预设标准视频格式的编码;并通过音频编码器接管音视频数据中的当前音频,通过音频编码器对当前音频进行预设标准音频格式的编码;其中,预设标准编码格式包括预设视频标准格式与预设标准音频格式中的至少一种。In this embodiment, when the first cloud host collects audio and video data, it can invoke its configured encoding module through an encoding output standard interface. In some embodiments, the encoding module may include a video encoder and an audio encoder. The first cloud host can redirect the current video frame in the audio and video data to the video encoder, which encodes the current video frame in a preset standard video format; and it can take over the current audio in the audio and video data through the audio encoder, which encodes the current audio in a preset standard audio format; wherein, the preset standard encoding format includes at least one of a preset video standard format and a preset standard audio format.
在一些实施例中,预设标准编码格式中的预设视频标准格式可以包括H.264与H.265格式,预设标准编码格式中的预设标准音频格式可以包括AAC与Opus,具体的根据实际情况进行选择,本申请实施例对预设标准编码格式的具体编码格式类型与数量等不做限定。In some embodiments, the preset video standard format in the preset standard encoding format may include H.264 and H.265 formats, and the preset standard audio format in the preset standard encoding format may include AAC and Opus. The specific selection is made according to the actual situation. This application embodiment does not limit the specific encoding format type and number of preset standard encoding formats.
本申请实施例中,不同软硬件配置的第一云主机对音视频数据进行预设标准编码格式的音视频编码后,可以得到统一的预设标准编码格式的编码音视频流。第一云主机将编码音视频流传输至交互设备。In this embodiment, first cloud hosts with different hardware and software configurations encode audio and video data using a preset standard encoding format to obtain a unified encoded audio and video stream in the preset standard encoding format. The first cloud host then transmits the encoded audio and video stream to the interactive device.
在一些实施例中,采集模块可以是第一云主机上的显卡,交互设备可以是云游戏终端设备,如电脑、手机、游戏机、平板电脑等等。In some embodiments, the acquisition module may be the graphics card on the first cloud host, and the interaction device may be a cloud gaming terminal device, such as a computer, mobile phone, game console, tablet computer, etc.
本申请实施例中,对于不同的云主机上的编码模块,硬件配置和操作系统所提供的驱动接口与SDK接口不同。本申请实施例中的编码传输标准接口可以通过在第一云主机上对应的云服务标准化子类中,根据该第一云主机上所配置的编码模块的驱动接口与SDK接口,在标准编码输出虚函数接口的内部实现中对该编码模块的驱动接口与SDK接口的调用来实现。这里,第一云主机根据自身的编码模块对应的驱动接口与SDK接口,对自身对应的云服务标准化子类中的标准编码输出虚函数接口进行具体实现,即可对内实现对不同软硬件配置的编码模块的兼容屏蔽,对外通过标准编码输出虚函数接口的统一名称实现音视频数据的标准化编码输出,。In this embodiment, the driver interfaces and SDK interfaces provided by the hardware configuration and operating system differ for the encoding modules on different cloud hosts. The standard encoding transmission interface in this embodiment can be implemented by calling the driver interface and SDK interface of the encoding module configured on the first cloud host within the internal implementation of the standard encoding output virtual function interface, based on the corresponding cloud service standardization subclass on the first cloud host. Here, the first cloud host implements the standard encoding output virtual function interface in its corresponding cloud service standardization subclass according to the driver interface and SDK interface of its own encoding module. This internally achieves compatibility shielding for encoding modules with different hardware and software configurations, and externally achieves standardized encoding output of audio and video data through the unified name of the standard encoding output virtual function interface.
在一些实施例中,预设云服务标准化基类可以预先定义有预设编码帧率。第一云主机可以通过编码传输标准接口调用编码模块的本地编码驱动接口,根据预设编码帧率以及预设标准编码格式对音视频数据进行编码,得到编码音视频流;预设编码帧率为预设云服务标准化基类中统一设置的标准化编码帧率。In some embodiments, the preset cloud service standardization base class may predefine a preset encoding frame rate. The first cloud host can call the local encoding driver interface of the encoding module through the encoding transmission standard interface to encode the audio and video data according to the preset encoding frame rate and the preset standard encoding format to obtain the encoded audio and video stream; the preset encoding frame rate is the standardized encoding frame rate uniformly set in the preset cloud service standardization base class.
S201、交互设备接收编码音视频流,并对编码音视频流进行解码播放,得到解码视频画面与解码音频。S201. The interactive device receives the encoded audio and video streams, decodes and plays the encoded audio and video streams to obtain the decoded video images and decoded audio.
本申请实施例中,交互设备在接收到第一云主机传输的编码音视频流时,可以对编码音视频流进行解码与渲染,得到云音视频的解码视频画面与解码音频,在交互设备上呈现给交互设备的操作者,如云游戏用户。In this embodiment of the application, when the interactive device receives the encoded audio and video stream transmitted by the first cloud host, it can decode and render the encoded audio and video stream to obtain the decoded video image and decoded audio of the cloud audio and video, and present them to the operator of the interactive device, such as a cloud gaming user.
S202、交互设备获取针对解码视频画面或解码音频发起的操作事件,将操作事件发送至第一云主机的事件标准输入接口。S202. The interactive device acquires operation events initiated for the decoded video or decoded audio and sends the operation events to the event standard input interface of the first cloud host.
本申请实施例中,交互设备获取操作者在解码视频画面或解码音频上发起的操作事件,如对虚拟角色、游戏场景、游戏选项进行点击、按压或滑动等操作所生成的事件。交互设备将操作事件发送给第一云主机的事件标准输入接口。In this embodiment, the interactive device acquires operation events initiated by the operator on the decoded video or decoded audio, such as events generated by clicking, pressing, or swiping virtual characters, game scenes, or game options. The interactive device then sends these operation events to the standard event input interface of the first cloud host.
S103、第一云主机通过事件标准输入接口,接收交互设备基于编码音视频流发起的操作事件,并将操作事件映射为当前操作系统对应的目标驱动事件;目标驱动事件用于驱动云音视频进程对应更新音视频数据;其中,S103, the first cloud host receives operation events initiated by the interactive device based on the encoded audio and video stream through the event standard input interface, and maps the operation events to the target driver events corresponding to the current operating system; the target driver events are used to drive the cloud audio and video process to update the corresponding audio and video data; among which...
音视频采集标准接口、编码传输标准接口、与事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于采集模块、编码模块以及操作系统各自的配置信息实现的标准化接口。The audio and video acquisition standard interface, encoding and transmission standard interface, and event standard input interface are standardized interfaces implemented in the cloud service standard subclasses derived from the preset cloud service standard base class, based on the configuration information of the acquisition module, encoding module, and operating system, respectively.
本申请实施例中,第一云主机可以接收到交互设备基于编码音视频流发起的操作事件,并通过事件标准输入接口,将操作事件映射为自身操作系统对应的目标驱动事件。In this embodiment of the application, the first cloud host can receive operation events initiated by the interactive device based on the encoded audio and video stream, and map the operation events to target-driven events corresponding to its own operating system through the event standard input interface.
本申请实施例中,云音视频进程中的程序驱动逻辑通常是基于一种预设的默认设备类型对应的操作方式来实现的,如云游戏的开发者以手机为默认设备类型所制作的云游戏,通常是以屏幕点击或屏幕滑动等手机类型的操作方式实现驱动事件对应的程序执行逻辑,来控制云游戏进程的运行的。由于云游戏等云音视频应用面向多种不同类型的交互设备,因此需要通过将不同设备类型的交互设备所发起的操作事件,转换为云音视频进程的默认设备类型对应标准驱动事件,以在不同的交互设备上实现对云音视频进行的驱动控制。In this embodiment, the program-driven logic in the cloud audio and video process is typically implemented based on a preset default device type's corresponding operation method. For example, cloud game developers who create cloud games using mobile phones as the default device type usually use mobile phone-type operation methods such as screen clicks or swipes to implement the program execution logic corresponding to the driving events, thereby controlling the operation of the cloud game process. Since cloud gaming and other cloud audio and video applications target various types of interactive devices, it is necessary to convert the operation events initiated by interactive devices of different device types into standard driving events corresponding to the default device type of the cloud audio and video process, so as to achieve driving control of cloud audio and video on different interactive devices.
在一些实施例中,第一云主机可以通过事件标准输入接口调用预设指令转换服务,从至少一种预设操作事件与至少一种标准驱动事件的预设对应关系中,确定操作事件对应的目标驱动事件;进而将操作事件转换为目标驱动事件。其中,至少一种标准驱动事件为当前操作系统中的标准驱动事件。第一云主机可以继续通过目标驱动事件驱动云音视频进程,以使云音视频进程根据目标驱动事件的指示对当前视频画面与当前音频进行更新。第一云主机可以持续对更新的音视频数据进行持续采集与编码,得到更新的编码音视频流,进而将更新的编码音视频流传输至交互设备,实现与云音视频进程的持续交互。In some embodiments, the first cloud host can invoke a preset instruction conversion service through the event standard input interface to determine the target driving event corresponding to the operation event from a preset correspondence between at least one preset operation event and at least one standard driving event; and then convert the operation event into the target driving event. The at least one standard driving event is a standard driving event in the current operating system. The first cloud host can continue to drive the cloud audio/video process through the target driving event, so that the cloud audio/video process updates the current video frame and current audio according to the instructions of the target driving event. The first cloud host can continuously collect and encode the updated audio and video data to obtain an updated encoded audio/video stream, and then transmit the updated encoded audio/video stream to the interactive device to achieve continuous interaction with the cloud audio/video process.
本申请实施例中,事件标准输入接口是根据不同云服务宿主机上的不同硬件以及操作系统对外提供的驱动和SDK接口,对云服务标准化子类中的标准事件输入虚函数接口进行具体实现得到的。事件标准输入接口内部实现了对当前云服务宿主机上的硬件驱动与操作系统的接口调用,实现了对不同软硬件配置的操作系统事件驱动的兼容屏蔽;对外提供统一的标准事件输入虚函数接口名称,实现了操作系统驱动事件的标准化输出。In this embodiment, the standard event input interface is obtained by specifically implementing the standard event input virtual function interface in the standardized subclass of cloud services, based on the different hardware on different cloud service host machines and the driver and SDK interfaces provided by the operating system. Internally, the standard event input interface implements interface calls to the hardware drivers and operating system on the current cloud service host machine, achieving compatibility shielding for operating system event drivers with different hardware and software configurations; externally, it provides a unified standard event input virtual function interface name, achieving standardized output of operating system driver events.
在一些实施例中,第一云主机确定出目标驱动事件时,可以将目标驱动事件输入运行中的云音视频进程,以通过目标驱动事件触发云音视频进程中对应的目标程序驱动逻辑,并通过执行目标程序驱动逻辑输出对应的更新视频画面与更新音频,作为更新音视频数据,实现对操作事件的响应。In some embodiments, when the first cloud host determines the target driving event, it can input the target driving event into the running cloud audio and video process, so as to trigger the corresponding target program driving logic in the cloud audio and video process through the target driving event, and output the corresponding updated video screen and updated audio as updated audio and video data by executing the target program driving logic, thereby realizing the response to the operation event.
在一些实施例中,预设云服务标准化基类、云服务标准化子类与预设云服务标准化基类中包含的标准虚函数接口的关系可以如图8所示。其中,预设云服务标准化基类中可以包含标准音视频采集虚函数接口、标准编码输出虚函数接口、标准事件处理虚函数接口以及其他自定义的标准虚函数接口等等,在不同软硬件配置的第一云主机上,可以通过继承预设云服务标准化基类,得到统一的标准音视频采集虚函数接口、标准编码输出虚函数接口、标准事件处理虚函数接口以及其他自定义的标准虚函数接口;并根据不同第一云主机不同的软硬件配置信息,在不同第一云主机上实现不同的云服务标准化子类。如图8所示,不同云服务标准化子类中,相同的虚函数接口名称可以有不同的实现方法,以在不同的第一云主机上,通过统一的虚函数接口实现对不同软硬件配置的采集模块、编码模块、操作系统等模块的调用。In some embodiments, the relationship between the preset cloud service standardization base class, the cloud service standardization subclasses, and the standard virtual function interfaces contained in the preset cloud service standardization base class can be as shown in Figure 8. The preset cloud service standardization base class may contain standard audio/video acquisition virtual function interfaces, standard encoding output virtual function interfaces, standard event handling virtual function interfaces, and other custom standard virtual function interfaces. On first cloud hosts with different hardware and software configurations, unified standard audio/video acquisition virtual function interfaces, standard encoding output virtual function interfaces, standard event handling virtual function interfaces, and other custom standard virtual function interfaces can be obtained by inheriting from the preset cloud service standardization base class. Furthermore, different cloud service standardization subclasses can be implemented on different first cloud hosts based on their different hardware and software configurations. As shown in Figure 8, the same virtual function interface name can have different implementation methods in different cloud service standardization subclasses, allowing for the invocation of acquisition modules, encoding modules, operating systems, and other modules with different hardware and software configurations on different first cloud hosts through a unified virtual function interface.
可以理解的是,本申请实施例中,通过在预设云服务标准化基类派生的云服务标准化子类中,分别基于第一云主机上的采集模块、编码模块以及操作系统各自的配置信息实现标准化接口,进而能够通过音视频采集标准接口调用第一云主机上配置的采集模块进行音视频数据的采集;通过编码传输标准接口调用第一云主机上配置的编码模块进行音视频标准化编码与输出,以及将通过事件标准输入接口将操作事件映射为第一云主机的操作系统对应的目标驱动事件,从而实现了对不同模块驱动配置、以及不同云主机的操作系统的封装隔离,在不同配置的云主机上可以通过统一的云服务标准化子类对外提供标准化的采集编码、传输、事件等服务,降低了模块耦合度与代码冗余,提高了云音视频交互系统的兼容性和稳定性,并且,在对采集编码、传输、事件等服务进行升级或迁移到新硬件或宿主机OS运行环境时,只需要实现云服务标准化子类的功能接口即可完成,从而提高了云音视频交互系统的可维护性。It is understood that in this embodiment, by implementing standardized interfaces based on the configuration information of the acquisition module, encoding module, and operating system on the first cloud host in the cloud service standardized subclass derived from the preset cloud service standardized base class, it is possible to call the acquisition module configured on the first cloud host to acquire audio and video data through the audio and video acquisition standard interface; call the encoding module configured on the first cloud host to perform standardized audio and video encoding and output through the encoding and transmission standard interface; and map operation events to the target driver events corresponding to the operating system of the first cloud host through the event standard input interface. This achieves encapsulation and isolation of different module driver configurations and different cloud host operating systems. Standardized acquisition, encoding, transmission, and event services can be provided externally through a unified cloud service standardized subclass on cloud hosts with different configurations. This reduces module coupling and code redundancy, improves the compatibility and stability of the cloud audio and video interaction system, and when upgrading or migrating the acquisition, encoding, transmission, and event services to new hardware or host OS environments, only the functional interfaces of the cloud service standardized subclass need to be implemented, thereby improving the maintainability of the cloud audio and video interaction system.
在一些实施例中,参见图9,图9是本申请实施例提供的云音视频处理方法的一种可选的流程示意图。第一云主机还包括初始化标准接口,S101之前,还可以执行S001,将结合各步骤进行说明。In some embodiments, referring to FIG9, FIG9 is an optional flowchart of the cloud audio and video processing method provided in the embodiments of this application. The first cloud host also includes initializing a standard interface. Before S101, S001 can also be executed, which will be described in conjunction with each step.
S001、第一云主机通过初始化标准接口调用采集模块、编码模块与操作系统各自对应的本地初始化接口,对采集模块、编码模块与操作系统进行初始化,其中,初始化标准接口为在云服务标准化子类中实现的标准化接口。S001. The first cloud host initializes the acquisition module, encoding module and operating system by calling the corresponding local initialization interfaces of the acquisition module, encoding module and operating system through the initialization standard interface. The initialization standard interface is a standardized interface implemented in the cloud service standardized subclass.
本申请实施例中,预设云服务标准化基类中还可以包括初始化标准接口,对于不同第一云主机对应的云服务标准化子类中,可以基于采集模块与编码模块对应的驱动配置信息,如不同硬件/宿主机OS对外提供的采集和编码驱动以及SDK初始化接口,对继承的初始化标准接口进行具体实现,以通过初始化标准接口实现对采集模块与编码模块的初始化。In this embodiment of the application, the preset cloud service standard base class may also include an initialization standard interface. For cloud service standard subclasses corresponding to different first cloud hosts, the inherited initialization standard interface can be specifically implemented based on the driver configuration information corresponding to the acquisition module and the encoding module, such as the acquisition and encoding drivers and SDK initialization interfaces provided by different hardware/host OS, so as to realize the initialization of the acquisition module and the encoding module through the initialization standard interface.
在一些实施例中,交互设备上部署有客户端标准化组件,客户端标准化组件可以与第一云主机上的编码传输标准接口连接,客户端标准化组件可以与第一云主机上的事件标准输入接口连接,参见图10,图10是本申请实施例提供的云音视频处理方法的一个可选的流程示意图,S201可以通过执行S2011-S2012的过程来实现,S202可以通过执行S2021-S2022的过程来实现,将结合图10示出的步骤进行说明。In some embodiments, a client standardization component is deployed on the interactive device. The client standardization component can be connected to the encoding transmission standard interface on the first cloud host, and the client standardization component can be connected to the event standard input interface on the first cloud host. Referring to Figure 10, Figure 10 is an optional flowchart of the cloud audio and video processing method provided in the embodiments of this application. S201 can be implemented by executing the process of S2011-S2012, and S202 can be implemented by executing the process of S2021-S2022. The steps shown in Figure 10 will be described in conjunction with the steps shown in Figure 10.
S2011、交互设备通过客户端标准化组件,接收第一云主机通过编码传输标准接口输出的编码音视频流。S2011. The interactive device receives the encoded audio and video streams output by the first cloud host through the encoded transmission standard interface via the client-side standardized components.
本申请实施例中,客户端标准组件为本申请实施例中的云音视频处理系统对不同类型的交互设备如电视、手机、电脑所提供的、包含统一的标准化客户端服务的功能组件。交互设备可以通过客户端标准化组件,接收第一云主机通过编码传输标准接口输出的预设标准编码格式的编码音视频流。In this embodiment, the client standard component is a functional component provided by the cloud audio and video processing system of this embodiment to different types of interactive devices such as televisions, mobile phones, and computers, containing a unified standardized client service. The interactive device can receive encoded audio and video streams in a preset standard encoding format output by the first cloud host through the encoding transmission standard interface via the client standard component.
在一些实施例中,客户端标准组件可以是SDK的形式。在一些实施例中,客户端标准化组件也可以集成在第一云主机上,或者云音视频交互系统中的其他网络节点,具体的根据实际情况进行选择,本申请实施例不作限定。In some embodiments, the client standard component may be in the form of an SDK. In some embodiments, the client standard component may also be integrated on the first cloud host or other network nodes in the cloud audio and video interaction system, depending on the actual situation, and this application embodiment does not limit the choice.
S2012、交互设备通过客户端标准化组件,对编码音视频流进行预设解码格式的解码与播放,得到解码视频画面与解码音频。S2012. The interactive device uses standardized client components to decode and play the encoded audio and video streams in a preset decoding format to obtain decoded video images and decoded audio.
本申请实施例中,客户端标准化组件中可以包括音视频处理标准服务。其中,音视频处理标准服务用于使用预设解码格式对编码音视频流进行解码与播放。交互设备可以通过客户端标准化组件中的音视频处理标准服务使用预设解码格式对编码音视频流进行解码与播放,得到解码视频画面与解码音频。In this embodiment, the client-side standardization component may include an audio/video processing standard service. This service is used to decode and play encoded audio/video streams using a preset decoding format. The interactive device can use the audio/video processing standard service in the client-side standardization component to decode and play the encoded audio/video streams using the preset decoding format, obtaining decoded video footage and decoded audio.
S2021、交互设备通过客户端标准化组件,获取针对解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对至少一种格式类型的原始操作指令进行格式转化,得到操作事件。S2021. The interactive device obtains at least one type of original operation command for decoding video or audio through the client-side standardized component, and performs format conversion on the original operation command for at least one type of original operation command according to the preset standard event format to obtain the operation event.
本申请实施例中,客户端标准化组件中可以包括上行事件处理标准服务。其中,上行事件处理标准服务用于获取交互设备上的至少一种格式类型的原始操作指令,并根据预设标准事件格式对至少一种格式类型的原始操作指令进行格式转化,得到操作事件。In this embodiment, the client-side standardization component may include an uplink event processing standard service. This uplink event processing standard service is used to acquire at least one type of raw operation command from the interactive device, and to convert the raw operation command of at least one type of raw operation command according to a preset standard event format to obtain an operation event.
本申请实施例中,不同交互设备上的用户接口部件的硬件配置与软件驱动等配置信息不同,如不同型号和品牌的游戏手柄,在进行同样的手柄按键操作如按下上键时所发出的原始操作指令的格式类型也不同。示例性地,游戏手柄支持的API接口可以包括DirectInput、XInput、RawInput等等,不同类型的API接口输出的原始操作指令的格式类型也不相同。上行事件处理标准服务可以根据预设标准事件格式,将至少一种格式类型的原始操作指令转化为统一的标准格式的操作事件,实现对相同类型不同软硬件配置的交互设备发出的原始操作指令进行统一,并将操作事件发送至第一云主机。In this embodiment, the hardware configuration and software driver configuration information of the user interface components on different interactive devices are different. For example, different models and brands of game controllers will issue different formats of raw operation commands when performing the same button operation, such as pressing the up button. For instance, the API interfaces supported by the game controller may include DirectInput, XInput, RawInput, etc., and the format of raw operation commands output by different types of API interfaces is also different. The uplink event processing standard service can convert raw operation commands of at least one format type into a unified standard format operation event according to a preset standard event format, thereby unifying the raw operation commands issued by interactive devices of the same type but different hardware and software configurations, and sending the operation events to the first cloud host.
这里,用户接口部件可以是交互设备内部集成配置软硬件部件,如手机的触控屏,也可以是交互设备上通过软硬件扩展接口连接的扩展设备,如PC终端上连接鼠标、键盘,或游戏手柄等,还可以是麦克风、摄像头等可以通过声音或姿势发出原始操作指令的部件,具体的根据实际情况进行选择,本申请实施例不作限定。Here, the user interface component can be an integrated hardware or software component within the interactive device, such as a mobile phone touchscreen, or an extended device connected to the interactive device via a hardware or software extension interface, such as a mouse, keyboard, or game controller connected to a PC terminal, or a microphone, camera, or other component that can issue raw operation commands through sound or gestures. The specific selection depends on the actual situation, and this application embodiment does not limit it.
在一些实施例中,如图11所示,不同用户接口部件如鼠标1、鼠标2、鼠标3以及触屏1、触屏2、触屏3在执行点击操作时,分别发出不同格式类型的原始操作指令,如鼠标1点击指令、鼠标2点击指令等等,交互设备可以通过客户端标准化组件将不同格式类型的鼠标点击指令转换为鼠标标准点击事件,作为操作事件;以及将不同格式类型的触屏点击指令转换为触屏标准点击事件,作为操作事件。In some embodiments, as shown in Figure 11, different user interface components such as mouse 1, mouse 2, mouse 3 and touch screen 1, touch screen 2, and touch screen 3 issue different types of raw operation commands when performing click operations, such as mouse 1 click command, mouse 2 click command, etc. The interactive device can convert the different types of mouse click commands into standard mouse click events as operation events through the client standardization component; and convert the different types of touch screen click commands into standard touch screen click events as operation events.
S2022、交互设备将操作事件发送至第一云主机的事件标准输入接口。S2022, The event standard input interface through which the interactive device sends operation events to the first cloud host.
本申请实施例中,客户端标准化组件将转换得到的预设标准事件格式的操作事件传输至事件标准输入接口,以通过事件标准输入接口将操作事件映射为目标驱动事件以及继续进行后续的云音视频方法处理。In this embodiment, the client-side standardization component transmits the converted operation events in a preset standard event format to the event standard input interface, so as to map the operation events into target-driven events and continue subsequent cloud audio and video processing through the event standard input interface.
可以理解的是,本申请实施例中,可以通过客户端标准化组件兼容屏蔽不同软硬件配置的交互设备发起的操作指令,将至少一种格式类型的原始操作指令转化为预设标准事件格式的操作事件传输至第一云主机进行处理,并且,客户端标准化组件能够屏蔽不同交互设备上软硬件媒体播放设备的差异,提供统一的音视频解码播放服务,有利于云音视频交互系统的故障排除、升级维护与迁移,降低了代码冗余导致的不稳定性的风险,进一步提高了云音视频交互系统的兼容性、稳定性和可维护性。It is understood that, in this embodiment of the application, the client-side standardized component can be used to compatiblely shield operation commands initiated by interactive devices with different hardware and software configurations, and convert at least one type of original operation command into an operation event of a preset standard event format and transmit it to the first cloud host for processing. Furthermore, the client-side standardized component can shield the differences in hardware and software media playback devices on different interactive devices, providing a unified audio and video decoding and playback service. This is beneficial for troubleshooting, upgrading, maintenance, and migration of the cloud audio and video interactive system, reduces the risk of instability caused by code redundancy, and further improves the compatibility, stability, and maintainability of the cloud audio and video interactive system.
参见图12,图12是本申请实施例提供的云音视频处理方法应用于第二云主机的一个可选的流程示意图,将结合图12示出的步骤进行说明。Referring to Figure 12, which is an optional flowchart of the cloud audio and video processing method provided in this application embodiment applied to a second cloud host, the steps shown in Figure 12 will be described in conjunction with the steps shown in Figure 12.
S301、第二云主机通过预设下行标准接口,获取编码音视频流;编码音视频流为第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块,对音视频数据进行预设标准编码格式的音视频编码所得到的;预设下行标准接口分别与第一云主机上的编码传输标准接口以及交互设备连接。S301, the second cloud host obtains the encoded audio and video stream through the preset downlink standard interface; the encoded audio and video stream is obtained by the first cloud host calling the acquisition module through the audio and video acquisition standard interface to acquire cloud audio and video data generated by the cloud audio and video process; and by calling the encoding module through the encoding transmission standard interface to encode the audio and video data in the preset standard encoding format; the preset downlink standard interface is connected to the encoding transmission standard interface on the first cloud host and the interactive device respectively.
本申请实施例中,预设上行标准接口与预设下行标准接口之间可以预先集成实现有标准数据传输服务,标准数据传输服务用于使用预设标准传输格式,对传入预设上行标准接口与预设下行标准接口之间的数据进行封装与传输。在一些实施例中,预设上行标准接口与预设下行标准接口可以在部署在第二云主机上,也可以部署在第一云主机或其他云主机上,具体的根据实际情况进行选择,本申请实施例不做限定。In this embodiment, a standard data transmission service can be pre-integrated between the preset uplink standard interface and the preset downlink standard interface. This standard data transmission service uses a preset standard transmission format to encapsulate and transmit data transmitted between the preset uplink standard interface and the preset downlink standard interface. In some embodiments, the preset uplink standard interface and the preset downlink standard interface can be deployed on a second cloud host, or on a first cloud host or other cloud hosts, depending on the actual situation. This embodiment does not impose any limitations on this.
本申请实施例中,预设下行标准接口分别与第一云主机上的编码传输标准接口以及交互设备连接,用于传输从第一云主机发往交互设备的数据流。第二云主机可以通过预设下行标准接口,从第一云主机的编码传输标准接口获取到编码音视频流。其中,编码音视频流为第一云主机通过音视频采集标准接口调用采集模块,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块,对音视频数据进行预设标准编码格式的音视频编码所得到的。In this embodiment, a preset downlink standard interface is connected to both the encoding transmission standard interface on the first cloud host and the interactive device, for transmitting data streams from the first cloud host to the interactive device. The second cloud host can obtain encoded audio and video streams from the encoding transmission standard interface of the first cloud host through the preset downlink standard interface. The encoded audio and video streams are obtained by the first cloud host calling the acquisition module through the audio and video acquisition standard interface to acquire cloud audio and video data generated by the cloud audio and video process; and then calling the encoding module through the encoding transmission standard interface to encode the audio and video data using a preset standard encoding format.
S302、第二云主机使用预设标准传输格式,将编码音视频流传输至交互设备。S302, the second cloud host uses a preset standard transmission format to transmit the encoded audio and video streams to the interactive device.
本申请实施例中,第二云主机可以利用标准数据传输服务,使用预设标准传输格式,对编码音视频流进行相应传输格式的封装与通道传输,进而将编码音视频流传输至交互设备。In this embodiment of the application, the second cloud host can utilize standard data transmission services and use a preset standard transmission format to encapsulate and transmit the encoded audio and video streams in the corresponding transmission format, thereby transmitting the encoded audio and video streams to the interactive device.
在一些实施例中,预设标准传输格式包括以下至少一种:预设应用层标准协议格式、预设传输层标准协议格式与预设网络层标准协议格式;其中,预设应用层标准协议格式包括:WebRTC或RTSP中的任意一种;预设传输层标准协议格式包括:RTP或RTCP中的任意一种;预设网络层标准协议格式包括:UDP或SCTP中的任意一种。In some embodiments, the preset standard transmission format includes at least one of the following: a preset application layer standard protocol format, a preset transport layer standard protocol format, and a preset network layer standard protocol format; wherein, the preset application layer standard protocol format includes any one of WebRTC or RTSP; the preset transport layer standard protocol format includes any one of RTP or RTCP; and the preset network layer standard protocol format includes any one of UDP or SCTP.
S303、第二云主机通过预设上行标准接口,接收交互设备基于编码音视频流发起的操作事件;预设上行标准接口分别与第一云主机上的事件标准输入接口以及交互设备连接;S303, the second cloud host receives operation events initiated by the interactive device based on encoded audio and video streams through a preset uplink standard interface; the preset uplink standard interface is connected to the event standard input interface on the first cloud host and the interactive device respectively;
本申请实施例中,预设上行标准接口分别与第一云主机上的事件标准输入标准接口以及交互设备连接,用于传输从交互设备发往第一云主机的数据流。第二云主机可以通过预设下行标准接口,接收交互设备基于编码音视频流发起的操作事件。In this embodiment, a preset uplink standard interface is connected to both the event standard input interface on the first cloud host and the interactive device, for transmitting data streams from the interactive device to the first cloud host. The second cloud host can receive operation events initiated by the interactive device based on encoded audio and video streams through the preset downlink standard interface.
S304、第二云主机使用预设标准传输格式,将操作事件传输至事件标准输入接口。S304. The second cloud host uses a preset standard transmission format to transmit operation events to the event standard input interface.
本申请实施例中,第二云主机可以通过标准数据传输服务,根据预设标准传输格式,对操作事件的内容数据进行相应传输格式的封装与通道传输,进而通过预设上行标准接口将操作事件输出至第一云主机的事件标准输入接口。In this embodiment, the second cloud host can encapsulate and transmit the content data of the operation event in a corresponding transmission format according to a preset standard transmission format through a standard data transmission service, and then output the operation event to the event standard input interface of the first cloud host through a preset uplink standard interface.
可以理解的是,本申请实施例中,通过对云音视频交互系统中传输的操作事件与编码音视频流进行标准化传输,实现了对云音视频交互系统架构的进一步解耦,从而进一步提高了云音视频交互系统的兼容性、稳定性与可维护性。It is understood that, in the embodiments of this application, by standardizing the transmission of operation events and encoded audio and video streams transmitted in the cloud audio and video interaction system, the architecture of the cloud audio and video interaction system is further decoupled, thereby further improving the compatibility, stability and maintainability of the cloud audio and video interaction system.
在一些实施例中,交互设备包括:客户端标准化组件,客户端标准化组件分别与预设下行标准接口以及预设上行标准接口连接,参见图13,图13是本申请实施例提供的一个云音视频处理方法的可选的流程示意图,基于图12,S302可以通过执行S3021的过程来实现,S303可以通过执行S3031的过程来实现,将结合各步骤进行说明。In some embodiments, the interactive device includes: a client standardization component, which is connected to a preset downlink standard interface and a preset uplink standard interface respectively. Referring to Figure 13, Figure 13 is an optional flowchart of a cloud audio and video processing method provided in an embodiment of this application. Based on Figure 12, S302 can be implemented by executing the process of S3021, and S303 can be implemented by executing the process of S3031. The steps will be described in conjunction with each step.
S3021、第二云主机通过预设下行标准接口,使用预设标准传输格式,将编码音视频流传输至交互设备上的客户端标准化组件,以使客户端标准化组件对编码音视频流进行预设解码格式的解码与播放,得到解码视频画面与解码音频。S3021 The second cloud host transmits the encoded audio and video streams to the client standardization component on the interactive device through a preset downlink standard interface and a preset standard transmission format, so that the client standardization component can decode and play the encoded audio and video streams in a preset decoding format to obtain decoded video images and decoded audio.
本申请实施例中,预设下行标准接口可以包括预设下行标准入口与预设下行标准出口。其中,预设下行标准入口与第一云主机中的编码传输标准接口连接,预设下行标准出口与客户端标准化组件连接。In this embodiment, the preset downlink standard interface may include a preset downlink standard ingress point and a preset downlink standard egress point. The preset downlink standard ingress point is connected to the encoding transmission standard interface in the first cloud host, and the preset downlink standard egress point is connected to the client standardization component.
本申请实施例中,第一云主机上的编码模块可以通过编码传输标准接口,将预设标准编码格式的编码音视频流传输至第二云主机上的预设下行标准入口。In this embodiment, the encoding module on the first cloud host can transmit encoded audio and video streams in a preset standard encoding format to the preset downlink standard entry point on the second cloud host through the encoding transmission standard interface.
本申请实施例中,第二云主机通过预设下行标准入口接收到编码音视频流时,可以使用预设标准传输格式,通过编码传输标准接口,对编码音视频流进行相应传输格式的封装与传输,通过预设下行标准出口输出至交互设备上的客户端标准化组件。In this embodiment of the application, when the second cloud host receives the encoded audio and video stream through the preset downlink standard inlet, it can use the preset standard transmission format, encapsulate and transmit the encoded audio and video stream in the corresponding transmission format through the encoding transmission standard interface, and output it to the client standardization component on the interactive device through the preset downlink standard outlet.
S3031、第二云主机通过预设上行标准接口,接收交互设备上的客户端标准化组件发出的操作事件,其中,操作事件为客户端标准化组件通过获取针对解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对至少一种格式类型的原始操作指令进行格式转化所得到的。S3031. The second cloud host receives operation events sent by the client standardized component on the interactive device through a preset uplink standard interface. The operation event is obtained by the client standardized component by acquiring at least one type of original operation instruction for decoding video or decoding audio, and converting the original operation instruction of at least one type of original operation instruction according to the preset standard event format.
本申请实施例中,预设上行标准接口可以包括预设上行标准入口与预设上行标准出口。其中,预设上行标准入口可以与客户端标准化组件连接,预设上行标准出口可以与第一云主机中的事件标准输入接口连接。In this embodiment, the preset uplink standard interface may include a preset uplink standard ingress point and a preset uplink standard egress point. The preset uplink standard ingress point can be connected to a client-side standardized component, and the preset uplink standard egress point can be connected to an event standard input interface in the first cloud host.
本申请实施例中,客户端标准化组件可以将操作事件通过网络连接传输至第二云主机上的预设上行标准入口。第二云主机通过预设上行标准入口接收到操作事件时,可以使用预设标准传输格式,通过编码传输标准接口,对操作事件进行相应传输格式的封装与传输,通过预设上行标准出口输出至第一云主机中的事件标准输入接口。In this embodiment, the client-side standardized component can transmit operation events to a preset uplink standard input on the second cloud host via a network connection. When the second cloud host receives the operation event through the preset uplink standard input, it can use a preset standard transmission format to encapsulate and transmit the operation event in the corresponding transmission format through an encoded transmission standard interface, and output it to the event standard input interface in the first cloud host through the preset uplink standard output.
在一些实施例中,标准化传输服务可以包括以下至少一种:上下行网络传输带宽评估服务、拥塞控制服务、连接保持及异常重连服务。In some embodiments, the standardized transport service may include at least one of the following: uplink and downlink network transmission bandwidth assessment service, congestion control service, connection maintenance and abnormal reconnection service.
在一些实施例中,事件标准输入接口与预设上行标准接口通过第一套接字连接;编码传输标准接口与预设下行标准接口通过第二套接字连接,从而可以根据网络情况,充分利用边缘计算节点及CDN就近接入服务进行灵活部署,解决就近接入最后一公里网络问题。In some embodiments, the event standard input interface is connected to the preset uplink standard interface through a first socket; the encoded transmission standard interface is connected to the preset downlink standard interface through a second socket, thereby making full use of edge computing nodes and CDN proximity access services for flexible deployment according to network conditions, and solving the last-mile network problem of proximity access.
在一些实施例中,第一套接字和第二套接字可以是相同或相应的套接字。具体的根据实际情况进行选择,本申请实施例不作限定。In some embodiments, the first socket and the second socket can be the same or corresponding sockets. The specific choice depends on the actual situation, and this application does not limit the choice.
可以理解的是,本申请实施例中,通过对云音视频交互系统中的采集、编码、传输和事件进行解耦,实现了对不同模块驱动配置、以及不同云主机的操作系统的封装隔离,从而可以在不同配置的云主机上可以通过统一的云服务标准化子类对外提供标准化的采集编码、传输、事件等服务,降低了代码冗余,提高了云音视频交互系统的兼容性和稳定性,并且,在对采集编码、传输、事件等服务进行升级或迁移到新硬件或宿主机OS运行环境时,只需要实现云服务标准化子类的功能接口即可完成,从而提高了云音视频交互系统的可维护性。It is understood that, in this embodiment of the application, by decoupling the acquisition, encoding, transmission, and events in the cloud audio and video interaction system, the encapsulation and isolation of different module driver configurations and different cloud host operating systems are achieved. This allows standardized acquisition, encoding, transmission, and event services to be provided externally through a unified cloud service standardized subclass on cloud hosts with different configurations, reducing code redundancy and improving the compatibility and stability of the cloud audio and video interaction system. Furthermore, when upgrading or migrating the acquisition, encoding, transmission, and event services to new hardware or host OS environments, only the functional interfaces of the cloud service standardized subclass need to be implemented, thereby improving the maintainability of the cloud audio and video interaction system.
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。The following will describe an exemplary application of the embodiments of this application in a real-world application scenario.
本申请实施例提供一种云游戏系统的实现架构,如图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提供统一的标准采集编码流输出和事件输入解析服务。在一些实施例中,标准化子类可以实现以下标准接口来实现对外提供统一标准服务:This application provides an implementation architecture for a cloud gaming system, as shown in Figure 14. The cloud gaming system includes a cloud gaming terminal 600, a platform access layer 700, and a cloud service platform host 800. The cloud gaming terminal 600 is equivalent to an interactive device 400, which can be any cloud gaming terminal device such as a mobile phone, computer, or television. The cloud gaming terminal 600 is configured with a cloud gaming software toolkit (cloud gaming SDK) 610 and a media player 620, whereby the cloud gaming SDK 610 is equivalent to a client-side standardized component 460. The platform access layer 700 is equivalent to a second host 500, and the cloud service platform host 800 is equivalent to a first cloud host 200. The cloud gaming host 800 consists of a hardware layer 810, a virtual machine layer 820, an operating system layer 830, and a standardized framework for acquisition and encoding events 840. The hardware layer 810 includes hardware components on the host, such as a CPU, GPU, I/O memory, and other hardware. In some embodiments, the CPU model can be x86 or ARM, and the GPU model can be NVIDIA, AMD, or Intel. The virtual machine layer 820 is a virtual machine environment running on cloud service platform host machines with different hardware configurations. In some embodiments, the virtual machine layer 820 can be a KVM, Xen, VMware, or Hyper-V version virtual machine environment. An operating system layer 830 is mounted on the virtual machine layer 820. The operating system layer 830 can be a Linux operating system or a Windows operating system, in which an Android virtual container based on QEMU or Houdini, or a Windows system virtual container, can run. In this embodiment, the acquisition encoding event standardization framework 840 defines a base class for standard acquisition encoding and event input. Cloud service platform host machines with different hardware and software configurations can inherit from the base class and implement different virtual function interfaces in different standardized subclasses (such as subclass 1 corresponding to Intel processor + Android container, subclass 2 corresponding to ARM processor + NVIDIA graphics card + Android container, etc.). This ensures internal compatibility by shielding different acquisition module drivers, encoding module drivers, and operation events at the host's underlying level, and provides a unified standard acquisition encoding stream output and event input parsing service to the platform access layer 700 and cloud gaming terminal 600. In some embodiments, the standardized subclass can implement the following standard interfaces to provide a unified standard service externally:
1、初始化标准接口,用于屏蔽兼容不同硬件/宿主机OS对外提供的采集和编码驱动以及SDK初始化接口。1. Initialize the standard interface to shield the acquisition and encoding drivers and SDK initialization interfaces provided by different hardware/host OS.
2、音视频采集标准接口,用于采集屏蔽兼容根据基类设定FPS定时器定时采集屏幕内容。2. Audio and video capture standard interface, used to capture screen content periodically based on the FPS timer set according to the base class, ensuring compatibility with shielding.
3、编码传输标准接口,用于屏蔽兼容根据基类设定FPS定时编码输出标准音视频流并下行输出给接入服务。3. Encoded transmission standard interface, used to shield compatibility with standard audio and video streams that are encoded and output at timed intervals according to the base class and then output downlink to the access service.
4、事件标准输入接口,用于把相关事件按不同硬件和OS宿主机对外提供的驱动和SDK接口要求输入到游戏进程,如把接收到的鼠标操作指令映射成相应的游戏鼠标按键,再通过键盘鼠标驱动发送给真正的游戏服务器完成整个游戏服务体验。4. The standard event input interface is used to input relevant events into the game process according to the requirements of the drivers and SDK interfaces provided by different hardware and OS host machines. For example, it maps the received mouse operation commands to the corresponding game mouse buttons, and then sends them to the actual game server through the keyboard and mouse driver to complete the entire game service experience.
如图14所示,本申请实施例中的云服务平台宿主机800与平台接入层700上已经完成了操作系统、数据库、中间件,运行库等等搭建,实现了云游戏服务器侧相关的硬件设备、存储、传输、网络带宽、安全、游戏更新等等软硬件功能配置,云游终端600只需要集成或安装云游SDK 610,就可以通过调用云游SDK 610中的API与云游戏服务器侧进行音视频数据与操作指令的交互,从而在云游终端600上运行云游戏的相关功能。As shown in Figure 14, the cloud service platform host 800 and platform access layer 700 in this embodiment have completed the construction of operating system, database, middleware, runtime library, etc., and realized the hardware and software function configuration of cloud game server-side related hardware devices, storage, transmission, network bandwidth, security, game updates, etc. The cloud game terminal 600 only needs to integrate or install the cloud game SDK 610, and can interact with the cloud game server-side for audio and video data and operation commands by calling the API in the cloud game SDK 610, thereby running cloud game-related functions on the cloud game terminal 600.
本申请实施例中,平台接入层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)就近接入服务,解决云游戏用户就近接入最后一公里网络问题,并可以提供云游戏用户上下行网络传输带宽评估、拥塞控制、连接保持及异常重连等统一标准服务。In this embodiment, the platform access layer 700 and the cloud service platform host 800 are independent in software architecture. The platform access layer 700 and the cloud service platform host 800 are separate, and the standardized event acquisition and encoding framework 840 on both the platform access layer 700 and the cloud service platform host 800 uses socket communication. Therefore, the platform access layer 700 can be deployed on the same machine as the cloud service platform host 800, or it can be deployed on different hosts. Specifically, it can be flexibly deployed based on the network conditions of the game users, and this embodiment does not impose any limitations. The platform access layer 700 externally connects to the cloud gaming SDK 610 and internally connects to the standardized event acquisition and encoding framework 840 for standardizing the input of operation events and the output of encoded audio and video streams. The platform access layer 700 provides unified event and stream transmission services for both the cloud gaming SDK 610 and the cloud service platform host 800. In some embodiments, the application layer transport and control protocols in the streaming service can be unified as WebRTC/RTSP, the uplink and downlink transport application layer protocols can be unified as RTP/RTCP, and the network transport layer protocols can be unified as UDP/SCTP. The platform access layer can fully utilize edge computing nodes and content delivery networks (CDNs) for proximity access services, solving the last-mile network problem for cloud gaming users, and can provide unified standard services such as uplink and downlink network transmission bandwidth assessment, congestion control, connection maintenance, and abnormal reconnection for cloud gaming users.
本申请实施例中,云游戏系统向不同软硬件类型的游戏终端与游戏应用,如手机端游戏、PC端游戏以及云端渲染APP应用等提供统一的云游SDK610,在一些实施例中,云游SDK610可以兼容的游戏终端的类型可以包括Android/iOS/PC/Web/H5/TV/PSP/Xbox/Switch等。在一些实施例中,云游SDK610可以是已经集成了标准WebRTC接入、音视频解码以及鼠标、键盘等上行事件处理方法的软件开发工具包。云游SDK610可以接收用户通过各种型号以及各种类型的操控设备,如不同型号的键盘、不同型号的游戏手柄等输入游戏终端的不同格式的操控指令,将不同格式的操控指令统一转换为预设标准事件格式的键盘按键、手柄、触模屏事件,并且,云游SDK610中实现了标准音视频格式的输入输出接口,通过标准音视频格式的输入接口,接收平台接入层传入的标准音视频格式的编码音视频流,并通过标准音视频格式的输入接口,向平台接入层发送标准音视频格式的上行音视频数据(如语音输入指令、视频输入指令等)。在一些实施例中,云游SDK610中预设的上下行的标准音视频格式可以是H.264/H.265/AAC/Opus等,预设标准事件格式可以自定义,具体的根据实际情况进行选择,本申请实施例不做限定。In this embodiment, the cloud gaming system provides a unified cloud gaming SDK 610 to game terminals and applications of different software and hardware types, such as mobile games, PC games, and cloud-rendered apps. In some embodiments, the types of game terminals that the cloud gaming SDK 610 can be compatible with may include Android/iOS/PC/Web/H5/TV/PSP/Xbox/Switch, etc. In some embodiments, the cloud gaming SDK 610 may be a software development kit that has integrated standard WebRTC access, audio and video decoding, and uplink event processing methods for mouse, keyboard, etc. The Cloud Gaming SDK 610 can receive control commands in various formats input by users through different models and types of control devices, such as different models of keyboards and game controllers. It converts these different control commands into keyboard, game controller, and touchscreen events in a preset standard event format. Furthermore, the Cloud Gaming SDK 610 implements standard audio and video format input/output interfaces. Through these interfaces, it receives encoded audio and video streams in standard audio and video formats from the platform access layer and sends uplink audio and video data (such as voice input commands and video input commands) in standard audio and video formats to the platform access layer. In some embodiments, the preset uplink and downlink standard audio and video formats in the Cloud Gaming SDK 610 can be H.264/H.265/AAC/Opus, etc. The preset standard event format can be customized, and the specific selection depends on the actual situation; this application embodiment does not limit this.
可以理解的是,本申请实施例中提供的云游戏服务平台在应用于云游戏场景时,可以在云端游、云手游不同的硬件配置(如CPU:X86/ARM+GPU:NVDIA/ARM/INTEL等)以及不同的宿主机OS(如Windows/Android虚拟容器等)上实现快速迭代,当云游戏服务平台需要向新的硬件配置、驱动以及SDK进行升级或迁移时,只要实现子类4个基本虚拟函数接口就可以快速接入和联调对接测试上线应用,从而提高了云游戏的兼容性,并且稳定性和运维效率都有大幅提升。It is understood that the cloud gaming service platform provided in this application embodiment, when applied to cloud gaming scenarios, can achieve rapid iteration on different hardware configurations (such as CPU: X86/ARM + GPU: NVDIA/ARM/INTEL, etc.) and different host OS (such as Windows/Android virtual containers, etc.) for cloud mobile games and cloud gaming. When the cloud gaming service platform needs to be upgraded or migrated to new hardware configurations, drivers, and SDKs, it can quickly access, debug, test, and launch applications by implementing the four basic virtual function interfaces of the subclasses, thereby improving the compatibility of cloud gaming and significantly improving stability and operational efficiency.
下面继续说明本申请实施例提供的第一云音视频处理装置255的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在存储器250的第一云音视频处理装置255中的软件模块可以包括:The following continues to describe the exemplary structure of the first cloud audio and video processing device 255 provided in the embodiments of this application as a software module. In some embodiments, as shown in FIG4, the software module stored in the first cloud audio and video processing device 255 in the memory 250 may include:
采集模块260,用于通过音视频采集标准接口,采集云音视频进程生成的音视频数据;The acquisition module 260 is used to acquire audio and video data generated by the cloud audio and video process through the audio and video acquisition standard interface;
编码模块270,用于通过编码传输标准接口,对所述音视频数据进行预设标准编码格式的音视频编码,得到编码音视频流,并将所述编码音视频流传输至交互设备400;The encoding module 270 is used to encode the audio and video data in a preset standard encoding format through the encoding transmission standard interface to obtain an encoded audio and video stream, and transmit the encoded audio and video stream to the interactive device 400.
事件处理模块280,用于通过事件标准输入接口,接收所述交互设备基于所述编码音视频流发起的操作事件,并将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,Event processing module 280 is used to receive operation events initiated by the interactive device based on the encoded audio and video stream through the event standard input interface, and to map the operation events to target driving events corresponding to the current operating system; the target driving events are used to drive the cloud audio and video process to update the audio and video data accordingly; wherein...
所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。The audio/video acquisition standard interface, the encoding and transmission standard interface, and the event standard input interface are standardized interfaces implemented in cloud service standard subclasses derived from the preset cloud service standard base class, based on the configuration information of the acquisition module, the encoding module, and the operating system, respectively.
在一些实施例中,所述第一云音视频处理装置255还包括初始化模块,所述初始化模块,用于通过音视频采集标准接口调用采集模块,采集云音视频进程生成的音视频数据之前,通过初始化标准接口调用所述采集模块、所述编码模块与所述操作系统各自对应的本地初始化接口,对所述采集模块、所述编码模块与所述操作系统进行初始化,其中,所述初始化标准接口为在所述云服务标准化子类中实现的标准化接口。In some embodiments, the first cloud audio and video processing device 255 further includes an initialization module. The initialization module is used to call the acquisition module through the audio and video acquisition standard interface before acquiring the audio and video data generated by the cloud audio and video process. Before acquiring the audio and video data, the initialization module calls the local initialization interfaces corresponding to the acquisition module, the encoding module and the operating system through the initialization standard interface to initialize the acquisition module, the encoding module and the operating system. The initialization standard interface is a standardized interface implemented in the cloud service standardized subclass.
在一些实施例中,所述采集模块260,还用于根据预设采样帧率,定时通过所述音视频采集标准接口调用本地采集驱动接口对云音视频进程生成的当前视频画面与当前音频进行采集,得到所述音视频数据;所述预设采样帧率为所述预设云服务标准化基类中统一设置的标准化采样帧率。In some embodiments, the acquisition module 260 is further configured to periodically call the local acquisition driver interface through the audio and video acquisition standard interface to acquire the current video frame and current audio generated by the cloud audio and video process according to a preset sampling frame rate, so as to obtain the audio and video data; the preset sampling frame rate is a standardized sampling frame rate uniformly set in the preset cloud service standard base class.
在一些实施例中,所述编码模块270,还用于通过所述编码传输标准接口调用本地编码驱动接口,根据预设编码帧率以及所述预设标准编码格式对所述音视频数据进行编码,得到编码音视频流;所述预设编码帧率为所述预设云服务标准化基类中统一设置的标准化编码帧率;In some embodiments, the encoding module 270 is further configured to call the local encoding driver interface through the encoding transmission standard interface to encode the audio and video data according to the preset encoding frame rate and the preset standard encoding format to obtain an encoded audio and video stream; the preset encoding frame rate is the standardized encoding frame rate uniformly set in the preset cloud service standard base class.
所述事件处理模块280,还用于通过所述事件标准输入接口调用预设指令转换服务,从至少一种预设操作事件与至少一种标准驱动事件的预设对应关系中,确定所述操作事件对应的目标驱动事件;所述至少一种标准驱动事件为所述当前操作系统中的标准驱动事件;将所述操作事件转换为所述目标驱动事件。The event processing module 280 is further configured to call a preset instruction conversion service through the event standard input interface to determine the target driving event corresponding to the operation event from a preset correspondence between at least one preset operation event and at least one standard driving event; the at least one standard driving event is a standard driving event in the current operating system; and convert the operation event into the target driving event.
下面继续说明本申请实施例提供的第二云音视频处理装置455的实施为软件模块的示例性结构,在一些实施例中,如图5所示,存储在第二存储器450的第二云音视频处理装置455中的软件模块可以包括:The following continues to describe the exemplary structure of the second cloud audio and video processing device 455 provided in the embodiments of this application as a software module. In some embodiments, as shown in FIG5, the software module stored in the second cloud audio and video processing device 455 in the second memory 450 may include:
客户端标准化组件460,所述客户端标准化组件460与第一云主机200上的编码传输标准接口以及事件标准输入接口连接;其中,A client-side standardization component 460 is provided, which is connected to the encoding transmission standard interface and the event standard input interface on the first cloud host 200; wherein...
所述客户端标准化组件460,用于接收所述编码传输标准接口发送的编码音视频流;并对所述编码音视频流进行解码播放,得到解码视频画面与解码音频;所述编码音视频流为所述第一云主机200通过音视频采集标准接口调用采集模块260,采集云音视频进程生成音视频数据;并通过编码传输标准接口调用编码模块270,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;The client-side standardized component 460 is used to receive the encoded audio and video stream sent by the encoded transmission standard interface; and to decode and play the encoded audio and video stream to obtain decoded video and decoded audio; the encoded audio and video stream is obtained by the first cloud host 200 calling the acquisition module 260 through the audio and video acquisition standard interface to acquire cloud audio and video data generated by the cloud audio and video process; and by calling the encoding module 270 through the encoded transmission standard interface to encode the audio and video data in a preset standard encoding format.
所述客户端标准化组件460,还用于获取针对所述解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对所述至少一种格式类型的原始操作指令进行格式转化,得到所述操作事件,将所述操作事件发送至所述事件标准输入接口,以使所述第一云主机200通过所述事件标准输入接口将所述操作事件映射为当前操作系统对应的目标驱动事件;所述目标驱动事件用于驱动所述云音视频进程对应更新所述音视频数据;其中,The client standardization component 460 is further configured to acquire at least one type of original operation instruction initiated for the decoded video or decoded audio, and to convert the original operation instruction of at least one type of original operation instruction according to a preset standard event format to obtain the operation event. The operation event is then sent to the event standard input interface, so that the first cloud host 200 maps the operation event to a target driving event corresponding to the current operating system through the event standard input interface. The target driving event is used to drive the cloud audio/video process to update the audio/video data accordingly.
所述音视频采集标准接口、所述编码传输标准接口、与所述事件标准输入接口为在预设云服务标准化基类派生的云服务标准化子类中,分别基于所述采集模块、所述编码模块以及所述操作系统各自的配置信息实现的标准化接口。The audio/video acquisition standard interface, the encoding and transmission standard interface, and the event standard input interface are standardized interfaces implemented in cloud service standard subclasses derived from the preset cloud service standard base class, based on the configuration information of the acquisition module, the encoding module, and the operating system, respectively.
下面继续说明本申请实施例提供的第三云音视频处理装置555的实施为软件模块的示例性结构,在一些实施例中,如图6所示,存储在第三存储器550的第三云音视频处理装置555中的软件模块可以包括:The following continues to describe the exemplary structure of the third cloud audio and video processing device 555 provided in the embodiments of this application as a software module. In some embodiments, as shown in FIG6, the software module stored in the third cloud audio and video processing device 555 in the third memory 550 may include:
预设下行标准接口570与预设上行标准接口560;所述预设下行标准接口570分别连接第一云主机200上的编码传输标准接口与交互设备,所述预设上行标准接口560分别连接所述交互设备与所述第一云主机200上的事件标准输入接口;其中,A preset downlink standard interface 570 and a preset uplink standard interface 560 are provided; the preset downlink standard interface 570 is connected to the encoding transmission standard interface on the first cloud host 200 and the interactive device, respectively; the preset uplink standard interface 560 is connected to the interactive device and the event standard input interface on the first cloud host 200, respectively.
所述预设下行标准接口570,用于获取编码音视频流;所述编码音视频流为所述第一云主机200通过音视频采集标准接口调用采集模块260,采集云音视频进程生成音视频数据;并通过所述编码传输标准接口调用编码模块270,对所述音视频数据进行预设标准编码格式的音视频编码所得到的;使用预设标准传输格式,将所述编码音视频流传输至所述交互设备400;The preset downlink standard interface 570 is used to acquire encoded audio and video streams; the encoded audio and video streams are generated by the first cloud host 200 through the audio and video acquisition standard interface calling the acquisition module 260 to acquire cloud audio and video data; and the audio and video data are encoded in a preset standard encoding format by the encoding module 270 through the encoding transmission standard interface; the encoded audio and video streams are transmitted to the interactive device 400 using the preset standard transmission format;
所述预设上行标准接口560,用于接收所述交互设备400基于所述编码音视频流发起的操作事件;使用所述预设标准传输格式,将所述操作事件传输至第一云主机200上的事件标准输入接口。The preset uplink standard interface 560 is used to receive operation events initiated by the interactive device 400 based on the encoded audio and video stream; and to transmit the operation events to the event standard input interface on the first cloud host 200 using the preset standard transmission format.
在一些实施例中,所述交互设备400包括:客户端标准化组件460,所述客户端标准化组件460分别与所述预设下行标准接口570以及所述预设上行标准接口560连接,所述预设下行标准接口570,还用于使用所述预设标准传输格式,将所述编码音视频流传输至所述交互设备400上的所述客户端标准化组件460,以使所述客户端标准化组件460对所述编码音视频流进行预设解码格式的解码与播放,得到解码视频画面与解码音频;In some embodiments, the interactive device 400 includes a client standardization component 460, which is connected to the preset downlink standard interface 570 and the preset uplink standard interface 560 respectively. The preset downlink standard interface 570 is further configured to transmit the encoded audio and video stream to the client standardization component 460 on the interactive device 400 using the preset standard transmission format, so that the client standardization component 460 decodes and plays the encoded audio and video stream using a preset decoding format to obtain decoded video images and decoded audio.
所述预设上行标准接口560,还用于接收所述交互设备400上的所述客户端标准化组件460发出的所述操作事件,其中,所述操作事件为所述客户端标准化组件460通过获取针对所述解码视频画面或解码音频发起的至少一种格式类型的原始操作指令,并根据预设标准事件格式对所述至少一种格式类型的原始操作指令进行格式转化所得到的。The preset uplink standard interface 560 is also used to receive the operation event sent by the client standardization component 460 on the interactive device 400, wherein the operation event is obtained by the client standardization component 460 by acquiring at least one original operation instruction of at least one format type initiated for the decoded video screen or decoded audio, and converting the original operation instruction of at least one format type according to the preset standard event format.
在一些实施例中,所述预设上行标准接口560与所述预设下行标准接口570之间实现有标准化传输服务,所述标准化传输服务包括以下至少一种:In some embodiments, a standardized transmission service is implemented between the preset uplink standard interface 560 and the preset downlink standard interface 570, and the standardized transmission service includes at least one of the following:
上下行网络传输带宽评估服务、拥塞控制服务以及连接保持及异常重连服务。Uplink and downlink network transmission bandwidth assessment service, congestion control service, and connection maintenance and abnormal reconnection service.
在一些实施例中,所述事件标准输入接口与预设上行标准接口560通过第一套接字连接;所述编码传输标准接口与预设下行标准接口570通过第二套接字连接。In some embodiments, the event standard input interface is connected to the preset uplink standard interface 560 via a first socket; the encoded transmission standard interface is connected to the preset downlink standard interface 570 via a second socket.
在一些实施例中,所述预设标准传输格式包括以下至少一种:In some embodiments, the preset standard transmission format includes at least one of the following:
预设应用层标准协议格式、预设传输层标准协议格式与预设网络层标准协议格式;其中,所述预设应用层标准协议格式包括:网页即时通信协议或实时流传输协议中的任意一种;所述预设传输层标准协议格式包括实时传输协议或实时传输控制协议中的任意一种;所述预设网络层标准协议格式包括:用户数据包协议或流控制传输协议中的任意一种。The system includes a preset application layer standard protocol format, a preset transport layer standard protocol format, and a preset network layer standard protocol format. The preset application layer standard protocol format includes either a web instant messaging protocol or a real-time streaming protocol. The preset transport layer standard protocol format includes either a real-time transmission protocol or a real-time transmission control protocol. The preset network layer standard protocol format includes either a user data packet protocol or a flow control transmission protocol.
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。It should be noted that the description of the above device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects. For technical details not disclosed in the device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的云音视频处理方法。This application provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the cloud audio and video processing method described above in this application.
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图7、图9、图10、图12以及13中示出的方法。This application provides a computer-readable storage medium storing executable instructions. When the executable instructions are executed by a processor, they will cause the processor to perform the method provided in this application, such as the method shown in Figures 7, 9, 10, 12, and 13.
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。As an example, executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hypertext Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborating files (e.g., a file that stores one or more modules, subroutines, or code sections).
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。As an example, executable instructions can be deployed to execute on a single computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.
综上所述,本申请实施例通过在预设云服务标准化基类派生的云服务标准化子类中,分别基于云服务平台宿主机上的采集模块、编码模块以及操作系统各自的配置信息实现标准化接口,进而能够通过音视频采集标准接口调用云服务平台宿主机上配置的采集模块进行音视频数据的采集;通过编码传输标准接口调用云服务平台宿主机上配置的编码模块进行音视频标准化编码与输出,以及将通过事件标准输入接口将操作事件映射为云服务平台宿主机的操作系统对应的目标驱动事件,从而实现了对不同模块驱动配置、以及不同云主机的操作系统的封装隔离,在不同配置的云主机上可以通过统一的云服务标准化子类对外提供标准化的采集编码、传输、事件等服务,降低了模块耦合度与代码冗余,提高了云音视频交互系统的兼容性和稳定性,并且,在对采集编码、传输、事件等服务进行升级或迁移到新硬件或宿主机OS运行环境时,只需要实现云服务标准化子类的功能接口即可完成,从而提高了云音视频交互系统的可维护性。In summary, this application embodiment implements standardized interfaces in cloud service standardized subclasses derived from a preset cloud service standardized base class, based on the configuration information of the acquisition module, encoding module, and operating system on the cloud service platform host. This enables the acquisition of audio and video data via the audio/video acquisition standard interface, the standardized encoding and output of audio and video via the encoding and transmission standard interface, and the mapping of operation events to target driver events corresponding to the operating system of the cloud service platform host through the event standard input interface. This achieves encapsulation and isolation of different module driver configurations and different cloud host operating systems. Standardized acquisition, encoding, transmission, and event services can be provided externally through a unified cloud service standardized subclass on cloud hosts with different configurations, reducing module coupling and code redundancy, improving the compatibility and stability of the cloud audio/video interaction system. Furthermore, when upgrading or migrating acquisition, encoding, transmission, and event services to new hardware or host OS environments, only the functional interfaces of the cloud service standardized subclass need to be implemented, thereby improving the maintainability of the cloud audio/video interaction system.
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.
Claims (15)
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK40075015A HK40075015A (en) | 2023-01-13 |
| HK40075015B true HK40075015B (en) | 2025-01-03 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN115278304B (en) | Cloud audio and video processing method, cloud audio and video processing system, electronic equipment and storage medium | |
| US12159152B2 (en) | Mobile mini-cloud system enabling user subscription to cloud service | |
| US8869141B2 (en) | Scalable high-performance interactive real-time media architectures for virtual desktop environments | |
| US8656023B1 (en) | Optimization scheduler for deploying applications on a cloud | |
| US8359605B2 (en) | System and method for integrated hardware platform for flash applications with distributed objects | |
| US10547657B2 (en) | System and method for video gathering and processing | |
| US20160011896A1 (en) | Mega Data Center Using Mini-cloud Host in Residential Environment | |
| CN112354176A (en) | Cloud game implementation method, cloud game implementation device, storage medium and electronic equipment | |
| CN108854055A (en) | Virtualizing graphics processing method and system based on cloud for remote display | |
| JP7193181B2 (en) | Distributed system of Android online game application supporting multiple terminals and multiple networks | |
| Huang et al. | GamingAnywhere: an open-source cloud gaming testbed | |
| KR20140106838A (en) | Cloud service provide apparatus and method using game flatform based on streaming | |
| US20170346792A1 (en) | System and method for kernel level video operations | |
| CN103559070A (en) | Virtualized graphics processing for remote display | |
| US9875099B2 (en) | Computer-implemented method and system for executing android apps natively on any environment | |
| CN106797398A (en) | Method and system for providing from virtual desktop serve to client | |
| WO2024037110A9 (en) | Data processing method and apparatus, device, and medium | |
| CN105521603B (en) | The method, apparatus and system of virtual input control are carried out for the game of cool run class | |
| CN115040866A (en) | Cloud game image processing method, device, equipment and computer readable storage medium | |
| HK40075015B (en) | Cloud audio and video processing method, system, electronic equipment and storage medium | |
| CN105550046B (en) | Virtual control method, device and system | |
| HK40075015A (en) | Cloud audio and video processing method, system, electronic equipment and storage medium | |
| Barboza et al. | A simple architecture for digital games on demand using low performance resources under a cloud computing paradigm | |
| US11013994B2 (en) | Method for playing back applications from a cloud, telecommunication network for streaming and for replaying applications (APPs) via a specific telecommunication system, and use of a telecommunication network for streaming and replaying applications (APPs) | |
| Rodríguez‐Silva et al. | A software architecture for virtualized educational multimedia games in IPTV environments |