亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        HTML5 視頻重定向在桌面虛擬化中的應(yīng)用

        2021-08-02 07:40:34翟海波車剛健
        軟件導(dǎo)刊 2021年7期
        關(guān)鍵詞:重定向音視頻桌面

        翟海波,車剛健

        (中興通訊股份有限公司,江蘇南京 210000)

        0 引言

        伴隨云計(jì)算技術(shù)發(fā)展,上“云”已經(jīng)成為一種趨勢。虛擬化技術(shù)作為云計(jì)算最重要的技術(shù),從某種角度來說它是云計(jì)算的基石[1]。桌面虛擬化[2]作為虛擬化的一個(gè)重要解決方案,目的是使資源能按需分配、統(tǒng)一調(diào)度和管理,具有低能耗、低成本、安全性高、易于升級(jí)和維護(hù)等優(yōu)點(diǎn),能為企業(yè)節(jié)省運(yùn)營成本和維護(hù)成本。

        多媒體視頻重定向在桌面虛擬化中是一個(gè)巨大挑戰(zhàn),尤其是在服務(wù)器資源有限、帶寬受到限制的情況下會(huì)面臨很多問題,如視頻卡頓、畫面和聲音延遲以及音視頻不同步等。目前針對(duì)視頻重定向大都是基于本地視頻,而對(duì)于在線視頻大都停留在Flash 播放的視頻,但Flash 視頻依賴于控件,用戶需要事先安裝該控件。此外,Adobe 公司已經(jīng)宣布停止對(duì)Flash 更新,F(xiàn)lash 退出歷史舞臺(tái)是遲早的事。隨著HTML5 技術(shù)的發(fā)展,尤其是其對(duì)視頻標(biāo)簽的支持,促使各大廠商紛紛加入,如優(yōu)酷、土豆、騰訊等,給桌面虛擬化帶來了新的機(jī)遇和挑戰(zhàn)。本文研究了一種基于HTML5的在線視頻重定向方案。

        1 相關(guān)技術(shù)介紹

        1.1 桌面虛擬化

        桌面虛擬化,簡單說就是服務(wù)器通過虛擬化技術(shù)創(chuàng)建很多虛機(jī),通過桌面協(xié)議與云終端進(jìn)行交互后畫面回顯的一種解決方案,用戶訪問的桌面就像是訪問傳統(tǒng)的本地桌面一樣。目前市場上主流解決方案有Cirtix 公司的XenDesktop[3-5]、Vmware 公司的Horizon View[6]、Microsoft 的MED-V[7]以及中興的云電腦等,它們分別使用ICA、PCOIP、RDP、ICE 協(xié)議完成服務(wù)器與云終端之間的交互。盡管從解決方案的制定到協(xié)議的交互存在著差異,但無論哪種虛擬化解決方案總體都遵循如圖1 所示的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。

        Fig.1 Desktop virtualization network architecture圖1 桌面虛擬化網(wǎng)絡(luò)拓?fù)浼軜?gòu)

        1.2 HTML 5 視頻

        2012 年12 月萬維網(wǎng)聯(lián)盟(W3C)正式宣布HTML 5[8]規(guī)范完成,其新增的video 標(biāo)記實(shí)現(xiàn)了多媒體支持,借助Vid?eo API 可以自定義HTML 視頻控件,瀏覽器不必再使用插件方式播放視頻,避免了插件的影響。在HTML5 技術(shù)出現(xiàn)之前,大部分Web 視頻播放是通過瀏覽器插件如Adobe Flash 實(shí)現(xiàn)的,這要求客戶在觀看視頻之前安裝相應(yīng)的組件。文獻(xiàn)[9]指出HTML 5 使命是將Web 帶入一個(gè)成熟的平臺(tái),在這個(gè)平臺(tái)上,視頻、音頻、圖像、動(dòng)畫以及更多的智能設(shè)備交互被標(biāo)準(zhǔn)化。目前國內(nèi)外主流瀏覽器的最新版本均支持HTML5的主要特性[10],如IE 9+,F(xiàn)irefox,Chrome、Opera 以及Safari 都支持

        1.3 視頻重定向

        在桌面虛擬化應(yīng)用中,視頻重定向技術(shù)指服務(wù)器上部署的虛擬機(jī)播放視頻通過某種技術(shù)手段在客戶端或云終端進(jìn)行渲染。文獻(xiàn)[12-14]介紹了該技術(shù)手段包括通道技術(shù)、鉤子技術(shù)以及基于WDDM 驅(qū)動(dòng)等,實(shí)現(xiàn)有兩種方式:①將服務(wù)端的多媒體視頻播放圖像重新進(jìn)行視頻編碼處理,然后將視頻編碼數(shù)據(jù)傳輸?shù)娇蛻舳诉M(jìn)行解碼播放顯示;②視頻重定向方式,通過捕獲服務(wù)端播放器需要播放的視頻編碼流,直接將視頻編碼流發(fā)送到客戶端進(jìn)行解碼播放顯示。

        文獻(xiàn)[15]通過開發(fā)BHO 插件,結(jié)合鉤子技術(shù)攔截網(wǎng)頁視頻文件獲取視頻參數(shù)。在網(wǎng)絡(luò)允許的情況下將獲取的url 信息直接發(fā)往客戶端進(jìn)行播放;在網(wǎng)絡(luò)受限的情況下將HTTP 請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)到客戶端進(jìn)行播放,但該方法僅適用于老的Flash 播放器。在各大視頻網(wǎng)站紛紛支持HTML 5視頻標(biāo)簽的形勢下,未來HTML5 視頻重定向必定是研究熱點(diǎn)之一。

        2 HTML 5 視頻重定向方案設(shè)計(jì)

        2.1 Windows Media Fundation

        基于HTML 5 播放視頻研究與Flash 視頻重定向相比,HTML 5 視頻重定向采用了一種全新方式。HTML5 視頻播放架構(gòu)采用Windows Media Fundation(簡稱WMF)[16],該架構(gòu)將取代較早的Dshow 播放架構(gòu);WMF 架構(gòu)是由一套組件串起來的,類似于Dshow 的filter。通過把這些component 組合,形成pipeline,就可完成多媒體應(yīng)用程序所需的各種功能。與directshow[17]鏈接filter 一樣,在保持filter 功能獨(dú)立性的同時(shí)又提供靈活多變的組合功能。Media Foundation提供了Media Pipeline 和Souce Reader &Sink Writer 兩種編程模型,本文采用的是Media Pipeline 模式,其核心組件如圖2 所示。

        Fig.2 Media Pipeline model圖2 Media Pipeline 模式

        使用一個(gè)端到端Pipeline,類似DShow 中使用Graph?Builder、Filter 的模式。

        Media Session:控制貫穿Pipeline 的數(shù)據(jù)流動(dòng)和處理任務(wù)(如質(zhì)量控制、視音頻同步、響應(yīng)格式改變),類似DShow中的GraphBuilder。

        Media Sources:類似DShow 中的Source Filters,接收來自本地文件或網(wǎng)絡(luò)的數(shù)據(jù)并交給后面組件處理。此外還進(jìn)行音視頻數(shù)據(jù)解復(fù)用并輸出。

        Media Foundation Transforms(MFTs):類似DShow 中的Transform Filters,用來接收Media sources 的輸入,然后完成解碼、轉(zhuǎn)換輸出。

        Media Sink:類似DShow 中的Render,該組件用來進(jìn)行最終數(shù)據(jù)的渲染。

        2.2 虛機(jī)內(nèi)部設(shè)計(jì)

        本文通過截獲源數(shù)據(jù)改變?cè)械囊曨l數(shù)據(jù)流向,從而實(shí)現(xiàn)視頻數(shù)據(jù)的重定向。在了解WMF 播放結(jié)構(gòu)后,通過替換原有的Media Source 就能截獲到原始數(shù)據(jù)。通過替換MFTs,一方面可以將真實(shí)數(shù)據(jù)通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)到云終端上進(jìn)行播放,另一方面為了MF 架構(gòu)能夠正常運(yùn)轉(zhuǎn),可以偽造RGB[18]數(shù)據(jù)和PCM 靜音數(shù)據(jù)交由系統(tǒng)處理。修改后的架構(gòu)如圖3 所示。

        Fig.3 MF reconstruction playback architecture圖3 MF 重構(gòu)播放架構(gòu)

        各部件主要功能如下:①自研的Media Sources 對(duì)網(wǎng)絡(luò)接收到的音視頻數(shù)據(jù)進(jìn)行解析和解封裝;②自研的MFTs一方面對(duì)真實(shí)音視頻數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到云終端,另一方面?zhèn)卧霷GB 視頻數(shù)據(jù)和PCM 靜音數(shù)據(jù)交由系統(tǒng)Media Sink 處理;③Media Sink 完成音視頻播放和渲染;④云終端接收音視頻數(shù)據(jù)并進(jìn)行解碼渲染。

        本文設(shè)計(jì)的關(guān)鍵點(diǎn)是對(duì)RGB 數(shù)據(jù)構(gòu)造以及對(duì)PCM 靜音數(shù)據(jù)構(gòu)造。其中PCM 靜音數(shù)據(jù)以全0 的方式進(jìn)行構(gòu)造,相對(duì)比較簡單,但構(gòu)造RGB 數(shù)據(jù)需要考慮多方面因素,目的是能夠通過像素對(duì)比進(jìn)行視頻窗口區(qū)域的捕獲,具體需要從以下兩方面考慮:

        (1)構(gòu)造的RGB 數(shù)據(jù)需要與源視頻比例保持一致;即源視頻寬W 和原視頻高H 滿足如下公式:

        其中:W1、H1分別表示原視頻的寬度和高度;W2、H2分別表示構(gòu)造RGB 流的寬度和高度;這里W2 和H2 要盡可能小,這樣可有效降低渲染帶來的CPU 消耗。

        (2)構(gòu)造的RGB 數(shù)據(jù)盡量與Web 頁面像素不同,以便于查找整個(gè)源視頻區(qū)域。

        本文以接近黑色像素RGB(2,1,3)來偽造視頻數(shù)據(jù),這樣一方面可使MF 播放架構(gòu)正常運(yùn)轉(zhuǎn),即讀取音視頻數(shù)據(jù)、解復(fù)用、解碼、渲染等步驟正常運(yùn)行;另一方面,通過區(qū)域像素提取方法判斷源視頻區(qū)域大小S源,然后再計(jì)算視頻有效區(qū)域S有效或遮擋區(qū)域S遮擋。無遮擋窗口和有遮擋窗口場景如圖4 所示,為兩種有效區(qū)域。

        2.2.1 視頻區(qū)域無窗口遮擋場景

        如圖4(a)所示,步驟如下:

        (1)獲取瀏覽器窗口區(qū)域,根據(jù)RGB 像素值是否為(2,1,3)并結(jié)合當(dāng)前連續(xù)像素點(diǎn)是否超過某個(gè)閾值(如10),判定該區(qū)域是否為視頻區(qū)域。

        Fig.4 Video playback scene圖4 視頻播放場景

        (2)獲取視頻區(qū)域大小后,在內(nèi)存構(gòu)建一張bitmap 兼容位圖,并對(duì)該位圖空間進(jìn)行二值化處理。由于不存在遮擋區(qū)域,所有內(nèi)存區(qū)域全部賦值為1,表示全部都是有效視頻區(qū)域,此時(shí)滿足公式(2)。

        2.2.2 視頻區(qū)域有窗口遮擋場景

        如圖4(b),該場景顯然比無窗口遮擋場景要復(fù)雜許多,計(jì)算有效視頻區(qū)域步驟如下:

        (1)計(jì)算視頻區(qū)域S源,同無窗口遮擋計(jì)算。

        (2)同樣需要構(gòu)建一張bitmap 兼容位圖,并對(duì)空間進(jìn)行二值化處理,只是由于遮擋區(qū)域的連續(xù)RGB 像素值不滿足(2,1,3),因此賦值為0;無遮擋區(qū)域賦值為1。滿足以下公式:

        (3)分割整個(gè)視頻區(qū)域,如mxn進(jìn)行分割,應(yīng)滿足條件m

        (4)循環(huán)查找分割點(diǎn)位置的像素是否為RGB(2,1,3)像素;如果不是則向左移動(dòng)找到最近的(2,1,3)或直到邊緣位置,即為遮擋區(qū)域的left 值;同理分別向上、向右和向下移動(dòng)得到top,rigth 以及bottom 值,根據(jù)(left,top,right,bottom)即可得到遮擋區(qū)域S1,同理得到遮擋區(qū)域S2和S3。

        (5)把S 源和S 遮擋區(qū)域發(fā)往終端,終端再對(duì)S 遮擋區(qū)域進(jìn)行裁剪,即可得到真正的S 有效區(qū)域,即視頻觀看區(qū)域。

        2.3 云終端播放器設(shè)計(jì)

        在接收到虛機(jī)內(nèi)部發(fā)過來的數(shù)據(jù)后,根據(jù)終端能力或配置選擇,以硬解或軟解的方式進(jìn)行解碼顯示和音頻播放。播放控制(如暫停、快進(jìn)等)是在虛機(jī)內(nèi)部通過JavaS?cript 腳本進(jìn)行控制,其播放架構(gòu)如圖5 所示。

        Fig.5 Terminal playback architecture圖5 終端播放架構(gòu)

        終端根據(jù)虛機(jī)發(fā)過來的視頻源S源區(qū)域創(chuàng)建播放器窗口,收到視頻數(shù)據(jù)后分別通過開源組件gstreamer[19]、FFm?peg 完成視頻的硬解[20]和軟解,解碼完成后在播放窗口區(qū)域進(jìn)行渲染完成視頻數(shù)據(jù)的播放,然后根據(jù)S遮擋區(qū)域進(jìn)行裁剪;當(dāng)收到音頻數(shù)據(jù)后將AAC 數(shù)據(jù)解碼成PCM 原始數(shù)據(jù)放入聲卡中完成音頻播放。此外,終端通過音視頻數(shù)據(jù)幀PTS 時(shí)間戳完成音視頻的同步操作[21]。實(shí)現(xiàn)步驟如下:

        (1)防止終端處于小網(wǎng)環(huán)境,客戶端需接收虛機(jī)組件通知的目的端口,由終端側(cè)向虛機(jī)側(cè)建立音視頻鏈路。

        (2)接收虛機(jī)側(cè)發(fā)來的視頻創(chuàng)建VideoReDirectCreate消息(包括寬高、幀率等),完成硬解或軟件的初始化工作。

        (3)接收虛機(jī)側(cè)發(fā)來的音頻創(chuàng)建AudioReDirectCreate消息(包括格式和采樣率等),完成硬解或軟解的初始化工作。

        (4)接收視頻數(shù)據(jù)VideoReDirectData(包括視頻數(shù)據(jù)和視頻裁剪區(qū)域),完成視頻數(shù)據(jù)的解碼、繪制、裁剪等工作。

        (5)接收音頻數(shù)據(jù)AudioReDirectData,完成解碼和播放以及音視頻同步。音視頻同步方式較多,本文采用以音頻PTS 為基準(zhǔn)對(duì)視頻進(jìn)行同步的方式。

        3 實(shí)驗(yàn)結(jié)果

        本文以全屏在線播放一段1 080p 視頻進(jìn)行實(shí)驗(yàn)。虛機(jī)內(nèi)部CPU 占用率對(duì)比如圖6 所示。從對(duì)比結(jié)果看,使用本文方法的虛機(jī)CPU 資源降低約70%~80%,解決了虛機(jī)播放視頻卡頓問題,緩解了服務(wù)器資源緊張。

        4 結(jié)語

        桌面虛擬化目前已逐漸應(yīng)用到電信、教育、醫(yī)療與金融等領(lǐng)域。隨著應(yīng)用的推廣,流媒體播放帶來的挑戰(zhàn)越來越大。本文研究了最新標(biāo)準(zhǔn)HTML5 在線視頻,通過重構(gòu)Media Foundation 的方式截獲源數(shù)據(jù),改變?cè)幸曨l數(shù)據(jù)流向,通過圖片二值化算法找到視頻區(qū)域,從而實(shí)現(xiàn)基于HT?ML5 視頻數(shù)據(jù)的重定向。該方案不僅節(jié)省了服務(wù)器資源,而且用戶觀看在線視頻時(shí)就像訪問本地視頻一樣,畫質(zhì)較非重定向要清晰很多。

        Fig.6 Experimental results圖6 實(shí)驗(yàn)結(jié)果

        最初IE 瀏覽器只有優(yōu)酷視頻網(wǎng)站進(jìn)行了HTML5 改造,嵌入了HTML5 視頻標(biāo)簽,本文以此為突破口研究其播放架構(gòu)和重構(gòu)WMF 播放構(gòu)架。之后新浪視頻網(wǎng)站進(jìn)行了HTML5 改造,本文提出的方法能在不作任何修改的情況下在新浪使用,說明只要HTML5 視頻網(wǎng)站遵循WMF 播放架構(gòu),本文提出的HTML 5 視頻重定向技術(shù)就能使用。實(shí)踐證明該方法通用性強(qiáng),對(duì)研究HTML5 視頻重定向技術(shù)具有一定參考價(jià)值。

        猜你喜歡
        重定向音視頻桌面
        桌面舞龍
        基于APP在線控制雙擠出頭FDM桌面3D打印機(jī)的研制
        3KB深圳市一禾音視頻科技有限公司
        解決安卓文件夾亂象
        WIFI音視頻信號(hào)傳輸?shù)年P(guān)鍵問題探究
        電子制作(2018年12期)2018-08-01 00:48:06
        重復(fù)壓裂裂縫重定向的措施研究
        4G偽基站的監(jiān)測定位與規(guī)避協(xié)同分析
        高速公路整合移動(dòng)音視頻系統(tǒng)應(yīng)用
        Roland專業(yè)音視頻新技術(shù)研討會(huì)在上海召開
        基于馬氏體重定向的鐵磁形狀記憶合金本構(gòu)理論分析
        中文字幕人妻丝袜美腿乱| 国产精品国产三级国产av18| 国产a级毛片久久久精品毛片| 国产精品成人观看视频| 久久免费大片| 国产美女高潮流的白浆久久| 亚洲av毛片在线免费观看| 国精产品一区一区三区有限公司杨| 国产女人18毛片水真多| 亚洲免费不卡av网站| 亚洲最大一区二区在线观看| 在线看片免费人成视频电影 | 激情综合色综合啪啪开心| 亚洲国产精品日韩av专区| 妞干网中文字幕| 国产精品女丝袜白丝袜美腿| 亚洲精品无码永久在线观看| 无尽动漫性视频╳╳╳3d| 亚欧视频无码在线观看| 美女露出奶头扒开内裤的视频| 久久青青草原精品国产app| 999久久久精品国产消防器材| 欧美国产一区二区三区激情无套| 国产女高清在线看免费观看 | 高h喷水荡肉爽文np肉色学校| 国产精品污www一区二区三区| 97av在线播放| 日本亚洲中文字幕一区| 久久视频在线| 国产一区二区激情对白在线| 亚洲福利视频一区二区三区| 精品亚洲成a人在线观看 | 久久2020精品免费网站| 亚洲精品电影院| 亚洲精品永久在线观看| 亚洲日本视频一区二区三区| 日本精品视频免费观看| 午夜福利92国语| 亚欧视频无码在线观看| 一区二区视频在线观看地址| 88久久精品无码一区二区毛片|