彭城
摘 要:計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和多媒體數(shù)據(jù)壓縮技術(shù)的發(fā)展,使通過網(wǎng)絡(luò)傳輸實(shí)時(shí)音視頻數(shù)據(jù)成為人們?nèi)粘.惖販贤ǖ氖走x,特別是手機(jī)微信的普及,讓大家相距千里卻可以面對(duì)面交流。如今嵌入式視頻服務(wù)器不僅僅能提供實(shí)時(shí)直播功能,同時(shí)綜合了計(jì)算機(jī)網(wǎng)絡(luò)功能,以達(dá)到多用戶分布式監(jiān)控和點(diǎn)播的目的,它在安防監(jiān)控和網(wǎng)絡(luò)教育等領(lǐng)域都有廣泛的應(yīng)用前景。
關(guān)鍵詞:嵌入式 視頻 網(wǎng)絡(luò)播放
隨著網(wǎng)絡(luò)技術(shù)和嵌入式技術(shù)的發(fā)展,人們不再滿足于在信息高速公路中僅獲得圖像和聲音等媒體信息,而是希望同時(shí)獲得更小體積和更高性價(jià)比的視頻數(shù)據(jù)。嵌入式視頻服務(wù)器是一種提供網(wǎng)絡(luò)視頻傳輸和共享的嵌入式?jīng)]備。它以面向?qū)崟r(shí)處理的軟件為平臺(tái),整合了視頻網(wǎng)絡(luò)傳輸、視頻信號(hào)采集等功能。用戶只需要在遠(yuǎn)程對(duì)視頻服務(wù)器的相關(guān)參數(shù)進(jìn)行設(shè)置就可以輕松獲取本地圖像等多媒體信息。
嵌入式視頻監(jiān)控系統(tǒng)包含了以下幾個(gè)關(guān)鍵技術(shù):
1、頻音頻信號(hào)的編碼壓縮技術(shù)。不管是視頻原始的RGB信號(hào)數(shù)據(jù)還是語音模擬信號(hào)通過CODEC芯片得到的PCM(Pulse Code Modulation,脈碼調(diào)制)編碼,碼流數(shù)據(jù)量較大,在網(wǎng)絡(luò)上傳輸時(shí)容易產(chǎn)生網(wǎng)絡(luò)擁塞現(xiàn)象,影響傳輸?shù)膶?shí)時(shí)性。在嵌入式平臺(tái)上采用適當(dāng)?shù)木幋a技術(shù)對(duì)多媒體數(shù)據(jù)壓縮可以減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,提高線路帶寬的利用率。而且通過壓縮編碼技術(shù)使得數(shù)據(jù)在誤碼產(chǎn)生、網(wǎng)絡(luò)抖動(dòng)和突發(fā)傳輸時(shí)具有健壯性。
2、視頻音頻信號(hào)的實(shí)時(shí)傳輸技術(shù)。利用絡(luò)傳輸實(shí)時(shí)數(shù)據(jù),數(shù)據(jù)傳輸?shù)臅r(shí)延會(huì)是一個(gè)很大的問題。因?yàn)榛ヂ?lián)網(wǎng)的初衷并不是實(shí)時(shí)的應(yīng)用,而是數(shù)據(jù)的傳輸,保證的是數(shù)據(jù)傳輸?shù)男?。這個(gè)問題可以通過使用實(shí)時(shí)傳輸協(xié)議以及QOS機(jī)制得到解決。
3、標(biāo)準(zhǔn)的接協(xié)議(例如RTSP協(xié)議)有助于軟件開發(fā)商的產(chǎn)品之間以及產(chǎn)品與服務(wù)器之間的互連。目前在實(shí)時(shí)流的連接領(lǐng)域有個(gè)定義完整的互連協(xié)議:實(shí)時(shí)流協(xié)議(Real Time Streaming Protocol),它提供了對(duì)媒體流的播放、暫停、快進(jìn)等控制功能。
在網(wǎng)絡(luò)上傳輸音頻或視頻等媒體信息的方式,目前主要有下載和流式傳輸兩種方案。音視頻文件一般都較人,所以需要的存儲(chǔ)容量也較大。同時(shí)由于網(wǎng)絡(luò)帶寬的限制,以目前的4G網(wǎng)絡(luò)速度來看,較大的視頻文件下載時(shí)間也是比較長的。流式傳輸時(shí),聲音、影像或動(dòng)畫等時(shí)媒體由音視頻服務(wù)器向用戶計(jì)算機(jī)的連續(xù)、實(shí)時(shí)傳送,用戶只需經(jīng)過幾秒或十幾秒的啟動(dòng)延時(shí)即可進(jìn)行觀看。當(dāng)聲音等時(shí)基媒體在客戶機(jī)上播放時(shí),文件的剩余部分將在后臺(tái)從服務(wù)器內(nèi)繼續(xù)下載。流式傳輸不僅使啟動(dòng)延時(shí)大大縮短,而且不需要過多的緩存,從而避免了用戶必須等待整個(gè)文件全部從Internet上下載才能觀看的缺點(diǎn)。
流式傳輸?shù)亩x很廣泛,現(xiàn)在主要指通過網(wǎng)絡(luò)傳送媒體技術(shù)的總稱,其特定含義為通過Internet將影視節(jié)目傳送到終端。流式傳輸有兩種方法:順序流式傳輸(progressive streaming)和實(shí)時(shí)流式傳輸(real time streaming)。一般說來,順序流式傳輸只能按序獲得文件的信息,不能跳躍式觀看。實(shí)時(shí)流式傳輸可以根據(jù)用戶連接調(diào)整速度。
順序流式傳輸是順序下載,在下載文件的同時(shí)用戶可觀看在線媒體,但是用戶只能觀看已下載的那部分,而不能跳到還未下載的部分,順序流式傳輸不像實(shí)時(shí)流式傳輸在傳輸期間根據(jù)用戶連接的速度做調(diào)整。由于標(biāo)準(zhǔn)的HTTP服務(wù)器可發(fā)送這種形式的文件,也不需要其他特殊協(xié)議,它經(jīng)常被稱作HTTP流式傳輸。順序流式傳輸比較適合高質(zhì)量的短片段,如宣傳片、廣告片段等。由于該文件在播放前觀看的部分是無損下載的,這種方法保證電影播放的最終質(zhì)量。這意味著用戶在觀看前必須經(jīng)歷延遲,對(duì)較慢的網(wǎng)絡(luò)狀態(tài)延遲更加明顯。順序流式文件是放在標(biāo)準(zhǔn)HTTP或FTP服務(wù)器上,基本上與防火墻無關(guān)。順序流式傳輸不適合長片段和有隨機(jī)訪問要求的視頻,如:講座、演講等。
實(shí)時(shí)流式傳輸指保證媒體信號(hào)帶寬與網(wǎng)絡(luò)連接匹配,使媒體可被實(shí)時(shí)觀看到。實(shí)時(shí)流與HTTP流式傳輸不同,需要專用的流媒體服務(wù)器與傳輸協(xié)議。實(shí)時(shí)流式傳輸總是實(shí)時(shí)傳送,特別適合現(xiàn)場事件,也支持隨機(jī)訪問,用戶可快進(jìn)或后退以觀看前面或后面的內(nèi)容。實(shí)時(shí)流式傳輸必須匹配連接帶寬,這意味著在網(wǎng)絡(luò)質(zhì)量較差時(shí)圖像質(zhì)量也相應(yīng)較差。
硬件方面,嵌入式芯片的功能一般都不及通用CPU功能強(qiáng)大,如果將過多的系統(tǒng)功能依賴軟件在芯片上的模擬實(shí)現(xiàn),勢(shì)必會(huì)占有過多的CPU時(shí)間,從而影響系統(tǒng)的實(shí)時(shí)要求。特別是在本系統(tǒng)中的多媒體數(shù)據(jù)壓縮和網(wǎng)絡(luò)傳輸方面,更依賴高性能的CPU來完成。在選擇普遍使用的ARM處理器的基礎(chǔ)上,采用了性價(jià)比高的GA-4030芯片作為核心微處理器。GA-4030是GENISTECH公司的產(chǎn)品,該款嵌入式處理器以ARM926EJ為內(nèi)核,是一種高性能、低功耗的RISC芯片。同時(shí)芯片內(nèi)部還集成了數(shù)字信號(hào)處理指令和很多硬件加速引擎,包含QUAD功能支持?內(nèi)置OSD模塊等,非常適用于嵌入式視頻系統(tǒng)應(yīng)用。此款芯片目前在多媒體嵌入式領(lǐng)域有著相當(dāng)廣泛的應(yīng)用。利用這款芯片,可以將視頻編碼的功能依賴片內(nèi)的DSP單元來實(shí)現(xiàn),從而減輕了CPU的負(fù)擔(dān)??陀^的分析,如果視頻編碼采用軟件實(shí)現(xiàn),勢(shì)必會(huì)占有很多的運(yùn)行周期。
軟件方面,以開放性源碼的嵌入式Linux作為軟件運(yùn)行平臺(tái),系統(tǒng)穩(wěn)定性高并可降低成本。嵌入式Linux由于代碼開放性以及強(qiáng)大的網(wǎng)絡(luò)功能,在中低端的嵌入式網(wǎng)絡(luò)設(shè)備中應(yīng)用廣泛。嵌入式Linux以其特有的開放性、與生懼來的網(wǎng)絡(luò)特性成為嵌入式操作系統(tǒng)的主流之一。更重要的是,在Linux平臺(tái)上擁有眾多的優(yōu)秀開源軟件,避免了重復(fù)勞動(dòng)的時(shí)間浪費(fèi)。根據(jù)軟件嵌入式Linux平臺(tái)的特點(diǎn),將服務(wù)器程序、媒體數(shù)據(jù)采集和發(fā)送程序等作為用戶空間的進(jìn)程來提高系統(tǒng)的可靠性,同時(shí)把驅(qū)動(dòng)程序編譯成模塊,方便用戶調(diào)用。利用Linux可動(dòng)態(tài)加載模塊的特點(diǎn),在需求的時(shí)候通過腳本加載,方便模塊調(diào)試,減少模塊間的依賴性。
嵌入式視頻服務(wù)器系統(tǒng)分成多媒體數(shù)據(jù)采集傳輸模塊和視頻網(wǎng)絡(luò)服務(wù)模塊兩部分。多媒體數(shù)據(jù)采集傳輸模塊完成對(duì)多媒體數(shù)據(jù)的實(shí)時(shí)采集,并將數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)服務(wù)模塊,在網(wǎng)絡(luò)傳輸模塊中將媒體數(shù)據(jù)流依照RTP/RTCP協(xié)議通過網(wǎng)絡(luò)控制芯片發(fā)送到Internet上。網(wǎng)絡(luò)服務(wù)器模塊接收客戶端的連接請(qǐng)求,獲取多媒體采集傳輸模塊發(fā)送的媒體數(shù)據(jù),實(shí)時(shí)的傳輸給客戶端播放器播放。音頻壓縮編碼選擇的是目前在移動(dòng)通信領(lǐng)域廣泛使用的自適應(yīng)多速率語音編碼。該編碼目前廣泛應(yīng)用在智能手機(jī)、平板電腦等數(shù)字終端上,可以大比率的壓縮語音信號(hào),對(duì)人類能識(shí)別的語音信號(hào)壓縮算法影響較少,所以特別適合傳輸語音。值得一提的是,采集傳輸模塊和網(wǎng)絡(luò)服務(wù)模塊的設(shè)計(jì)雖然是分開的,但目前是在同一個(gè)嵌入式系統(tǒng)中運(yùn)行。兩者之間的接口是規(guī)范的SOCKET接口,并利用標(biāo)準(zhǔn)RTP協(xié)議通信。工作在同一個(gè)平臺(tái)上的IP地址可以設(shè)置成為127.0.0.1來通信。這樣設(shè)計(jì)是考慮到即使在同一臺(tái)嵌入式設(shè)備上不能滿足系統(tǒng)應(yīng)用需求的時(shí)候,媒體壓縮和傳輸將因?yàn)镃PU過載出現(xiàn)明顯的丟幀,此時(shí)可以把這兩個(gè)模塊方便的分開到不同的設(shè)備上運(yùn)行,兩模塊之間通過以太網(wǎng)連接,可以減少服務(wù)器CPU的負(fù)荷。
參考文獻(xiàn):
[1]王誠 梅霆.ARM嵌入式系統(tǒng)原理與開發(fā).人民郵電出版社,2018第一版.
[2]劉洪濤.ARM嵌入式體系結(jié)構(gòu)與接口技術(shù).人民郵電出版社,2017第一版.
[3]張勇.ARM嵌入式微控制器原理與應(yīng)用.清華大學(xué)出版社,2018第一版.