一种桌面云终端音视频数据实时处理方法及系统与流程

文档序号:12628410阅读:789来源:国知局
一种桌面云终端音视频数据实时处理方法及系统与流程

本发明涉及云计算技术领域,尤其涉及一种将桌面云终端的音频、视频数据实时传输到虚拟机的方法及系统。



背景技术:

在桌面云技术及应用领域,虚拟机运行在远程服务器上,将桌面图像和音频数据传输到终端设备(例如PC、瘦客户端、移动终端等)上。终端设备输出桌面图像和音频信号,同时采集终端设备的外设事件(例如敲击键盘、移动鼠标等)并反馈到远程服务器的虚拟机上,更新后的桌面图像和音频数据继续传输到终端设备。

桌面云终端的外部设备除了图像显示、音频播放等输出设备之外,还有摄像头、录音、键盘、鼠标等输入设备。这些输入设备直接连接在桌面云终端上,与远程服务器上的虚拟机没有直接的物理连接。为了使桌面云提供最真实的PC用户体验,桌面云终端必须将输入设备的数据实时传输到虚拟机。桌面云终端的摄像头、录音设备产生音频、视频数据,这些数据的量很大,实时性要求高,对用户体验影响大,因此需要着重解决桌面云终端音频、视频数据向虚拟机实时传输的问题。

针对这个问题,现有的技术方案主要是在终端设备与虚拟机(或者远程服务器)之间建立网络连接,传输视频和音频数据。具体的技术手段有很多种,例如在虚拟机(或者远程服务器)内部安装数据通信软件,接收远程终端的数据,这种技术手段依赖于具体的虚拟机(或者远程服务器)的操作系统。也有一些技术手段在远程服务器上虚拟出USB设备,采用RDP、ICA、PCoIP等通信协议实现远程终端与远程服务器的数据通信。由于音频、视频的数据量大,为提高实时性,音视频数据失真严重;为提高音视频质量,实时性便会降低。

现有专利技术如下:

“一种电脑接收带摄像头手机输入视频数据的方法及系统”(CN100383769C)公布了一种在PC机上使用手机摄像头的方法和系统。在该系统中,手机直接连接到PC机,在PC机上安装虚拟摄像头,获取手机摄像头的视频数据。该方法和系统不能处理手机上的音频数据。

“基于VOIP话机的虚拟USB声卡创建方法”(CN103873711A)在Windows上创建虚拟USB声卡,通过虚拟声卡和网络与VOIP话机交换音频数据。该方法不能处理视频数据。

部分外部设备没有USB接口,通过耳机口或dock接口与移动设备连接,无法通过USB接口与PC主机连接。“一种远程通信方法和系统”(CN103823771A)提出了一种将此类外部设备映射到PC主机的方法和系统(第[0005]段)。该方法需要在PC的Windows上安装计算机软件,而且不能处理音频和视频数据,不适用于虚拟机环境的操作系统。

“一种虚拟USB总线的实现方法”(CN103312781A)提供了一种将服务器USB设备映射到远程客户端的方法,在客户端上使用服务器上的USB设备。

“一种移动终端USB虚拟化映射方法”(CN102882871A)将移动终端的物理USB设备映射到远程服务器上的虚拟USB设备,使得服务器能够操作移动终端上的USB设备。

“基于桌面虚拟化技术的打印机映射方法及系统”(CN104394290A)将终端设备的打印机映射到虚拟机的虚拟设备上,虚拟机向终端设备发出打印指令,完成打印操作。这种方法能够在诸多虚拟机中共享终端设备的打印机。类似的,“基于桌面虚拟化技术的存储设备映射方法及系统”(CN104881315A)将终端存储设备映射到虚拟机。诸多虚拟机在使用终端存储设备时,存在访问冲突的问题。

“一种移动设备上的传感器在虚拟机中的使用方法及系统”(CN104199720A)提供一种移动设备与虚拟机之间传输传感器数据的方法,虚拟机接收到传感器数据之后进行相应的数据处理计算。

“面向虚拟机的USB设备远程共享方法和系统”(CN102523264B)提供一种客户端主机USB设备远程共享的方法,在虚拟机上使用客户端主机的USB盘、USB打印机等外部设备(第[0005]段)。

“一种通信模块、远程监控系统和远程监控终端”(CN102143144B)提供一种通信模块,获取远程摄像头的音频、视频数据,并传输到监控终端。

“VDI虚拟桌面中无缝使用云终端本地摄像头的方法”(CN103533034A)公布了一种虚拟机使用终端摄像头的方法。该方法的虚拟机采用Windows,安装有重定向服务端,接受终端摄像头的图像数据并显示。该方法依赖具体的操作系统,即Windows;必须在虚拟机中安装服务端软件;不能处理终端的音频数据。类似的,“基于虚拟设备的摄像头映射方法”(CN104199723A)在Windows上安装虚拟摄像头,采用云桌面协议(如RDP、ICA、PCoIP等)将终端摄像头的图像数据传输到Windows的虚拟摄像头。“应用于虚拟桌面环境的摄像头视频处理方法和相应设备”(CN 104301687A)在虚拟机安装“视频业务专用接口”,来自客户机的视频图像仅能用于虚拟机的“摄像头视频应用模块”(第[0045]段、图3和图8),不能用于虚拟机内部其他的应用软件(例如即时通信软件等)。

“基于虚拟化桌面环境的全双工音频传输系统及方法”(CN104410664A)提供了一种虚拟机使用终端音频设备的方法,实现虚拟机与终端之间的音频通信。类似的,还有“基于虚拟化桌面的耳麦虚拟化实现系统及其音频传输方法”(CN104391672A)。

“一种基于虚拟机的应用数据提供方法、装置及系统”(CN102917246B)解决的问题是将虚拟机的图像数据和音频数据传输到客户终端([第0012段]),技术手段是在服务器上设置采集模块、编码模块和发送模块(图1和图2),其功能类似于RDP、ICA、PCoIP等远程桌面协议。

“计算机共享平台中音频数据的提供方法及装置”(CN103294444B)在多用户共享同一台计算机时,提供一种互不干扰的方法实现多用户录音和音频播放功能。该方法及装置不能处理终端视频图像,不适应于虚拟机环境。

手机、平板电脑等移动终端亦可作为桌面云终端。目前移动终端音视频数据处理的专利技术主要集中在直播应用方面,例如“移动终端向互联网以及移动互联网进行视频直播的方法”(CN 102811373A)、“支持图片直播模式的移动终端、视频直播方法及系统”(CN 102378001A)等。



技术实现要素:

为解决上述技术问题,本发明的目的是提供一种实时处理桌面云终端音视频数据并传输到虚拟机的方法及系统,缩短桌面云终端音视频数据传输延时的同时提高音视频数据的质量。

本发明的目的通过以下的技术方案来实现:

一种桌面云终端音视频数据实时处理方法,包括:

在桌面云终端采集摄像头、录音设备的图像和音频数据;

通过桌面云终端的流媒体服务器将图像和音频数据编码成流媒体格式数据,并输出;

桌面云平台获取流媒体格式数据并解码获得图像和音频数据;

将解码后的图像数据传输到虚拟USB摄像头,并保存;将解码后的音频数据传输到虚拟USB声卡,并保存;

将所述虚拟USB摄像头存储的图像数据和虚拟USB声卡存储的音频数据传输到虚拟机,供虚拟机操作系统应用软件使用。

一种桌面云终端音视频数据实时处理系统,包括:终端采集模块、流媒体服务器模块、控制模块、流媒体采集模块、解码模块、虚拟USB摄像头、虚拟USB声卡和通信模块;所述

终端采集模块,采集桌面云终端摄像头的图像和音频设备的音频数据;

流媒体服务器模块,将图像和音频数据编码成流媒体格式数据;

控制模块,用于启动或关闭终端采集模块和流媒体服务器模块,向通信模块发出指令和参数;

流媒体采集模块,用于获取流媒体服务器模块的流媒体格式数据;

解码模块,从流媒体格式数据中解码出图像和音频数据,并将解码后的图像数据传输到虚拟USB摄像头及解码后的音频数据传输到虚拟USB声卡;

虚拟USB摄像头,用于存储解码后的图像数据;

虚拟USB声卡,用于存储解码后的音频数据;

通信模块,用于接收控制模块的参数和指令,启动或关闭流媒体采集模块、解码模块、虚拟USB摄像头和虚拟USB声卡。

与现有技术相比,本发明的一个或多个实施例可以具有如下优点:

1、在桌面云终端采集摄像头、录音设备的图像和音频数据并编码成流媒体数据,能够缓解桌面云平台的服务器压力。

2、采用流媒体技术传输视频和音频数据,能够减少桌面云的数据传输量,提高音视频数据质量,缩短数据传输的延时,提高实时性。

3、虚拟USB摄像头和虚拟USB声卡与虚拟机的操作系统无关,无需在虚拟机操作系统安装额外的软件,支持更多的虚拟机操作系统。虚拟机操作系统上的任何应用软件都可以使用虚拟USB摄像头的图像和虚拟USB声卡的音频数据。

4、虚拟USB摄像头和虚拟USB声卡按需分配,能够提高服务器的资源利用率,减轻服务器的负载。

附图说明

图1是桌面云终端音视频数据实时处理的实现方法流程图;

图2是桌面云终端音视频数据实时处理系统的总体系统结构图;

图3是多个桌面云终端音视频数据实时处理系统的一个实施例示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合实施例及附图对本发明作进一步详细的描述。

如图1所示,为桌面云终端音视频数据实时处理的方法,该方法包括:桌面云终端采集摄像头、录音设备的视频、音频数据,并编码成流媒体格式数据,发送到桌面云终端的流媒体服务器;

桌面云终端建立一个流媒体服务器,接受流媒体格式的数据,等待桌面云服务器的连接;

桌面云服务器的采集模块连接到桌面云终端的流媒体服务器,获取流媒体格式的数据,传输到桌面云服务器的解码模块;

桌面云服务器的解码模块从流媒体格式数据中解码出图像数据和音频数据,传输到桌面云平台的虚拟USB摄像头和虚拟USB声卡;

虚拟机的操作系统从虚拟USB摄像头和虚拟USB声卡获取图像数据和音频数据,供虚拟机的应用软件使用。

如图2所示,为桌面云终端音视频数据实时处理的实现系统,该系统包括:终端采集模块、流媒体服务器模块、控制模块、通信模块、流媒体采集模块、解码模块、虚拟USB摄像头和虚拟USB声卡;所述

终端采集模块,采集桌面云终端摄像头、录音设备的图像、音频数据,并传输到流媒体服务器模块;

流媒体服务器模块,接收终端采集模块的图像和音频数据,编码成流媒体数据格式,等待流媒体采集模块的连接;

控制模块,接收用户启动(或关闭)桌面云终端音视频数据处理的指令,启动(或关闭)终端采集模块和流媒体服务器模块,并向通信模块发出指令和参数;

流媒体采集模块;连接到流媒体服务器模块,获取流媒体格式数据,并传输到解码模块;

解码模块;从流媒体采集模块获取流媒体格式数据,解码成图像和音频数据,将图像传输到虚拟USB摄像头,将音频数据传输到虚拟USB声卡;

虚拟USB摄像头;接收解码模块的图像数据,并传输到虚拟机;

虚拟USB声卡;接收解码模块的音频数据,并传输到虚拟机;

通信模块;接收控制模块的参数和指令,启动(或关闭)流媒体采集模块、解码模块、虚拟USB摄像头和虚拟USB声卡。

桌面云终端音视频数据实时处理的一个实施例如图3所示,采用Android平板电脑作为桌面云终端,在Android平板电脑上实现终端采集模块、流媒体服务器模块和控制模块,采用H.264对终端的视频、音频进行编码处理并生成流媒体数据;采用服务器硬件设备作为桌面云平台,用CentOS作为操作系统,用VirtualBox作为虚拟化平台并创建虚拟机,在CentOS上实现流媒体采集模块、解码模块、虚拟USB摄像头、虚拟USB声卡和通信模块。桌面云平台将虚拟机的图像和声音传输到Android平板电脑上,Android平板电脑将键盘和鼠标参数传输到虚拟机。

用户通过Android平板电脑的控制模块下达启动桌面云终端音视频数据处理的指令,流程为:

(1)控制模块启动终端采集模块和流媒体服务器模块;

(2)控制模块向通信模块发布启动指令和参数;

(3)通信模块接到控制模块的启动指令和参数后,分别启动流媒体采集模块、解码模块、虚拟USB摄像头、虚拟USB声卡;

(4)通信模块将虚拟USB摄像头和虚拟USB声卡绑定到指定的虚拟机;

(5)虚拟机的操作系统从虚拟USB摄像头和虚拟USB声卡获取图像和声音,虚拟机操作系统的应用软件使用图像和声音。

用户通过Android平板电脑的控制模块下达关闭桌面云终端音视频数据处理的指令,流程为:

(1)控制模块向通信模块发布关闭指令和参数;

(2)控制模块关闭桌面云终端的终端采集模块和流媒体服务器模块;

(3)通信模块接收到关闭指令和参数后,分别关闭流媒体采集模块、解码模块,解除虚拟USB摄像头、虚拟USB声卡与虚拟机的绑定;

(4)通信模块销毁虚拟USB摄像头和虚拟USB声卡,回收资源。

桌面云终端音视频数据实时处理系统支持多个桌面云终端,实施例见图3所示。以两个Android平板电脑作为桌面云终端,连接到桌面云平台,同时启动桌面云终端的摄像头和录音设备;在桌面云平台上,通信模块分别启动两套流媒体采集模块、解码模块、虚拟USB摄像头和虚拟USB声卡(见图3所示)。

虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1