一种数据流传输的方法、设备及系统的制作方法_3

文档序号:8322211阅读:来源:国知局
erver根据每帧的视频数据生成图像指令。
[0120]202、远程服务器根据携带识别标识的数据流生成数据流显示的位置信息。
[0121]其中,位置信息用于指示该终端显示携带识别标识的数据流。例如,远程服务器侧根据获得的携带有识别标识的数据流提取位置信息,发现终端TC侧显示的数据流需要为分辨率800*600的画面,从而将终端TC侧需要显示的画面规格以位置信息的形式发送至TC侦牝进而使得TC侧在显示数据流中能够根据位置信息中指示的800*600画面分辨率显示该数据流。
[0122]203、远程服务器发送该位置信息至终端。
[0123]这里远程服务器中的Display Server把图像要显示的位置信息发送到终端TC的Display Client,以便终端TC的Display Client根据该位置信息提取视频数据。
[0124]本发明实施例中的终端仅以TC为例,外接设备以摄像头为例进行说明,具体不做限定,其中,外接设备还包括:键盘、鼠标、USB外设、串并口外设、耳机和麦克风,根据本发明提供的一种数据流传输的方法依旧适用于上述外接设备。
[0125]这里步骤201?步骤203所述的方法应用于终端与远程服务器组成的计算机系统的云端操作,该终端包括瘦客户终端,远程服务器包括远程虚拟桌面。
[0126]本发明实施例提供的数据流传输的方法,终端将携带识别标识的压缩数据流发送至远程服务器,并通过接收该远程服务器根据该识别标识的数据流生成的位置信息提取数据流,终端通过接收位置信息避免了远程服务器通过处理压缩后的该数据流后再次传输处理后的该数据流的压缩包,从而降低了在数据传输过程中终端与远程服务器的性能消耗,以及在数据传输时消耗的大量带宽,进而节约了设备的功能资源以及信令交互时的网络资源。
[0127]具体的,以下结合具体的实施例进行说明。
[0128]可以在图1或图2对应的实施例的基础上,参照图3所示,本发明的实施例提供了一种数据流传输的方法,参照图3所示,为终端将外接设备重定向的过程,具体步骤如下:
[0129]301、终端获取与该终端连接的外接设备的第一参数信息。
[0130]其中,第一参数信息包括该外接设备的运行参数,其中,该运行参数至少包括:分辨率、帧率和支持的视屏图像格式中的任意一种或者至少两种的组合。本发明实施例中的第一参数信息仅以分辨率、帧率和支持的视屏图像格式为例说明连接于终端上的外接设备的运行参数,不作具体限定,具体以实现一种数据流传输的方法为准。
[0131]这里本发明实施例中的终端以瘦客户终端TC (Thin Client)为例,外接设备以摄像头为例进行说明,其中,TC包含显示器客户端Display Client、设备驱动Device Driver以及USB客户端USB Client。
[0132]具体的,终端获取与该终端连接的外接设备的第一参数信息,包括:
[0133]a、当终端TC中的设备驱动Device Driver检测到有摄像头接入时,触发即插即用PnP (Plug-and-Play)消息,将该PnP消息上报至终端TC中的USB Client。
[0134]b、终端TC中的USB Client收到PnP消息,将根据PnP消息查找该外接设备,并根据外接设备的类型获知为摄像头,进而USB Client将获取摄像头的参数信息。
[0135]例如:该摄像头的运行参数至少包括:硬件支持的分辨率、帧率和支持的视屏图像格式中的任意一种或者至少两种的组合(RGB、YUV)。
[0136]302、终端将第一参数信息发送至远程服务器。
[0137]这里终端TC中的USB Client向远程服务器中的USB Server端上报摄像头插入的通知事件,其中通知事件中包括终端TC中外接设备,即摄像头的第一参数信息。
[0138]其中,远程服务器包括:USB服务端USB Server、运行端Applicat1n以及显示服务端 Display Server。
[0139]303、远程服务器接收终端发送的第一参数信息。
[0140]其中,远程服务器中的USB Server接收到USB Client的事件通知,并从通知中获取的摄像头的参数信息(至少包括摄像头硬件支持的分辨率、帧率和支持的视频图像格式中的任意一种或者至少两种的组合)。
[0141]304、远程服务器根据第一参数信息配置虚拟外接设备。
[0142]其中,该虚拟外接设备为远程服务器上映射于终端中外接设备设置的虚拟设备。
[0143]这里远程服务器中的USB Server根据摄像头的第一参数信息,调用直接显示DirectShow接口添加虚拟摄像头,添加虚拟摄像头成功以后,远程服务器的操作系统的设备管理就可以看到新添加的虚拟摄像头外接设备。
[0144]305、远程服务器根据虚拟外接设备生成对应终端中外接设备的启动请求。
[0145]其中,启动请求包括启动该外接设备的启动命令和/或驱动信息。
[0146]这里当远程服务器的某个应用程序需要使用该虚拟摄像头时,可以像使用普通的摄像头一样打开该虚拟摄像头。远程应用程序打开连接于终端的摄像头,并开始发送播放请求。
[0147]306、远程服务器将启动请求发送至该终端。
[0148]远程服务器中的USB Server会截获该某种应用程序的请求,并将该启动请求转发至终端TC中的USB Client端。其中,该启动请求除了包括打开这个摄像头信息,通常还包括第二参数信息,即摄像头的分辨率、帧率和亮度中的任意一种或者至少两种的组合的信肩、O
[0149]307、终端接收远程服务器发送的启动请求,并根据启动请求中的第二参数信息开启外接设备。
[0150]其中,第二参数信息至少包括:分辨率、帧率和亮度中的任意一种或者至少两种的组合。
[0151]具体的,终端TC接收远程服务器发送的启动请求,并根据启动请求中的第二参数信息开启外接设备,包括:
[0152]终端TC中的USB Client接收到启动请求以后,根据启动请求的第二参数(至少包括分辨率、帧率和亮度中的任意一种或者至少两种的组合)使用DirectShow接口来设置并启动摄像头。
[0153]308、终端根据启动请求启动外接设备获取数据流。
[0154]其中,终端TC中的设备驱动Device Driver接收到启动请求后,根据该启动请求中的第二参数(至少包括分辨率、帧率和亮度中的任意一种或者至少两种的组合)设置并启动终端TC的外接设备,即摄像头。进而终端TC中的USB Client检测到外接设备(摄像头)准备就绪以后,使用直接显示DirectShow接口开始获取视频数据。
[0155]309、终端将获取到的数据流添加识别标识。
[0156]这里终端TC中的USB Client将获取到的视屏数据流添加识别标识,以便在远程服务器侧接收携带识别标识的视频数据流之后能够根据识别标识提取该视屏数据并执行对应操作。
[0157]310、终端将添加识别标识后的数据流通过压缩发送至远程服务器。
[0158]具体的,终端将添加识别标识后的数据流通过压缩发送至远程服务器,包括:
[0159]a、USB Client将添加识别标识后的数据流进行压缩编码。
[0160]其中,通过USB Client的压缩编码,使得视频数据在网络传输过程中节约大量的网络带宽的消耗。
[0161]b、USB Client将压缩后的数据流发送至远程服务器的USB服务器端USB Server.
[0162]311、远程服务器接收终端发送的通过该终端压缩携带识别标识的数据流。
[0163]具体的,远程服务器接收终端发送的通过该终端压缩携带识别标识的数据流,实施方式如下所述:
[0164]a、远程服务器中的USB Server收到从终端TC中USB Client发送的视频数据流。
[0165]b、远程服务器中的USB Server对接收到的视频数据进行解码。
[0166]C、远程服务器中的USB Server通过DirectShow接口把解码后的视频数据流填充到虚拟摄像头。
[0167]这里远程服务器在接收终端发送视频数据流之前,首先对应终端TC的外接设备在远程服务器侧对应生成一个虚拟设备,其中,通过启动该虚拟设备进而启动终端TC的外接设备。
[0168]在远程服务器中的USB Server获取到解码后的视频数据流后,将该视频数据流填充至虚拟摄像头,使得对应的在远程服务器侧与终端TC中的外接设备摄像头对应。
[0169]d、远程服务器的应用程序捕获到虚拟摄像头的视频数据流,并调用Win32API接口把视频数据转发至Display Server。
[0170]这里远程服务器通过调用对应的应用程序,将获取到的视频数据流传送至Display Server,使得通过显示服务端Display Server对该视频数据流进行图像处理。
[0171]e、远程服务器中的Display Server根据每帧的视频数据生成图像指令。
[0172]312、远程服务器根据携带识别标识的数据流生成数据流显示的位置信息。
[0173]其中,位置信息用于指示该终端显示携带识别标识的数据流。
[0174]具体的,远程服务器根据添加识别标识后的数据流提取数据流显示的位置信息,包括:
[0175]a、远程服务器解压携带识别标识的数据流,并将该数据流填充至虚拟外接设备。
[0176]其中,现有技术中当前远程服务器在摄像头重定向的情况下,摄像头的视频数据在远程服务器要负责在线的压缩与解压,而在正常的使用场景下,远程服务器可能还在进行其它的任务处理,而在线的压缩与解压又是一个很消耗CPU的业务,如果要保证相同的用户体验,必须增加额外的CPU资源,相当于额外增加了远程服务器的设计与生产成本。而本发明可以使得远程服务器只需要负责解压,而不需要在线压缩,进而降低了对远程服务器的CPU能力消耗,从而降低了远程服务器的设计与生产成本。
[0177]b、远程服务器根据数据流生成图像指令,并判断该识别标识
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1