(1)在服務端編寫瀏覽器插件,用於獲取播放Flash視頻的Flash文件的URL;
(2)將Flash文件URL發送至客戶端,客戶端創建一個簡單的瀏覽器,使用相同的參數加載該文件。
理論上講,至此就可以實現Flash文件的重定向。由於是將Flash文件重定向至客戶端,所以也就不存在無法獲取視頻源的問題,因為視頻源的獲取將由客戶端的瀏覽器完成。同時,在客戶端呈現的就是Flash視頻播放器界麵,用戶將直接對客戶端本地的Flash播放器進行如播放、暫停等等操作,因此也就不存在用戶操作的問題了。
最後一個問題,即前麵所述的網絡受限問題,到目前為止還沒有解決。如果客戶端網絡受限,那麼運行在客戶端上的瀏覽器將無法直接訪問互聯網,也就無法加載Flash文件。但此時,服務端的網絡是不受限的;也就是說,運行於服務端的軟件可以任意地訪問位於互聯網的資源。據此,使用一種基於虛擬通道的網絡代理方法,即可解決上述問題。
基於虛擬通道的網絡代理方法,在服務端搭建服務端用基於虛擬通道的特殊代理服務器(即“服務端代理”),當用戶遠程登錄到服務端時啟動,並建立一條特殊代理服務器專用虛擬通道(即“專用虛擬通道”);在客戶端運行一個客戶端用基於虛擬通道的特殊代理服務器(即“客戶端代理”),負責代理客戶端中軟件的網絡請求;其它客戶端軟件(即“客戶端軟件”)在訪問互聯網資源時,將客戶端代理設置為其代理服務器,並通過客戶端代理發送網絡請求;客戶端代理接收到來自其它運行於客戶端軟件的網絡代理請求後,將該請求通過專用虛擬通道發送到服務端代理處;服務端代理從專用虛擬通道接收來自客戶端代理的代理請求後,將該請求發向互聯網,並接收來自互聯網的響應;服務端代理接收到來自互聯網的響應後,將該響應通過專用虛擬通道發送到客戶端代理處;客戶端代理接收到來自專用虛擬通道的響應後,將響應發送到客戶端軟件,完成一次代理過程。
如此,客戶端可以通過特殊代理從服務器接收的原始壓縮多媒體流,並在本地解碼顯示。這將減少帶寬的使用,因為在網絡上傳輸的數據是被壓縮的視頻,而不是一係列未壓縮的位圖。此時帶寬占用將與從視頻服務器播放流內容或者通過文件共享方式播放服務器上的視頻類似。另外,無論播放視頻的窗口大小如何,甚至是全屏播放,帶寬的占用率都將保持不變。
這種方法還可以節省服務器資源,服務器不再花費CPU資源解碼視頻內容並進行二次編碼,視頻解碼全由客戶端負責。即使是在客戶端上渲染,視頻顯示在屏幕上的內容也將是無縫的。
三、結論
本文使用了一種基於虛擬通道的Flash映射技術,大幅度提升了在VDI環境下播放網頁Flash視頻的效果,提高了VDI環境下的用戶體驗。
參考文獻
[1]Wikipedia.Virtualization.Wikipedia[Online][Cited:4 20,2012].
[2]舒文瓊,思傑.桌麵虛擬化將成主流[J].通信世界,2010.
[3]Wikipedia.Desktop Virtualization.Wikipedia[Online][Cited:4 20,2012].