專利名稱:對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到遠(yuǎn)程接入技術(shù)領(lǐng)域,特別涉及到一種對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法和裝置。
背景技術(shù):
隨著虛擬化技術(shù)的普及與發(fā)展,企業(yè)會將大多數(shù)的業(yè)務(wù)軟件放到云端,然后通過遠(yuǎn)程應(yīng)用的方式發(fā)布,除了大多數(shù)如Word、0A、SAP等文本類應(yīng)用外,越來越多帶視頻的應(yīng)用也被作為遠(yuǎn)程應(yīng)用發(fā)布,而常用的遠(yuǎn)程桌面協(xié)議方案對視頻的體驗效果不是很好,這是因為視頻會快速更新桌面顯示,導(dǎo)致通過遠(yuǎn)程桌面協(xié)議傳輸給客戶端的圖像數(shù)據(jù)的數(shù)據(jù)量較大,特別是在低帶寬網(wǎng)絡(luò)環(huán)境下,視頻播放就會出現(xiàn)停頓、卡幀的情況。為此,大多數(shù)遠(yuǎn)程桌面協(xié)議都采用視頻重定向的方式來提高視頻體驗。視頻重定向是將服務(wù)器端播放的視頻原始文件直接轉(zhuǎn)送到客戶端,由客戶解碼并完成顯示,這種方法由于傳輸?shù)囊曨l原始文件通過各種視頻編碼算法對視頻進(jìn)行壓縮,使直接傳輸?shù)囊曨l文件的大小比遠(yuǎn)程桌面協(xié)議傳輸?shù)囊曨l圖像數(shù)據(jù)要小,從而減少了數(shù)據(jù)流,提高了用戶體驗。但是,采用視頻重定向的方式還是存在如下缺陷:一、服務(wù)端需要對各種視頻應(yīng)用的原始視頻流進(jìn)行截取,這樣,由于視頻應(yīng)用的種類較多,則會導(dǎo)致較多的兼容性問題。二、客戶端需要對相應(yīng)的視頻文件進(jìn)行解碼播放,這就對客戶端解碼能力與解碼性能有一定的限制。三、重定向視頻文件大小通常較為固定,而在帶寬不足以承載視頻文件時,也會造成視頻播放不流暢的問題,使得用戶體驗變差。
發(fā)明內(nèi)容
本發(fā)明的主要目的為提供一種對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法和裝置,旨在避免兼容性問題,減少對遠(yuǎn)程應(yīng)用客戶端解碼性能的限制,從而實現(xiàn)在各種帶寬環(huán)境下提高用戶遠(yuǎn)程視頻應(yīng)用的體驗。本發(fā)明提供一種對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法,包括:解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,獲取播放視頻所產(chǎn)生的圖像數(shù)據(jù),并確定所述圖像數(shù)據(jù)的視頻區(qū)域;提取所述視頻區(qū)域中的數(shù)據(jù)作為壓縮處理的原始數(shù)據(jù),并根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對所述原始數(shù)據(jù)進(jìn)行壓縮處理;根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,封裝壓縮處理后的所述原始數(shù)據(jù),并傳輸至遠(yuǎn)程應(yīng)用客戶端。優(yōu)選地,所述確定視頻區(qū)域包括:分析所獲取的所述遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)更新桌面顯示的頻率;
根據(jù)圖像數(shù)據(jù)更新桌面顯示的頻率,調(diào)用視頻應(yīng)用的繪圖接口函數(shù),確定所述圖像數(shù)據(jù)的視頻區(qū)域。優(yōu)選地,所述根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對所述原始數(shù)據(jù)進(jìn)行壓縮處理包括:統(tǒng)計網(wǎng)絡(luò)傳輸流量、網(wǎng)絡(luò)傳輸?shù)淖枞麪顩r和控測命令應(yīng)答時間,評估當(dāng)前網(wǎng)絡(luò)狀態(tài);探測當(dāng)前服務(wù)器的負(fù)載狀況,確定所述服務(wù)器的負(fù)載能力;根據(jù)所述網(wǎng)絡(luò)狀態(tài)和負(fù)載能力,調(diào)整對所述原始數(shù)據(jù)的壓縮率,根據(jù)調(diào)整后的所述壓縮率壓縮所述原始數(shù)據(jù)。優(yōu)選地,所述網(wǎng)絡(luò)狀態(tài)至少包括以下之一:網(wǎng)絡(luò)承載的最大帶寬、數(shù)據(jù)傳輸?shù)耐禃r延和丟包率。本發(fā)明還提供一種對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的裝置,包括:數(shù)據(jù)獲取模塊,用于解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,獲取播放視頻所產(chǎn)生的圖像數(shù)據(jù);區(qū)域確定模塊,用于確定所述圖像數(shù)據(jù)的視頻區(qū)域;壓縮處理模塊,用于提取所述視頻區(qū)域中的數(shù)據(jù)作為壓縮處理的原始數(shù)據(jù),并根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對所述原始數(shù)據(jù)進(jìn)行壓縮處理;封裝及傳輸模塊,用于根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,封裝壓縮處理后的所述原始數(shù)據(jù),并傳輸至遠(yuǎn)程應(yīng)用客戶端。優(yōu)選地,所述區(qū)域確定模塊包括:分析單元,用于分析所獲取的所述遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)更新桌面顯示的頻率;確定單元,用于根據(jù)圖像數(shù)據(jù)更新桌面顯示的頻率,調(diào)用視頻應(yīng)用的繪圖接口函數(shù),確定所述圖像數(shù)據(jù)的視頻區(qū)域。優(yōu)選地,所述壓縮處理模塊包括:網(wǎng)絡(luò)狀態(tài)評估單元,用于統(tǒng)計網(wǎng)絡(luò)傳輸流量、網(wǎng)絡(luò)傳輸?shù)淖枞麪顩r和控測命令應(yīng)答時間,評估當(dāng)前網(wǎng)絡(luò)狀態(tài);負(fù)載能力探測單元,用于探測當(dāng)前服務(wù)器的負(fù)載狀況,確定所述服務(wù)器的負(fù)載能力;調(diào)整及壓縮單元,用于根據(jù)所述網(wǎng)絡(luò)狀態(tài)和負(fù)載能力,調(diào)整對所述原始數(shù)據(jù)的壓縮率,根據(jù)調(diào)整后的所述壓縮率壓縮所述原始數(shù)據(jù)。優(yōu)選地,所述網(wǎng)絡(luò)狀態(tài)至少包括以下之一:網(wǎng)絡(luò)承載的最大帶寬、數(shù)據(jù)傳輸?shù)耐禃r延和丟包率。本發(fā)明通過協(xié)議代理服務(wù)器解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,獲取播放視頻所產(chǎn)生的圖像數(shù)據(jù),并確定圖像數(shù)據(jù)的視頻區(qū)域;提取該視頻區(qū)域中的數(shù)據(jù)作為壓縮處理的原始數(shù)據(jù),并根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對原始數(shù)據(jù)進(jìn)行壓縮處理;然后,根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,封裝壓縮處理后的原始數(shù)據(jù),并傳輸至遠(yuǎn)程應(yīng)用客戶端,實現(xiàn)遠(yuǎn)程視頻應(yīng)用。通過遠(yuǎn)程桌面協(xié)議與遠(yuǎn)程應(yīng)用服務(wù)端和遠(yuǎn)程應(yīng)用客戶端進(jìn)行交互,對遠(yuǎn)程應(yīng)用服務(wù)端播放視頻產(chǎn)生的圖像數(shù)據(jù)進(jìn)行壓縮處理,以減少視頻播放過程中的流量,從而避免了兼容性問題,減少了對遠(yuǎn)程應(yīng)用客戶端解碼性能的限制,從而實現(xiàn)了在各種帶寬環(huán)境下提高用戶遠(yuǎn)程視頻應(yīng)用的體驗。
圖1為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法一實施例的流程示意圖;圖2為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法中確定視頻區(qū)域的流程示意圖;圖3為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法中對原始數(shù)據(jù)進(jìn)行壓縮處理的流程示意圖;圖4為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的裝置一實施例的結(jié)構(gòu)示意圖;圖5為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的裝置中區(qū)域確定模塊的結(jié)構(gòu)示意圖;圖6為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的裝置中壓縮處理模塊的結(jié)構(gòu)示意圖。本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進(jìn)一步說明。
具體實施例方式應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明提供一種對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法,應(yīng)用于任何使用遠(yuǎn)程桌面協(xié)議的遠(yuǎn)程接入產(chǎn)品。遠(yuǎn)程桌面協(xié)議是指用于圖形化遠(yuǎn)程接入的一類協(xié)議,描述如何將遠(yuǎn)程服務(wù)器上的界面圖像傳輸?shù)奖镜睾腿绾螌⒈镜氐慕缑娌僮鱾鬏數(shù)竭h(yuǎn)程服務(wù)器上的協(xié)議;通過此類協(xié)議可以使用戶遠(yuǎn)程操作網(wǎng)絡(luò)另一端的計算機,被操作計算機的桌面圖像會顯示在用戶的顯示設(shè)備上,令用戶獲得操作本地設(shè)備一樣的體驗。如RDP、ICA, PcoIP, SPICE和VNC等都屬于遠(yuǎn)程桌面協(xié)議。遠(yuǎn)程應(yīng)用是指通過使用遠(yuǎn)程桌面協(xié)議實現(xiàn)的一類應(yīng)用程序,包括遠(yuǎn)程應(yīng)用發(fā)布、遠(yuǎn)程桌面或共享桌面等,屬于應(yīng)用虛擬化技術(shù),把應(yīng)用程序的人機交互邏輯(應(yīng)用程序界面、鍵盤及鼠標(biāo)的操作、音頻輸入輸出、讀卡器、打印輸出等)與計算邏輯隔離開來。在用戶訪問一個服務(wù)器虛擬化后的應(yīng)用時,用戶計算機只需要把人機交互邏輯通過遠(yuǎn)程桌面協(xié)議傳送到服務(wù)器端,服務(wù)器端為用戶開設(shè)獨立的會話空間,應(yīng)用程序的計算邏輯在這個會話空間中運行,把變化后的人機交互邏輯傳送給客戶端,并且在客戶端相應(yīng)的設(shè)備展示出來,從而使用戶獲得如同運行本地應(yīng)用程序一樣的訪問感受。這種從客戶端運行服務(wù)器上應(yīng)用的虛擬化技術(shù)就是遠(yuǎn)程應(yīng)用。本發(fā)明所提供的對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法,采用協(xié)議代理服務(wù)器,通過第一遠(yuǎn)程桌面協(xié)議和第二遠(yuǎn)程桌面協(xié)議分別與遠(yuǎn)程應(yīng)用服務(wù)端和遠(yuǎn)程應(yīng)用客戶端進(jìn)行交互,對遠(yuǎn)程應(yīng)用服務(wù)端播放視頻產(chǎn)生的圖像數(shù)據(jù)進(jìn)行壓縮處理,以減少視頻播放過程中的流量,實現(xiàn)遠(yuǎn)程應(yīng)用客戶端的遠(yuǎn)程視頻應(yīng)用。參照圖1,圖1為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法一實施例的流程示意圖。
本實施例所提供的對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法,包括:步驟S10,解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,獲取播放視頻所產(chǎn)生的圖像數(shù)據(jù),并確定圖像數(shù)據(jù)的視頻區(qū)域;在遠(yuǎn)程應(yīng)用客戶端需要進(jìn)行遠(yuǎn)程視頻應(yīng)用時,用于代理遠(yuǎn)程桌面協(xié)議的協(xié)議代理服務(wù)器接收到遠(yuǎn)程應(yīng)用客戶端通過第二遠(yuǎn)程桌面協(xié)議所發(fā)送的遠(yuǎn)程視頻應(yīng)用的人機交互邏輯后,通過第一遠(yuǎn)程桌面協(xié)議取得與遠(yuǎn)程應(yīng)用服務(wù)端之間的交互。然后,解析該第一遠(yuǎn)程桌面協(xié)議,以獲取遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù),并確定該圖像數(shù)據(jù)的視頻區(qū)域。步驟S20,提取視頻區(qū)域中的數(shù)據(jù)作為壓縮處理的原始數(shù)據(jù),并根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對原始數(shù)據(jù)進(jìn)行壓縮處理;在確定了遠(yuǎn)程應(yīng)用服務(wù)端所播放視頻的圖像數(shù)據(jù)的視頻區(qū)域后,將該視頻區(qū)域中的數(shù)據(jù)提取出來,并將所提取的數(shù)據(jù)作為進(jìn)行壓縮處理的原始數(shù)據(jù)。然后,根據(jù)所探測的當(dāng)前所處網(wǎng)絡(luò)環(huán)境下的網(wǎng)絡(luò)狀態(tài)和協(xié)議代理服務(wù)器的負(fù)載能力,對所提取的原始數(shù)據(jù)進(jìn)行壓縮處理,即完成對視頻圖像的降幀和視頻編碼等壓縮處理,本實施例中,對視頻圖像的原始數(shù)據(jù)進(jìn)行壓縮處理可以采用降幀、有損處理以及H264視頻編碼的方式來壓縮原始數(shù)據(jù)。步驟S30,根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,封裝壓縮處理后的原始數(shù)據(jù),并傳輸至遠(yuǎn)程應(yīng)用客戶端。對原始數(shù)據(jù)進(jìn)行壓縮處理后,根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,將壓縮處理后的原始數(shù)據(jù)進(jìn)行封裝,并將封裝后的原始數(shù)據(jù)傳輸至遠(yuǎn)程應(yīng)用客戶端,供其運行遠(yuǎn)程應(yīng)用服務(wù)端的視頻圖像,從而實現(xiàn)遠(yuǎn)程視頻應(yīng)用。本發(fā)明實施例,通過協(xié)議代理服務(wù)器解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,獲取播放視頻所產(chǎn)生的圖像數(shù)據(jù),并確定圖像數(shù)據(jù)的視頻區(qū)域;提取該視頻區(qū)域中的數(shù)據(jù)作為壓縮處理的原始數(shù)據(jù),并根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對原始數(shù)據(jù)進(jìn)行壓縮處理;然后,根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,封裝壓縮處理后的原始數(shù)據(jù),并傳輸至遠(yuǎn)程應(yīng)用客戶端,實現(xiàn)遠(yuǎn)程視頻應(yīng)用。通過遠(yuǎn)程桌面協(xié)議與遠(yuǎn)程應(yīng)用服務(wù)端和遠(yuǎn)程應(yīng)用客戶端進(jìn)行交互,對遠(yuǎn)程應(yīng)用服務(wù)端播放視頻產(chǎn)生的圖像數(shù)據(jù)進(jìn)行壓縮處理,以減少視頻播放過程中的流量,從而避免了兼容性問題,減少了對遠(yuǎn)程應(yīng)用客戶端解碼性能的限制,從而實現(xiàn)了在各種帶寬環(huán)境下提高用戶遠(yuǎn)程視頻應(yīng)用的體驗。參照圖2,圖2為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法中確定視頻區(qū)域的流程示意圖。在上述實施例中,步驟SlO中確定圖像數(shù)據(jù)的視頻區(qū)域包括:步驟S11,分析所獲取的遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)更新桌面顯示的頻率;步驟S12,根據(jù)圖像數(shù)據(jù)更新桌面顯示的頻率,調(diào)用視頻應(yīng)用的繪圖接口函數(shù),確定圖像數(shù)據(jù)的視頻區(qū)域。解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,并獲取到遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)之后,確定圖像數(shù)據(jù)的視頻區(qū)域時,首先分析圖像數(shù)據(jù)在播放時更新桌面顯示的頻率,而后根據(jù)圖像數(shù)據(jù)更新桌面顯示的頻率,調(diào)用協(xié)議代理服務(wù)器中視頻應(yīng)用的繪圖接口函數(shù),確定遠(yuǎn)程應(yīng)用客戶端所需要應(yīng)用的圖像數(shù)據(jù)的視頻區(qū)域。本實施例中,確定圖像數(shù)據(jù)的視頻區(qū)域可以采用啟發(fā)式視頻探測算法或API HOOK視頻應(yīng)用的方法進(jìn)行探測,當(dāng)然,也可采用其他探測方法。獲取到遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)之后,確定圖像數(shù)據(jù)的視頻區(qū)域時,分析所獲取的遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)更新桌面顯示的頻率,并根據(jù)圖像數(shù)據(jù)更新桌面顯示的頻率,調(diào)用視頻應(yīng)用的繪圖接口函數(shù),確定圖像數(shù)據(jù)的視頻區(qū)域,為減少對遠(yuǎn)程應(yīng)用客戶端解碼性能的限制提供了前提保證。參照圖3,圖3為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法中對原始數(shù)據(jù)進(jìn)行壓縮處理的流程示意圖。在上述實施例中,步驟S20包括:步驟S21,統(tǒng)計網(wǎng)絡(luò)傳輸流量、網(wǎng)絡(luò)傳輸?shù)淖枞麪顩r和控測命令應(yīng)答時間,評估當(dāng)前網(wǎng)絡(luò)狀態(tài);步驟S22,探測當(dāng)前服務(wù)器的負(fù)載狀況,確定服務(wù)器的負(fù)載能力;在確定了遠(yuǎn)程應(yīng)用服務(wù)端所播放視頻的圖像數(shù)據(jù)的視頻區(qū)域,并將該視頻區(qū)域中的數(shù)據(jù)提取出來作為進(jìn)行壓縮處理的原始數(shù)據(jù)之后,協(xié)議代理服務(wù)器通過統(tǒng)計網(wǎng)絡(luò)傳輸流量、網(wǎng)絡(luò)傳輸?shù)淖枞麪顩r和控測命令應(yīng)答時間等參數(shù),來評估當(dāng)前網(wǎng)絡(luò)狀態(tài),本實施例中,所評估出的網(wǎng)絡(luò)狀態(tài)至少可以包括網(wǎng)絡(luò)承載的最大帶寬、數(shù)據(jù)傳輸?shù)耐禃r延和丟包率等數(shù)據(jù)。同時,協(xié)議代理服務(wù)器探測當(dāng)前自身的負(fù)載狀況,即探測自身CPU和/或GPU的負(fù)載狀態(tài),從而進(jìn)一步確定服務(wù)器的負(fù)載能力。步驟S23,根據(jù)網(wǎng)絡(luò)狀態(tài)和負(fù)載能力,調(diào)整對原始數(shù)據(jù)的壓縮率,根據(jù)調(diào)整后的壓縮率壓縮原始數(shù)據(jù)。當(dāng)協(xié)議代理服務(wù)器評估出當(dāng)前網(wǎng)絡(luò)狀態(tài)和其自身的負(fù)載能力后,根據(jù)網(wǎng)絡(luò)狀態(tài)和負(fù)載能力,動態(tài)調(diào)整對原始數(shù)據(jù)進(jìn)行壓縮處理的壓縮率,該壓縮率為對原始數(shù)據(jù)進(jìn)行壓縮處理時所參照的壓縮幅度,即根據(jù)該壓縮率決定對原始數(shù)據(jù)進(jìn)行壓縮后的數(shù)據(jù)量。例如,當(dāng)前網(wǎng)絡(luò)狀態(tài)較差和/或服務(wù)器的負(fù)載能力較低時,則可以提高壓縮率,即降低圖像質(zhì)量,以減少視頻圖像的數(shù)據(jù)量,保證視頻播放的流暢性。在將所確定的視頻區(qū)域中的數(shù)據(jù)提取出來作為進(jìn)行壓縮處理的原始數(shù)據(jù)之后,統(tǒng)計網(wǎng)絡(luò)傳輸流量、網(wǎng)絡(luò)傳輸?shù)淖枞麪顩r和控測命令應(yīng)答時間來評估當(dāng)前網(wǎng)絡(luò)狀態(tài),同時探測當(dāng)前服務(wù)器的負(fù)載狀況,確定服務(wù)器的負(fù)載能力;并根據(jù)網(wǎng)絡(luò)狀態(tài)和負(fù)載能力,調(diào)整對原始數(shù)據(jù)的壓縮率,根據(jù)調(diào)整后的壓縮率壓縮原始數(shù)據(jù)。從而可以減少視頻圖像的數(shù)據(jù)量,保證了視頻播放的流暢性,并進(jìn)一步避免了兼容性問題,進(jìn)一步實現(xiàn)了在各種帶寬環(huán)境下提高用戶遠(yuǎn)程視頻應(yīng)用的體驗。本發(fā)明還提供一種對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的裝置。參照圖4,圖4為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的裝置一實施例的結(jié)構(gòu)示意圖。本實施例所提供的對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的裝置,包括:數(shù)據(jù)獲取模塊10,用于解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,獲取播放視頻所產(chǎn)生的圖像數(shù)據(jù);區(qū)域確定模塊20,用于確定圖像數(shù)據(jù)的視頻區(qū)域;壓縮處理模塊30,用于提取視頻區(qū)域中的數(shù)據(jù)作為壓縮處理的原始數(shù)據(jù),并根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對原始數(shù)據(jù)進(jìn)行壓縮處理;封裝及傳輸模塊40,用于根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,封裝壓縮處理后的原始數(shù)據(jù),并傳輸至遠(yuǎn)程應(yīng)用客戶端。在遠(yuǎn)程應(yīng)用客戶端需要進(jìn)行遠(yuǎn)程視頻應(yīng)用時,用于代理遠(yuǎn)程桌面協(xié)議的協(xié)議代理服務(wù)器接收到遠(yuǎn)程應(yīng)用客戶端通過第二遠(yuǎn)程桌面協(xié)議所發(fā)送的遠(yuǎn)程視頻應(yīng)用的人機交互邏輯后,通過第一遠(yuǎn)程桌面協(xié)議取得與遠(yuǎn)程應(yīng)用服務(wù)端之間的交互。然后,數(shù)據(jù)獲取模塊10解析該第一遠(yuǎn)程桌面協(xié)議,以獲取遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù),并通過區(qū)域確定模塊20確定該圖像數(shù)據(jù)的視頻區(qū)域。在確定了遠(yuǎn)程應(yīng)用服務(wù)端所播放視頻的圖像數(shù)據(jù)的視頻區(qū)域后,壓縮處理模塊30將該視頻區(qū)域中的數(shù)據(jù)提取出來,并將所提取的數(shù)據(jù)作為進(jìn)行壓縮處理的原始數(shù)據(jù)。然后,根據(jù)所探測的當(dāng)前所處網(wǎng)絡(luò)環(huán)境下的網(wǎng)絡(luò)狀態(tài)和協(xié)議代理服務(wù)器的負(fù)載能力,對所提取的原始數(shù)據(jù)進(jìn)行壓縮處理,即完成對視頻圖像的降幀和視頻編碼等壓縮處理,本實施例中,對視頻圖像的原始數(shù)據(jù)進(jìn)行壓縮處理可以采用降幀、有損處理以及H264視頻編碼的方式來壓縮原始數(shù)據(jù)。對原始數(shù)據(jù)進(jìn)行壓縮處理后,封裝及傳輸模塊40根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,將壓縮處理后的原始數(shù)據(jù)進(jìn)行封裝,并將封裝后的原始數(shù)據(jù)傳輸至遠(yuǎn)程應(yīng)用客戶端,供其運行遠(yuǎn)程應(yīng)用服務(wù)端的視頻圖像,從而實現(xiàn)遠(yuǎn)程視頻應(yīng)用。本發(fā)明實施例,通過協(xié)議代理服務(wù)器解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,獲取播放視頻所產(chǎn)生的圖像數(shù)據(jù),并確定圖像數(shù)據(jù)的視頻區(qū)域;提取該視頻區(qū)域中的數(shù)據(jù)作為壓縮處理的原始數(shù)據(jù),并根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對原始數(shù)據(jù)進(jìn)行壓縮處理;然后,根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,封裝壓縮處理后的原始數(shù)據(jù),并傳輸至遠(yuǎn)程應(yīng)用客戶端,實現(xiàn)遠(yuǎn)程視頻應(yīng)用。通過遠(yuǎn)程桌面協(xié)議與遠(yuǎn)程應(yīng)用服務(wù)端和遠(yuǎn)程應(yīng)用客戶端進(jìn)行交互,對遠(yuǎn)程應(yīng)用服務(wù)端播放視頻產(chǎn)生的圖像數(shù)據(jù)進(jìn)行壓縮處理,以減少視頻播放過程中的流量,從而避免了兼容性問題,減少了對遠(yuǎn)程應(yīng)用客戶端解碼性能的限制,從而實現(xiàn)了在各種帶寬環(huán)境下提高用戶遠(yuǎn)程視頻應(yīng)用的體驗。參照圖5,圖5為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的裝置中區(qū)域確定模塊的結(jié)構(gòu)示意圖。在上述實施例中,區(qū)域確定模塊20包括:分析單元21,用于分析所獲取的遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)更新桌面顯示的頻率;確定單元22,用于根據(jù)圖像數(shù)據(jù)更新桌面顯示的頻率,調(diào)用視頻應(yīng)用的繪圖接口函數(shù),確定圖像數(shù)據(jù)的視頻區(qū)域。解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,并獲取到遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)之后,確定圖像數(shù)據(jù)的視頻區(qū)域時,首先通過分析單元21分析圖像數(shù)據(jù)在播放時更新桌面顯示的頻率,而后確定單元22根據(jù)圖像數(shù)據(jù)更新桌面顯示的頻率,調(diào)用協(xié)議代理服務(wù)器中視頻應(yīng)用的繪圖接口函數(shù),確定遠(yuǎn)程應(yīng)用客戶端所需要應(yīng)用的圖像數(shù)據(jù)的視頻區(qū)域。本實施例中,確定圖像數(shù)據(jù)的視頻區(qū)域可以采用啟發(fā)式視頻探測算法或API HOOK視頻應(yīng)用的方法進(jìn)行探測,當(dāng)然,也可采用其他探測方法。獲取到遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)之后,確定圖像數(shù)據(jù)的視頻區(qū)域時,分析所獲取的遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)更新桌面顯示的頻率,并根據(jù)圖像數(shù)據(jù)更新桌面顯示的頻率,調(diào)用視頻應(yīng)用的繪圖接口函數(shù),確定圖像數(shù)據(jù)的視頻區(qū)域,為減少對遠(yuǎn)程應(yīng)用客戶端解碼性能的限制提供了前提保證。參照圖6,圖6為本發(fā)明對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的裝置中壓縮處理模塊的結(jié)構(gòu)示意圖。在上述實施例中,壓縮處理模塊30包括:網(wǎng)絡(luò)狀態(tài)評估單元31,用于統(tǒng)計網(wǎng)絡(luò)傳輸流量、網(wǎng)絡(luò)傳輸?shù)淖枞麪顩r和控測命令應(yīng)答時間,評估當(dāng)前網(wǎng)絡(luò)狀態(tài);負(fù)載能力探測單元32,用于探測當(dāng)前服務(wù)器的負(fù)載狀況,確定服務(wù)器的負(fù)載能力;調(diào)整及壓縮單元33,用于根據(jù)網(wǎng)絡(luò)狀態(tài)和負(fù)載能力,調(diào)整對原始數(shù)據(jù)的壓縮率,根據(jù)調(diào)整后的壓縮率壓縮原始數(shù)據(jù)。在確定了遠(yuǎn)程應(yīng)用服務(wù)端所播放視頻的圖像數(shù)據(jù)的視頻區(qū)域,并將該視頻區(qū)域中的數(shù)據(jù)提取出來作為進(jìn)行壓縮處理的原始數(shù)據(jù)之后,協(xié)議代理服務(wù)器的網(wǎng)絡(luò)狀態(tài)評估單元31通過統(tǒng)計網(wǎng)絡(luò)傳輸流量、網(wǎng)絡(luò)傳輸?shù)淖枞麪顩r和控測命令應(yīng)答時間等參數(shù),來評估當(dāng)前網(wǎng)絡(luò)狀態(tài),本實施例中,所評估出的網(wǎng)絡(luò)狀態(tài)至少可以包括網(wǎng)絡(luò)承載的最大帶寬、數(shù)據(jù)傳輸?shù)耐禃r延和丟包率等數(shù)據(jù)。同時,協(xié)議代理服務(wù)器的負(fù)載能力探測單元32探測當(dāng)前自身的負(fù)載狀況,即探測自身CPU和/或GPU的負(fù)載狀態(tài),從而進(jìn)一步確定服務(wù)器的負(fù)載能力。當(dāng)協(xié)議代理服務(wù)器評估出當(dāng)前網(wǎng)絡(luò)狀態(tài)和其自身的負(fù)載能力后,調(diào)整及壓縮單元33根據(jù)網(wǎng)絡(luò)狀態(tài)和負(fù)載能力,動態(tài)調(diào)整對原始數(shù)據(jù)進(jìn)行壓縮處理的壓縮率,該壓縮率為對原始數(shù)據(jù)進(jìn)行壓縮處理時所參照的壓縮幅度,即根據(jù)該壓縮率決定對原始數(shù)據(jù)進(jìn)行壓縮后的數(shù)據(jù)量。例如,當(dāng)前網(wǎng)絡(luò)狀態(tài)較差和/或服務(wù)器的負(fù)載能力較低時,則可以提高壓縮率,即降低圖像質(zhì)量,以減少視頻圖像的數(shù)據(jù)量,保證視頻播放的流暢性。在將所確定的視頻區(qū)域中的數(shù)據(jù)提取出來作為進(jìn)行壓縮處理的原始數(shù)據(jù)之后,統(tǒng)計網(wǎng)絡(luò)傳輸流量、網(wǎng)絡(luò)傳輸?shù)淖枞麪顩r和控測命令應(yīng)答時間來評估當(dāng)前網(wǎng)絡(luò)狀態(tài),同時探測當(dāng)前服務(wù)器的負(fù)載狀況,確定服務(wù)器的負(fù)載能力;并根據(jù)網(wǎng)絡(luò)狀態(tài)和負(fù)載能力,調(diào)整對原始數(shù)據(jù)的壓縮率,根據(jù)調(diào)整后的壓縮率壓縮原始數(shù)據(jù)。從而可以減少視頻圖像的數(shù)據(jù)量,保證了視頻播放的流暢性,并進(jìn)一步避免了兼容性問題,進(jìn)一步實現(xiàn)了在各種帶寬環(huán)境下提高用戶遠(yuǎn)程視頻應(yīng)用的體驗。以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍。
權(quán)利要求
1.一種對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法,其特征在于,包括: 解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,獲取播放視頻所產(chǎn)生的圖像數(shù)據(jù),并確定所述圖像數(shù)據(jù)的視頻區(qū)域; 提取所述視頻區(qū)域中的數(shù)據(jù)作為壓縮處理的原始數(shù)據(jù),并根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對所述原始數(shù)據(jù)進(jìn)行壓縮處理; 根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,封裝壓縮處理后的所述原始數(shù)據(jù),并傳輸至遠(yuǎn)程應(yīng)用客戶端。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定視頻區(qū)域包括: 分析所獲取的所述遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)更新桌面顯示的頻率; 根據(jù)圖像數(shù)據(jù)更新桌面顯示的頻率,調(diào)用視頻應(yīng)用的繪圖接口函數(shù),確定所述圖像數(shù)據(jù)的視頻區(qū)域。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對所述原始數(shù)據(jù)進(jìn)行壓縮處理包括: 統(tǒng)計網(wǎng)絡(luò)傳輸流量、網(wǎng)絡(luò)傳輸?shù)淖枞麪顩r和控測命令應(yīng)答時間,評估當(dāng)前網(wǎng)絡(luò)狀態(tài); 探測當(dāng)前服務(wù)器的負(fù)載狀況,確定所述服務(wù)器的負(fù)載能力; 根據(jù)所述網(wǎng)絡(luò)狀態(tài)和負(fù)載能力,調(diào)整對所述原始數(shù)據(jù)的壓縮率,根據(jù)調(diào)整后的所述壓縮率壓縮所述原始數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述網(wǎng)絡(luò)狀態(tài)至少包括以下之一:網(wǎng)絡(luò)承載的最大帶寬、數(shù)據(jù)傳輸?shù)耐禃r延和丟包率。
5.一種對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的裝置,其特征在于,包括: 數(shù)據(jù)獲取模塊,用于解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,獲取播放視頻所產(chǎn)生的圖像數(shù)據(jù); 區(qū)域確定模塊,用于確定所述圖像數(shù)據(jù)的視頻區(qū)域; 壓縮處理模塊,用于提取所述視頻區(qū)域中的數(shù)據(jù)作為壓縮處理的原始數(shù)據(jù),并根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對所述原始數(shù)據(jù)進(jìn)行壓縮處理; 封裝及傳輸模塊,用于根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,封裝壓縮處理后的所述原始數(shù)據(jù),并傳輸至遠(yuǎn)程應(yīng)用客戶端。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述區(qū)域確定模塊包括: 分析單元,用于分析所獲取的所述遠(yuǎn)程應(yīng)用服務(wù)端播放視頻所產(chǎn)生的圖像數(shù)據(jù)更新桌面顯示的頻率; 確定單元,用于根據(jù)圖像數(shù)據(jù)更新桌面顯示的頻率,調(diào)用視頻應(yīng)用的繪圖接口函數(shù),確定所述圖像數(shù)據(jù)的視頻區(qū)域。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述壓縮處理模塊包括: 網(wǎng)絡(luò)狀態(tài)評估單元,用于統(tǒng)計網(wǎng)絡(luò)傳輸流量、網(wǎng)絡(luò)傳輸?shù)淖枞麪顩r和控測命令應(yīng)答時間,評估當(dāng)前網(wǎng)絡(luò)狀態(tài); 負(fù)載能力探測單元,用于探測當(dāng)前服務(wù)器的負(fù)載狀況,確定所述服務(wù)器的負(fù)載能力;調(diào)整及壓縮單元,用于根據(jù)所述網(wǎng)絡(luò)狀態(tài)和負(fù)載能力,調(diào)整對所述原始數(shù)據(jù)的壓縮率,根據(jù)調(diào)整后的所述壓縮率壓縮所述原始數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述網(wǎng)絡(luò)狀態(tài)至少包括以下之一:網(wǎng)絡(luò)承載的最大帶寬、數(shù)據(jù)傳輸?shù)?往返時延和丟包率。
全文摘要
本發(fā)明公開了一種對遠(yuǎn)程應(yīng)用視頻播放進(jìn)行優(yōu)化的方法,包括解析與遠(yuǎn)程應(yīng)用服務(wù)端之間的第一遠(yuǎn)程桌面協(xié)議,獲取播放視頻所產(chǎn)生的圖像數(shù)據(jù),并確定圖像數(shù)據(jù)的視頻區(qū)域;提取視頻區(qū)域中的數(shù)據(jù)作為壓縮處理的原始數(shù)據(jù),并根據(jù)網(wǎng)絡(luò)狀態(tài)和服務(wù)器的負(fù)載能力,對原始數(shù)據(jù)進(jìn)行壓縮處理;根據(jù)與遠(yuǎn)程應(yīng)用客戶端之間的第二遠(yuǎn)程桌面協(xié)議,封裝壓縮處理后的原始數(shù)據(jù),并傳輸至遠(yuǎn)程應(yīng)用客戶端。本發(fā)明還公開了相應(yīng)的裝置。采用本發(fā)明所公開的方案,避免了兼容性問題,減少了對遠(yuǎn)程應(yīng)用客戶端解碼性能的限制,從而實現(xiàn)了在各種帶寬環(huán)境下提高用戶遠(yuǎn)程視頻應(yīng)用的體驗。
文檔編號H04N21/647GK103139609SQ20131004121
公開日2013年6月5日 申請日期2013年2月1日 優(yōu)先權(quán)日2013年2月1日
發(fā)明者毛鑫, 姜正文, 林彥 申請人:深圳市深信服電子科技有限公司