戴洵
摘 ?要 ?隨著物聯(lián)網(wǎng)技術(shù)和互聯(lián)網(wǎng)技術(shù)的發(fā)展,視頻遠(yuǎn)程傳輸和處理的相關(guān)業(yè)務(wù)越來(lái)越常見,尤其是在線電影播放、遠(yuǎn)程視頻非線性編輯等業(yè)務(wù),更是對(duì)視頻傳輸速度、清晰度、通道數(shù)等指標(biāo)提出了更高的要求。文章以阿里云服務(wù)器為平臺(tái)搭建流媒體服務(wù)器,實(shí)現(xiàn)了全終端的視頻下載、高清傳輸、在線播放、云編輯等功能,具有較強(qiáng)的工程實(shí)用性。
關(guān)鍵詞 ?阿里云;高清視頻;多路傳輸;云端編輯
中圖分類號(hào) ?G2 ? ? ?文獻(xiàn)標(biāo)識(shí)碼 ?A ? ? ?文章編號(hào) ?2096-0360(2019)04-0023-02
傳統(tǒng)的視頻服務(wù)器必須依靠一定的硬件資源才能實(shí)現(xiàn),并且需要向網(wǎng)絡(luò)運(yùn)營(yíng)商購(gòu)買帶寬和分配IP,費(fèi)時(shí)費(fèi)力[1]。云服務(wù)器的出現(xiàn),實(shí)現(xiàn)了較為成熟的云存儲(chǔ)體系,并且視頻服務(wù)器也逐漸向云端轉(zhuǎn)移[2]。然而,將在線視頻編輯服務(wù)從本地實(shí)體服務(wù)器遷移到云端服務(wù)器仍然是業(yè)內(nèi)面臨的一個(gè)難題[3]。本文將對(duì)基于云端的視頻傳輸和在線編輯等問(wèn)題進(jìn)行深入的研究。
1 ?總體設(shè)計(jì)方案
本系統(tǒng)是基于阿里云的高清視頻多路傳輸,采用了H.265視頻標(biāo)準(zhǔn),可以為安防監(jiān)控、遠(yuǎn)程編輯、廣電系統(tǒng)、互聯(lián)網(wǎng)視頻等應(yīng)用提供高速傳輸服務(wù)。首先,前端的各種圖像采集設(shè)備實(shí)時(shí)采集目標(biāo)區(qū)域的視頻圖像,然后通過(guò)網(wǎng)絡(luò)發(fā)送至阿里云平臺(tái)上的流媒體服務(wù)器上,用戶通過(guò)各種終端、手機(jī)、客戶端、網(wǎng)頁(yè)等可以實(shí)現(xiàn)視頻的讀取、轉(zhuǎn)發(fā)、編輯等功能。由于云服務(wù)器處于整個(gè)系統(tǒng)的核心,因此視頻的前端采集和視頻后端處理互不影響,可獨(dú)立進(jìn)行。系統(tǒng)整體框架如圖1所示。
在本系統(tǒng)中,攝像頭采集到視頻圖像后首先進(jìn)行H.265編碼,接著進(jìn)行RTMP封裝并傳輸?shù)皆贫朔?wù)平臺(tái)并存儲(chǔ)起來(lái)。用戶可以通過(guò)客戶端軟件對(duì)云端的視頻資源進(jìn)行請(qǐng)求,視頻資源經(jīng)過(guò)相反的過(guò)程傳輸?shù)奖镜赜?jì)算機(jī)。用戶也可以通過(guò)遠(yuǎn)程的方式對(duì)云端服務(wù)器的視頻資源進(jìn)行編輯制作,充分利用阿里云的高速計(jì)算能力和大數(shù)據(jù)處理技術(shù)。
2 ?系統(tǒng)模塊設(shè)計(jì)
2.1 ?前端視頻采集單元設(shè)計(jì)
視頻采集設(shè)備處于整個(gè)系統(tǒng)的前端,支持多種采集方式,例如互聯(lián)網(wǎng)領(lǐng)域的智能機(jī)、攝像頭和廣電圖像的SDI、HDMI,可以完成視頻信息的實(shí)時(shí)采集,視頻數(shù)據(jù)由Hi3516D進(jìn)行處理器。為了降低時(shí)延并提高壓縮率,系統(tǒng)前端采用了H.265硬編碼的方式,分別由視頻編碼層和網(wǎng)絡(luò)提取層來(lái)實(shí)現(xiàn)。前端視頻數(shù)據(jù)到用戶本地的傳輸采用了推送模式,因?yàn)橥扑湍J綄?duì)網(wǎng)絡(luò)環(huán)境的要求更低,避免了拉取模式要求的固定IP、穩(wěn)定公網(wǎng)環(huán)境等苛刻要求。為了滿足后期系統(tǒng)的擴(kuò)展,本系統(tǒng)還預(yù)設(shè)了電源接口、RJ45網(wǎng)線接口、紅外信號(hào)接口和紅外濾光接口等常用擴(kuò)展接口。
2.2 ?云端流媒體服務(wù)器設(shè)計(jì)
云端流媒體服務(wù)器設(shè)計(jì)的關(guān)鍵點(diǎn)和難點(diǎn)在于在線播放和在線編輯功能,而在線編輯功能也是以在線播放為基礎(chǔ)的。從目前的技術(shù)來(lái)看,一般可以選擇兩種方式來(lái)實(shí)現(xiàn)在線播放:一是先將云端視頻資源下載到本地,直到視頻傳輸完成后再進(jìn)行播放,這種方式的核心在于視頻高速傳輸;二是通過(guò)客戶端軟件與云平臺(tái)建立連接,然后服務(wù)器會(huì)以數(shù)據(jù)流的形式將用戶需要的資源傳輸給用戶。可見,第二種方式才是真正意義上的在線播放,由于這種方式又可以分為順序流傳輸和實(shí)時(shí)流傳輸兩種方案,其中前者采用標(biāo)準(zhǔn)HTTP服務(wù)器來(lái)傳輸數(shù)據(jù),在點(diǎn)播領(lǐng)域有較廣泛的應(yīng)用,但對(duì)于直播而言則無(wú)法滿足要求。因此本文采用實(shí)時(shí)流式傳輸,通過(guò)專用的傳輸協(xié)議來(lái)對(duì)現(xiàn)場(chǎng)的圖像進(jìn)行實(shí)時(shí)傳輸,因而滿足在線編輯和現(xiàn)場(chǎng)直播的要求。
流媒體服務(wù)器基于阿里視頻云技術(shù)可以完成二次開發(fā),對(duì)RTMP協(xié)議有很好的兼容性,也使第三方廠商的硬件接入更加方便,可以和前端采集硬件建立長(zhǎng)連接。流媒體服務(wù)器底層技術(shù)采用FFMPEG,通過(guò)推模式發(fā)送碼流數(shù)據(jù),實(shí)現(xiàn)高速傳輸。由于系統(tǒng)有多路傳輸?shù)奶厥庑枨?,因此必須有一個(gè)標(biāo)識(shí)可以區(qū)分各路數(shù)據(jù),本文為每一路視頻數(shù)據(jù)都指定了一個(gè)唯一的URL鏈接。用戶只需通過(guò)客戶端訪問(wèn)該URL,即可完成向服務(wù)器端請(qǐng)求數(shù)據(jù)的過(guò)程,數(shù)據(jù)經(jīng)過(guò)RTMP協(xié)議傳輸?shù)奖镜睾?,再進(jìn)行解碼即可在線播放或轉(zhuǎn)發(fā)。為了支持多終端在線播放,云端流媒體服務(wù)器還設(shè)計(jì)了在線轉(zhuǎn)碼功能,通過(guò)RTMP上傳的視頻文件,經(jīng)過(guò)FFMPEG轉(zhuǎn)碼、轉(zhuǎn)封裝后變?yōu)槌R姷腍LS、FLV等格式,實(shí)現(xiàn)對(duì)多終端的兼容。
2.3 ?視頻播放客戶端設(shè)計(jì)
視頻播放客戶端安裝在用戶本地PC平臺(tái)上,它是基于開源流媒體播放器來(lái)開發(fā)設(shè)計(jì)的,一方面可以向云端服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求,并建立連接,另一方面還可以對(duì)云端返回的碼流進(jìn)行接收、解包、解碼和播放??蛻舳伺c前端采集單元相對(duì)應(yīng),支持HLS、FLV和RTMP等協(xié)議格式,可以實(shí)現(xiàn)多路碼流的同時(shí)傳輸和播放。顯然,除了傳輸系統(tǒng)的高性能要求之外,還需要客戶端具有較強(qiáng)的解碼能力,本系統(tǒng)采用了H.265視頻數(shù)據(jù)的軟解碼,由FFMPEG 完成客戶端所有視頻數(shù)據(jù)的解碼??蛻舳丝梢杂捎脩魧⒔缑媾渲脼槎鄠€(gè)小窗口,每個(gè)窗口對(duì)應(yīng)一個(gè)URL地址,各窗口后臺(tái)線程分別向服務(wù)器請(qǐng)求相應(yīng)的前端視頻圖像,最終實(shí)現(xiàn)多路視頻的采集、傳輸和播放。客戶端可以運(yùn)行在智能手機(jī)、PC、OTT等多種終端系統(tǒng)上,視頻格式支持HLS、FLV、RTMP等多種常用格式。
3 ?多用戶同時(shí)在線編輯
為了擴(kuò)展更多的應(yīng)用場(chǎng)合,充分利用阿里云的強(qiáng)大計(jì)算功能和智能化服務(wù),使系統(tǒng)進(jìn)一步實(shí)用化,本系統(tǒng)還在客戶端中集成了在線編輯功能,并且支持多用戶同時(shí)在線操作,實(shí)現(xiàn)了視頻云編輯的功能。為了避免多用戶同時(shí)向服務(wù)器請(qǐng)求數(shù)據(jù)造成的網(wǎng)絡(luò)堵塞,本文采用流媒體服務(wù)器來(lái)對(duì)所有的在線編輯服務(wù)器進(jìn)行統(tǒng)一管理,對(duì)計(jì)算資源進(jìn)行合理分配。同時(shí)充分利用分布式系統(tǒng)的計(jì)算能力,采用分布式技術(shù)解決大規(guī)模并發(fā)用戶請(qǐng)求的難題。當(dāng)大量客戶端同時(shí)發(fā)來(lái)在線編輯請(qǐng)求時(shí),由流媒體服務(wù)器動(dòng)態(tài)分配相應(yīng)的計(jì)算機(jī)為其提供服務(wù),各計(jì)算任務(wù)之間相互獨(dú)立,互不影響。當(dāng)某個(gè)客戶端的在線編輯完成后,將自動(dòng)釋放計(jì)算機(jī)資源,為其他用戶的計(jì)算提供了更多資源。這個(gè)方案雖然解決了多路傳輸?shù)膯?wèn)題,但由于視頻是在云端進(jìn)行編輯的,用戶無(wú)法像本次資源一樣隨意對(duì)視頻進(jìn)行預(yù)覽,自然也很難知道編輯效果是否滿意。為此,充分利用了阿里云的人工智能服務(wù),通過(guò)智能算法提取云端視頻圖像的邊緣輪廓,也就是關(guān)鍵幀和時(shí)間戳,由流媒體服務(wù)器將其傳回客戶端,使用戶可以對(duì)云端編輯視頻進(jìn)行高保真度的預(yù)覽。為了記錄當(dāng)前正在編輯的視頻文件和位置,采用集中式的拓?fù)渌饕?wù)器來(lái)動(dòng)態(tài)記錄各進(jìn)程的視頻編輯列表信息。
4 ?結(jié)束語(yǔ)
隨著互聯(lián)網(wǎng)的發(fā)展以及各種視頻傳輸業(yè)務(wù)的增長(zhǎng),視頻存儲(chǔ)已基本實(shí)現(xiàn)了較為成熟的云存儲(chǔ)體系,并且視頻服務(wù)器也逐漸向云端轉(zhuǎn)移。近年來(lái),隨著云服務(wù)器性能和網(wǎng)絡(luò)傳輸技術(shù)的發(fā)展,各大互聯(lián)網(wǎng)企業(yè)開始關(guān)注視頻的云編輯功能,云端技術(shù)的發(fā)展正在經(jīng)歷著一場(chǎng)前所未有的革命,并且推動(dòng)著網(wǎng)絡(luò)視頻相關(guān)技術(shù)的不斷發(fā)展,基于云服務(wù)的視頻應(yīng)用體系成為未來(lái)互聯(lián)網(wǎng)和人工智能的重要發(fā)展方向。
參考文獻(xiàn)
[1]大洋與松下簽署戰(zhàn)略協(xié)議 為視頻云端專業(yè)制作開啟新模式[J].現(xiàn)代電視技術(shù),2018(4):160.
[2]覃東駿.區(qū)域性電視制作機(jī)構(gòu)的EFP直播遠(yuǎn)程制作實(shí)踐[J].數(shù)碼影像時(shí)代,2017(5):89-95.
[3]朱婕.全媒體時(shí)代“云”編輯模式研究[D].北京:中國(guó)科學(xué)技術(shù)大學(xué),2014.