前言:想要寫出一篇引人入勝的文章?我們特意為您整理了視頻云制作下云桌面應用設計范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:云桌面?zhèn)鬏攨f(xié)議是云桌面的核心技術之一,其決定著云桌面的傳輸效率和使用效果,業(yè)界廠商的解決方案側重點也各不相同。在桌面?zhèn)鬏斨校?a href="http://mug-factory.cn/lunwen/spzzlw/189830.html" target="_blank">視頻的流暢度與每一幀的畫面質量之間是一對矛盾,而好的用戶體驗既要優(yōu)秀的操作流暢度,也要高質量的傳輸畫面。本設計方案主要針對視頻云制作的場景,在服務端集成主流GPU的編碼SDK,在客戶端提供回傳畫面編碼參數配置,從而靈活滿足視頻非編的場景需求。
關鍵詞:云桌面傳輸協(xié)議云制作
1引言
在2006年8月9日的搜索引擎大會上,時任Google首席執(zhí)行官的埃里克·施密特首次提出了云計算的概念。自此之后,“云計算”成為近年來計算機領域最熱門的話題之一,越來越多的組織和個人加入云計算的研究,其價值不斷被發(fā)掘,互聯(lián)網產品和IT服務出現(xiàn)了新的模式。VDI,即虛擬桌面基礎設施,也常被稱為云桌面、虛擬桌面或桌面虛擬化,是云計算的主要產品形式之一。相對于傳統(tǒng)PC,VDI中的虛擬桌面更加靈活便捷,也更加綠色環(huán)保。遠程桌面協(xié)議種類頗多,業(yè)界廠商的解決方案側重點也各不相同,很難說誰優(yōu)誰劣。VDI中客戶端與虛擬桌面分離的模式使得遠程桌面協(xié)議必須依賴于實際網絡環(huán)境,而好的用戶體驗既要流暢度也要畫面質量,因此,對遠程桌面協(xié)議來說,只能在有限的資源下做出適當的取舍以呈現(xiàn)出相對最好的用戶體驗[1]。傳輸協(xié)議是云桌面技術中重要的技術內容。傳輸協(xié)議的效率決定了云桌面的基本交付能力,而對傳輸協(xié)議中的承載協(xié)議、圖形圖像的處理方式則決定了云桌面的交互體驗,不同協(xié)議有著自身的特色和適用空間[2]。
2應用方案
2.1傳輸編碼設計
本方案的設計主要面向視頻云制作領域,在滿足延時性要求的前提下盡可能地提升傳輸畫面質量,實現(xiàn)視頻非編的遠程制作。傳輸協(xié)議構建在WebSocket協(xié)議之上,使得客戶端和服務器之間的數據交換變得更加簡單,允許服務端主動向客戶端推送數據。在WebSocketAPI中,瀏覽器和服務器只需要完成一次握手,兩者之間就可以直接創(chuàng)建持久性的連接,并進行雙向數據傳輸。云桌面?zhèn)鬏斄鞒倘鐖D1所示。云桌面?zhèn)鬏攨f(xié)議主要包含視頻數據、音頻數據、控制流數據(鍵鼠操作數據)等。其中,音視頻的編解碼參考了主流編碼方式。音頻采用的Opus格式是一種開放格式,使用上沒有任何專利或限制,是在流媒體中一種比較常用的格式;采樣率和碼率可以按需進行配置,而云桌面非編場景對音頻質量沒有更為嚴苛的需求;視頻編碼采用H.264標準,結合協(xié)議的實際應用場景,在視頻云制作的服務器上會配置GPU。因此,在傳輸協(xié)議中不采用集成libx264的軟件編碼方案,而選用集成市場主流的GPU廠家的硬件編碼SDK,以提升編碼效率。在客戶端集成FFmpeg,實現(xiàn)H.264的協(xié)議解碼。針對控制流數據進行編碼設計,定義接口實現(xiàn)方式。其中,鍵盤編碼參照了微軟設計的虛擬鍵盤值,并增加定義Alt/Shift/Ctrl狀態(tài)、小鍵盤以及大小寫開關等鍵盤參數,滿足對主流非編軟件的遠程操作使用。
2.2功能實現(xiàn)
2.2.1云桌面實現(xiàn)的主要流程??蛻舳讼蚍斩税l(fā)起建立連接的請求→服務端接收客戶端的連接請求,驗證請求參數→服務端通過驗證后,完成與客戶端的雙向網絡通道的建立→服務端不斷對遠程機器進行抓屏和音頻采集,將桌面畫面和音頻數據編碼壓縮后的流數據通過網絡通道發(fā)送給客戶端→客戶端將收到的音視頻流數據進行解碼、渲染播放→客戶端通過網絡通道發(fā)送鍵盤鼠標數據,服務端接收鍵盤鼠標數據進行響應→客戶端主動斷開連接退出程序,服務端斷開連接等待下次請求。2.2.2具體實現(xiàn)步驟。(1)客戶端攜帶各項參數向服務端發(fā)起建立連接的請求。云桌面連接請求參數如表1所示。(2)服務端接收請求之后,驗證密碼等參數。如果驗證方式是用戶名密碼,服務端則會對客戶端提交的用戶名和密碼進行驗證;如果驗證方式是隨機碼,服務端則會驗證客戶端提交的隨機碼;如果驗證方式是無,服務端則不會進行驗證直接繼續(xù)后續(xù)流程??蛻舳说卿浗缑嫒鐖D2所示。至于客戶端提交的視頻和音頻參數,服務端和客戶端可在步驟(4)(5)中利用表1中的參數來處理音視頻。(3)服務端與客戶端建立雙向網絡通道。此步驟基于WebSocket協(xié)議建立起雙向傳輸的網絡通道,用于傳輸客戶端和服務器的串流數據、鼠標鍵盤控制指令數據。客戶端登錄視頻編碼設置界面如圖3所示。(4)服務端音視頻處理。首先,遠程機器進行畫面采集(采集D3D的數據)、音頻采集(采集出PCM格式的數據)。其次,進行編碼壓縮,視頻編碼通過GPU硬件編碼器將D3D的數據轉換成H.264的碼流;音頻編碼通過Opus編碼器將PCM的數據轉換成Opus的碼流。最后,通過WebSocket網絡通道傳輸數據到客戶端。(5)客戶端音視頻處理。首先,通過WebSocket網絡通道接收服務端傳過來的碼流數據;其次,進行視頻解碼(將H.264的碼流解碼成YUV)和音頻解碼(通過Opus編碼器將Opus的碼流解碼成PCM);最后,進行視頻渲染播放(將解碼后的YUV進行渲染展示)和音頻渲染播放(將解碼后的PCM進行渲染展示)。(6)客戶端、服務端鍵盤鼠標處理。首先,客戶端監(jiān)聽用戶的本地鍵鼠操作事件;其次,將客戶端監(jiān)聽到的用戶本地鍵鼠操作事件數據通過Web-Socket網絡通道傳輸給服務端;最后,服務端將接收到的事件傳給遠程機器上的操作系統(tǒng)。(7)斷開連接??蛻舳税l(fā)送斷開的請求到服務端,退出程序;服務端停止采集、編碼、傳輸,等待下次連接請求。
2.3傳輸性能
為滿足視頻非編的制作需求,經多方調研和反復測試,擬制定云桌面的視頻傳輸配置,具體如表2所示。按照上文中音視頻編解碼設定的參數,在局域網中對傳輸協(xié)議進行可用性的性能測試,結果如表3所示。事實上,鍵鼠操作編碼的上行數據量相較于下行的視頻數據要小得多,鍵鼠操作的解碼執(zhí)行響應效率也相對較高。測試結果表明,在局域網環(huán)境下,低于100ms的操作體驗可以滿足日常工作要求。非編對于視頻碼率有硬性要求,同時為保證延時可控,對帶寬要求較高。壓力主要在于云端服務器下行網絡帶寬,尤其是傳輸超高清視頻流時,實時碼率會達到50~60Mb/s。為保證畫面流暢和可用性,如果多人使用同一臺云端非編服務器時,在服務器端應考慮配置萬兆網卡,提高服務端出口的下行帶寬。該云桌面?zhèn)鬏敺桨钢饕獞脠鼍笆轻槍Χ桃曨l及高清視頻的輕量級非編設計,或在校師生的教學場景,該方案可使從業(yè)人員以及學校降低硬件投入成本和實驗室建設費用。
3結語
目前,視頻云制作行業(yè)的常規(guī)實現(xiàn)方式是通過遠程桌面技術來實時遠程操控云桌面中運行的設計制作應用。本文論述的應用方案的目的在于克服常見的VDI協(xié)議傳輸功能上的不足,尤其是在音視頻和3D模型等遠程制作場景之中,本方案設計的傳輸方式更為靈活方便?;贖.264視頻壓縮算法和英偉達、AMD顯卡的編解碼技術實現(xiàn)了遠程制作場景的適配,在滿足云桌面基本功能的情況下支持GPU硬件加速。同時,還提供了靈活調整視頻回傳參數的界面,方便用戶根據需要對音視頻參數做個性化設置,在視頻云制作領域為使用者提供了一種可行的應用方案。
參考文獻:
[1]李康,陳清華.分析對比VDI常用的幾種遠程桌面協(xié)議[J].信息系統(tǒng)工程,2020(1):111-113.
[2]李乘東.云桌面遠程傳輸協(xié)議綜述[J].現(xiàn)代電信科技,2014,44(8):23-26+32.
作者:牛泰龍 常琳 脫羚 單位:國家廣播電視總局廣播電視科學研究院