Vdi虛擬桌面中無縫使用云終端本地攝像頭的方法
【專利摘要】VDI虛擬桌面中無縫使用云終端本地攝像頭的方法,改進(jìn)原有的DirectShow技術(shù)框架,構(gòu)建一個虛擬攝像頭和虛擬播放器,虛擬攝像頭將數(shù)據(jù)請求通過重定向服務(wù)器端發(fā)送給重定向客戶端,重定向客戶端操作終端本地的真實攝像頭設(shè)備獲取一幀的圖像數(shù)據(jù),然后通過流媒體壓縮算法進(jìn)行壓縮后回送給虛擬攝像頭,虛擬攝像頭解壓后通過DirectShow框架傳遞給虛擬播放器;同時重定向客戶端直接將圖像直接顯示在虛擬播放器提供的屏幕坐標(biāo)位置上,完成攝像頭數(shù)據(jù)的回顯。本發(fā)明使得用戶登陸虛擬桌面無縫使用云終端本地攝像頭,并解決了攝像頭在使用過程中的回顯數(shù)據(jù)的網(wǎng)絡(luò)帶寬占用問題。
【專利說明】VDI虛擬桌面中無縫使用云終端本地攝像頭的方法
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明屬于計算機(jī)軟件【技術(shù)領(lǐng)域】,具體是指一種VDI虛擬桌面中無縫使用云終端本地攝像頭的方法。
【【背景技術(shù)】】
[0002]VDI虛擬桌面基礎(chǔ)架構(gòu)將計算資源和存儲資源集中到了數(shù)據(jù)中心,而用戶側(cè)的操作資源(各種外設(shè)等輸入輸出設(shè)備)并沒有很完善的解決方案。
[0003]目前在桌面云計算基礎(chǔ)架構(gòu)中,可以采用USB映射方法解決本地攝像頭的使用問題,但是這一種實現(xiàn)方式存在有以下缺點(diǎn):1、由于攝像頭數(shù)據(jù)量大,而USB映射方法作為一種通用的USB設(shè)備映射方法,無法對攝像頭這種設(shè)備做特別的優(yōu)化。2、由于對于帶寬的高需求,導(dǎo)致實際使用過程中,經(jīng)常出現(xiàn)畫面閃屏,掉幀等現(xiàn)象,影響使用效果。
[0004]有鑒于此,本發(fā)明人針對現(xiàn)有技術(shù)的缺陷深入研究,遂有本案產(chǎn)生。
【
【發(fā)明內(nèi)容】
】[0005]本發(fā)明所要解決的技術(shù)問題在于提供一種VDI虛擬桌面中無縫使用云終端本地攝像頭的方法,使得用戶登陸虛擬桌面,操作虛擬設(shè)備就如同使用本地設(shè)備效果一樣。
[0006]本發(fā)明是這樣實現(xiàn)的:
[0007]VDI虛擬桌面中無縫使用云終端本地攝像頭的方法,包括如下步驟:
[0008]當(dāng)用戶通過客戶端遠(yuǎn)程登錄虛擬桌面,打開任意應(yīng)用程序使用攝像頭時,應(yīng)用程序通過DirectShow框架建立攝像頭使用鏈路過程中,啟動Source Filter虛擬攝像頭、Rendering Filter 虛擬播放器;
[0009]所述Source Filter虛擬攝像頭啟動時向重定向服務(wù)器端發(fā)送初始化請求,并等待所述重定向服務(wù)器端回復(fù)信息;
[0010]所述重定向服務(wù)器端通過基于TCP的虛擬通道向重定向客戶端發(fā)送初始化請求,所述重定向客戶端操作終端本地的真實攝像頭設(shè)備完成設(shè)備初始化配置,然后將相關(guān)信息返回給所述重定向服務(wù)器端;
[0011]所述重定向服務(wù)器端將信息返回給所述Source Filter虛擬攝像頭;
[0012]所述Rendering Filter虛擬播放器啟動時,獲取攝像頭數(shù)據(jù)顯示窗口的具體坐標(biāo)信息,將坐標(biāo)地址通過所述重定向服務(wù)器端發(fā)送給所述重定向客戶端,所述重定向客戶端通過任意方式保存坐標(biāo)位置;
[0013]鏈路建立成功后,所述Rendering Filter虛擬播放器通過DirectShow框架開始向所述Source Filter虛擬攝像頭請求攝像頭數(shù)據(jù);
[0014]所述Source Filter虛擬攝像頭將數(shù)據(jù)請求通過所述重定向服務(wù)器端發(fā)送給所述重定向客戶端,所述重定向客戶端操作終端本地的真實攝像頭設(shè)備獲取一幀的圖像數(shù)據(jù),然后通過流媒體壓縮算法進(jìn)行壓縮后回送給所述Source Filter虛擬攝像頭,所述SourceFilter虛擬攝像頭解壓后通過DirectShow框架傳遞給所述Rendering Filter虛擬播放器;同時所述重定向客戶端直接將圖像直接顯示在之前所述Rendering Filter虛擬播放器提供的屏幕坐標(biāo)位置上,完成攝像頭數(shù)據(jù)的回顯。
[0015]本發(fā)明的優(yōu)點(diǎn)在于:本發(fā)明專為桌面云計算環(huán)境所開發(fā),解決攝像頭的使用問題。使得用戶登陸虛擬桌面,操作虛擬設(shè)備就如同使用本地設(shè)備效果一樣。在桌面云計算基礎(chǔ)架構(gòu)中,本地云終端通過遠(yuǎn)程桌面連接協(xié)議客戶端,將運(yùn)行在數(shù)據(jù)中心的虛擬桌面的運(yùn)行視圖,抓取至本地進(jìn)行顯示,讓用戶感覺使用遠(yuǎn)端虛擬桌面,就像是訪問傳統(tǒng)的本地安裝的桌面一樣。通過改進(jìn)原有的DirectShow技術(shù)框架,構(gòu)建一個虛擬攝像頭Source Filter的方式,使得用戶能夠在虛擬桌面中無縫的使用本地攝像頭。通過改進(jìn)原有的DirectShow技術(shù)框架,構(gòu)建一個虛擬播放器Rendering Filter的方式,截獲用戶攝像頭對焦數(shù)據(jù)回顯的窗口坐標(biāo),然后在終端本地直接進(jìn)行反顯的方式,解決攝像頭在使用過程中的回顯數(shù)據(jù)的網(wǎng)絡(luò)帶寬占用問題。
【【專利附圖】
【附圖說明】】
[0016]下面參照附圖結(jié)合實施例對本發(fā)明作進(jìn)一步的描述。
[0017]圖1是本發(fā)明的系統(tǒng)框架圖。
【【具體實施方式】】
[0018]在桌面云計算基礎(chǔ)架構(gòu)中,本地云終端通過遠(yuǎn)程桌面連接協(xié)議客戶端,將運(yùn)行在數(shù)據(jù)中心的虛擬桌面的運(yùn)行視圖,抓取至本地進(jìn)行顯示,讓用戶感覺使用遠(yuǎn)端虛擬桌面,就像是訪問傳統(tǒng)的本地安裝的桌面一樣。由于真實的系統(tǒng)環(huán)境運(yùn)行在數(shù)據(jù)中心的服務(wù)器中,物理連接是分離的,因此遠(yuǎn)端的虛擬桌面無法直接使用云終端本地的攝像頭。攝像頭在桌面云環(huán)境下使用時,主要有兩路數(shù)據(jù)流,一路是本地上傳至服務(wù)器的攝像頭影像數(shù)據(jù)流,一路是用于人機(jī)交互,反顯至本地的視頻圖像數(shù)據(jù)流。本發(fā)明基于微軟DirectShow框架的特點(diǎn),對其進(jìn)行改進(jìn)、擴(kuò)展,在虛擬桌面中構(gòu)建虛擬攝像頭Source,然后將虛擬攝像頭與本地云終端上接入的真實攝像頭建立聯(lián)系,將攝像頭數(shù)據(jù)通過壓縮上傳至服務(wù)器端,同時截獲攝像頭的輸出端,將對焦數(shù)`據(jù)直接在本地進(jìn)行反顯。圖1是本發(fā)明的系統(tǒng)框架圖。詳細(xì)步驟如下:
[0019]當(dāng)用戶通過客戶端遠(yuǎn)程登錄虛擬桌面,打開任意應(yīng)用程序使用攝像頭時,應(yīng)用程序通過DirectShow框架建立攝像頭使用鏈路過程中,啟動Source Filter虛擬攝像頭、Rendering Filter 虛擬播放器;
[0020]所述Source Filter虛擬攝像頭啟動時向重定向服務(wù)器端發(fā)送初始化請求,并等待所述重定向服務(wù)器端回復(fù)信息;
[0021]所述重定向服務(wù)器端通過基于TCP的虛擬通道向重定向客戶端發(fā)送初始化請求,所述重定向客戶端操作終端本地的真實攝像頭設(shè)備完成設(shè)備初始化配置,然后將相關(guān)信息返回給所述重定向服務(wù)器端;
[0022]所述重定向服務(wù)器端將信息返回給所述Source Filter虛擬攝像頭;
[0023]所述Rendering Filter虛擬播放器啟動時,獲取攝像頭數(shù)據(jù)顯示窗口的具體坐標(biāo)信息,將坐標(biāo)地址通過所述重定向服務(wù)器端發(fā)送給所述重定向客戶端,所述重定向客戶端通過任意方式保存坐標(biāo)位置;[0024]鏈路建立成功后,所述Rendering Filter虛擬播放器通過DirectShow框架開始向所述Source Filter虛擬攝像頭請求攝像頭數(shù)據(jù);
[0025]所述Source Filter虛擬攝像頭將數(shù)據(jù)請求通過所述重定向服務(wù)器端發(fā)送給所述重定向客戶端,所述重定向客戶端操作終端本地的真實攝像頭設(shè)備獲取一幀的圖像數(shù)據(jù),然后通過流媒體壓縮算法進(jìn)行壓縮后回送給所述Source Filter虛擬攝像頭,所述SourceFilter虛擬攝像頭解壓后通過DirectShow框架傳遞給所述Rendering Filter虛擬播放器;同時所述重定向客戶端直接將圖像直接顯示在之前所述Rendering Filter虛擬播放器提供的屏幕坐標(biāo)位置上,完成攝像頭數(shù)據(jù)的回顯。
[0026]本發(fā)明專為桌面云計算環(huán)境所開發(fā),解決攝像頭的使用問題。使得用戶登陸虛擬桌面,操作虛擬設(shè)備就如同使用本地設(shè)備效果一樣。在桌面云計算基礎(chǔ)架構(gòu)中,本地云終端通過遠(yuǎn)程桌面連接協(xié)議客戶端,將運(yùn)行在數(shù)據(jù)中心的虛擬桌面的運(yùn)行視圖,抓取至本地進(jìn)行顯示,讓用戶感覺使用遠(yuǎn)端虛擬桌面,就像是訪問傳統(tǒng)的本地安裝的桌面一樣。通過改進(jìn)原有的DirectShow技術(shù)框架,構(gòu)建一個虛擬攝像頭Source Filter的方式,使得用戶能夠在虛擬桌面中無縫的使用本地攝像頭。通過改進(jìn)原有的DirectShow技術(shù)框架,構(gòu)建一個虛擬播放器Rendering Filter的方式,截獲用戶攝像頭對焦數(shù)據(jù)回顯的窗口坐標(biāo),然后在終端本地直接進(jìn)行反顯的方式,解決攝像頭在使用過程中的回顯數(shù)據(jù)的網(wǎng)絡(luò)帶寬占用問題。
[0027]以上所述僅為本發(fā)明的較佳實施用例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.VDI虛擬桌面中無縫使用云終端本地攝像頭的方法,其特征在于:包括如下步驟: 當(dāng)用戶通過客戶端遠(yuǎn)程登錄虛擬桌面,打開任意應(yīng)用程序使用攝像頭時,應(yīng)用程序通過DirectShow框架建立攝像頭使用鏈路過程中,啟動Source Filter虛擬攝像頭、Rendering Filter 虛擬播放器; 所述Source Filter虛擬攝像頭啟動時向重定向服務(wù)器端發(fā)送初始化請求,并等待所述重定向服務(wù)器端回復(fù)信息; 所述重定向服務(wù)器端通過基于TCP的虛擬通道向重定向客戶端發(fā)送初始化請求,所述重定向客戶端操作終端本地的真實攝像頭設(shè)備完成設(shè)備初始化配置,然后將相關(guān)信息返回給所述重定向服務(wù)器端; 所述重定向服務(wù)器端將信息返回給所述Source Filter虛擬攝像頭; 所述Rendering Filter虛擬播放器啟動時,獲取攝像頭數(shù)據(jù)顯示窗口的具體坐標(biāo)信息,將坐標(biāo)地址通過所述重定向服務(wù)器端發(fā)送給所述重定向客戶端,所述重定向客戶端通過任意方式保存坐標(biāo)位置; 鏈路建立成功后,所述Rendering Filter虛擬播放器通過DirectShow框架開始向所述Source Filter虛擬攝像頭請求攝像頭數(shù)據(jù); 所述Source Filter虛擬攝像頭將數(shù)據(jù)請求通過所述重定向服務(wù)器端發(fā)送給所述重定向客戶端,所述重定向客戶端操作終端本地的真實攝像頭設(shè)備獲取一幀的圖像數(shù)據(jù),然后通過流媒體壓縮算法進(jìn)行壓縮后回送給所述Source Filter虛擬攝像頭,所述SourceFilter虛擬攝像頭解壓后通過DirectShow框架傳遞給所述Rendering Filter虛擬播放器;同時所述重定向客戶端直接將圖像直接顯示在之前所述Rendering Filter虛擬播放器提供的屏幕坐標(biāo)位置上,完成攝像頭數(shù)據(jù)的回顯。
【文檔編號】H04L29/08GK103533034SQ201310452751
【公開日】2014年1月22日 申請日期:2013年9月28日 優(yōu)先權(quán)日:2013年9月28日
【發(fā)明者】楊明靜, 田凌翔 申請人:福建星網(wǎng)銳捷軟件有限公司, 福州大學(xué)