陳 晨,殷海兵
(中國計量學(xué)院 信息工程學(xué)院,浙江 杭州 310018)
?
基于嵌入式流媒體服務(wù)器的視頻點播系統(tǒng)
陳晨,殷海兵
(中國計量學(xué)院 信息工程學(xué)院,浙江 杭州 310018)
移動通信網(wǎng)絡(luò)流媒體服務(wù)資費較高,限制了人們在沒有有線電視、寬帶互聯(lián)網(wǎng)連接、無線WiFi互聯(lián)網(wǎng)連接的地方用手機收看視音頻節(jié)目。針對這一現(xiàn)狀,提出了一種基于嵌入式流媒體服務(wù)器的多功能視頻點播系統(tǒng)。以ARM板和WiFi網(wǎng)絡(luò)適配器作為流媒體服務(wù)器,設(shè)計一款A(yù)ndroid手機播放器作為客戶端,實現(xiàn)在智能手機上、多個客戶端同時免流量接收服務(wù)器本地或外接設(shè)備推送的高清、超高清視頻。該系統(tǒng)適用于公交、廣場、電梯、商場、景區(qū)等場合,人們用手機觀看視音頻,實現(xiàn)不用耗費自己的流量,自由快速地選擇自己喜歡的節(jié)目。
流媒體服務(wù)器;安卓播放器;視頻點播;視頻壓縮
全球每天有超過1億部Android設(shè)備被激活,安卓手機因其開源操作系統(tǒng)、開源社區(qū)支持、強大的開發(fā)工具而占據(jù)智能手機主流。但是眾所周知,手機流量資費較高,人們用手機收看視音頻節(jié)目會受到相應(yīng)數(shù)據(jù)流量套餐的限制?;谥悄苁謾C在流媒體服務(wù)方面,使用用戶多、流量資費高的現(xiàn)狀,推出了一種基于嵌入式流媒體服務(wù)器的視頻點播系統(tǒng)。為了滿足廣大用戶觀看高清、超高清視頻的需求,要求高清、超高清視頻在流媒體服務(wù)器傳輸過程中,低功耗、失真小,本系統(tǒng)設(shè)計了一種對原始圖像幀無損壓縮算法,通過圖像壓縮編碼技術(shù)來降低圖像冗余度,從而減小圖像的存儲容量[1]。相應(yīng)的,需要開發(fā)新的Android手機播放器,對本發(fā)明中特定的編碼技術(shù)進行解碼,正常播放視頻節(jié)目。
本文設(shè)計的多功能視頻點播系統(tǒng),基于嵌入式流媒體的服務(wù)器[2]既可以存儲外接設(shè)備的視音頻,又可以對外接公共場合攝像機得到的原始視頻進行無損壓縮存儲,最終安卓手機客戶端制作兩個界面,一個是播放列表、一個是監(jiān)控列表。播放列表供人們自由選擇流媒體服務(wù)器存儲的視音頻,監(jiān)控列表顯示在商場或景區(qū)一些人口密集場合,方便用戶快速選擇距離近且人少的場地,另外也可為工作人員(保安、安防人員)提供公共場所安全情況視頻展示,方便不同客戶自由點播自己喜歡的節(jié)目或者用手機接收視頻畫面,清楚了解商場、景區(qū)等動向,方便出行和工作。在計算機網(wǎng)絡(luò)中,多播[3]技術(shù)是在一個單一傳輸源,同時把消息或信息傳輸?shù)揭唤M目標(biāo)計算機。多播是實現(xiàn)IP組播最常用的,經(jīng)常用于互聯(lián)網(wǎng)協(xié)議(IP)的流媒體和網(wǎng)絡(luò)電視的應(yīng)用程序。多播概念的實現(xiàn)產(chǎn)生于路由級別,路由器在發(fā)送數(shù)據(jù)信息到多播目的地址時,創(chuàng)建最佳的分配路徑。類似多播的應(yīng)用還有視頻流媒體服務(wù)的需求、網(wǎng)絡(luò)游戲、音頻或視頻會議新技術(shù)等。因此,選擇多播技術(shù)和手機客戶端接收節(jié)目信號相結(jié)合,發(fā)明一個低成本、免流量資費、終端用戶多、便攜式的設(shè)備是一項有意義的推進。
已有技術(shù)1:無損壓縮算法JPEG-LS,把當(dāng)前像素鄰近的幾個已編碼像素作為其上下文進行預(yù)測,得到預(yù)測殘差,并對這些殘差采用Golomb指數(shù)編碼。該算法只用了上下文預(yù)測與Golomb指數(shù)編碼,沒有用DCT變換和算術(shù)編碼,算法簡單,易于硬件實現(xiàn)。
已有技術(shù)2:CALIC算法,采用GAP(梯度自適應(yīng)預(yù)測器)對圖像進行預(yù)測。根據(jù)預(yù)測鄰域水平方向和垂直方向的局部梯度來判斷圖像是否存在邊界以及邊界的強弱,并根據(jù)計算的結(jié)果動態(tài)調(diào)整預(yù)測函數(shù)從而得到預(yù)測殘差。對預(yù)測殘差采用基于CACM++的自適應(yīng)算術(shù)編碼器進行編碼。
已有技術(shù)3:一種媒體內(nèi)容共享系統(tǒng)中的媒體文件點播方法,關(guān)鍵技術(shù)是EPG在運營支撐系統(tǒng)OSS和終端之間作為媒介,配合URL,實現(xiàn)終端向分布式流媒體發(fā)送媒體文件服務(wù)請求后,可以正常接收到點播媒體文件的文件流并進行點播。
已有技術(shù)4:一種點播多媒體消息業(yè)務(wù)的方法及系統(tǒng)。在數(shù)據(jù)業(yè)務(wù)管理平臺、多媒體消息中心、用戶之間開展點播源的傳輸,又設(shè)計了多媒體消息中心對接收到的多媒體消息進行判斷的功能,根據(jù)用戶的需求,決定點播流程是繼續(xù)或終止。
已有技術(shù)5:智能手機已經(jīng)開發(fā)了很多播放器。
然而現(xiàn)有技術(shù)都存在一些缺陷,由此更體現(xiàn)本系統(tǒng)提出的必要性。
已有技術(shù)1的缺陷:壓縮率比較低。本發(fā)明塊級/分層自適應(yīng)幀內(nèi)預(yù)測、殘差系統(tǒng)半定長變長編碼(Variable-Length Coding,VLC)、控制字段Huffman變長編碼的多技術(shù)協(xié)作無損壓縮使壓縮率能達到50%左右。
已有技術(shù)2的缺陷:是對整幅圖像進行預(yù)測,預(yù)測效率較低。本發(fā)明中采用的宏塊自適應(yīng)幀內(nèi)預(yù)測,支持兩種預(yù)測模式,即塊級預(yù)測和分層預(yù)測。其中,塊級預(yù)測支持水平和垂直方向的塊間和像素級預(yù)測,分層預(yù)測支持水平和垂直方向的平均和復(fù)制預(yù)測。每個宏塊根據(jù)殘差編碼比特和控制信息比特,優(yōu)先選擇預(yù)測效率高者為最優(yōu)的預(yù)測模式,提高預(yù)測效率。
已有技術(shù)3和4的視頻點播過程比較繁瑣,不適合在公交、電梯、景區(qū)、商場等小型場合人們的日常生活需求。本發(fā)明裝置簡單,成本低,免流量資費,終端用戶多,采用便攜式的設(shè)備,方便小型場合以簡易且價格低廉的ARM板作為服務(wù)器,廣大人民群眾用自己的Android手機作為客戶端,實現(xiàn)在智能手機上,多個客戶端同時免流量接收服務(wù)器本地或外接設(shè)備推送的高清、超高清視頻,不同客戶可以自由點播喜歡的節(jié)目或者用手機接收的視頻畫面清楚了解商場、景區(qū)等的動向,方便自己的出行和工作。
相比已有技術(shù)5,本發(fā)明開發(fā)的播放器針對特定的應(yīng)用,即服務(wù)器上的流媒體文件、對某些特定場合錄像的原始視頻點播,能滿足特定的需求,即在電梯、車載、公交、小型廣場、景區(qū)等場合廣大用戶的利益??蓪崿F(xiàn)特定功能,即能滿足對服務(wù)器已有視音頻文件和經(jīng)無損壓縮算法編碼得到的視頻解碼回放。
本系統(tǒng)涉及多播技術(shù)、原始圖像幀無損壓縮、UDP[4]控制流、 RTSP[5]傳輸流、流媒體服務(wù)器、智能手機點播的系統(tǒng)方法,最終能達到在一定區(qū)域內(nèi),多個手機自由、免費、快速地點播服務(wù)器本地或外接設(shè)備視音頻。主要步驟有:1)將Linux系統(tǒng)內(nèi)核設(shè)置為支持多播技術(shù);2)ARM板本地或外接設(shè)備存儲的原始圖像幀以宏塊為預(yù)測編碼的基本單元,支持宏塊隨機訪問,實現(xiàn)無損壓縮;3)壓縮編碼后的視頻節(jié)目及外接設(shè)備存儲的完整視音頻通過WiFi網(wǎng)絡(luò)適配器傳輸給安卓手機客戶端,多個客戶端通過UDP和RTSP協(xié)議實現(xiàn)控制和流傳輸;4)多個智能手機終端接收到數(shù)據(jù)資源,顯示節(jié)目列表,點播視頻進行信源解碼和回放。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
3.1視頻點播步驟
首先,ARM板搭建多播環(huán)境,允許多個客戶端同時接入流媒體服務(wù)器,編譯、安裝live555,建立RTSP協(xié)議流傳輸連接[6]。多播是一種網(wǎng)絡(luò)協(xié)議操作,允許一個源同時發(fā)送數(shù)據(jù)包到多個端點。多播要求高帶寬,點到面應(yīng)用,如分布式計算、高定義視頻流、存儲區(qū)域網(wǎng)絡(luò)。從傳統(tǒng)意義上講,多播是實施電子在路由器的網(wǎng)絡(luò)層中,通過復(fù)制和存儲在緩沖區(qū)中的數(shù)據(jù)包。然而,通過在網(wǎng)絡(luò)協(xié)議棧的光層遷移組播操作,基于分組的多種功能可以較低的成本得到支持。ARM開發(fā)板結(jié)合live555,它是目前實現(xiàn)rtsp協(xié)議使用最多、用途最廣的開源代碼,而且它的更新速度很快,方便研究人員根據(jù)不同需求開發(fā)新功能。Live555已經(jīng)實現(xiàn)了基于UDP和TCP的傳輸,支持MPG,MKV,H.264,AMR等文件的點播,有服務(wù)器端和客戶端兩種實現(xiàn)方式。由于本系統(tǒng)是在一個多播環(huán)境下實現(xiàn)的,所以需要對其中GroupSock和LiveMedia兩大模塊進行設(shè)計和編譯,生成可執(zhí)行文件live555MediaServer_IMX6S,在后續(xù)過程中調(diào)用。
流式傳輸是流媒體技術(shù)實現(xiàn)的重要部分。為了保證數(shù)據(jù)能夠正確完整地傳輸,在傳輸之前要對流媒體服務(wù)器外接設(shè)備傳送的原始視頻進行預(yù)處理,即對原始視頻采取高效壓縮。本文中采用塊級/分層自適應(yīng)幀內(nèi)預(yù)測、殘差系統(tǒng)半定長變長編碼(Variable-Length Coding,VLC)、控制字段Huffman變長編碼的多技術(shù)協(xié)作無損壓縮系統(tǒng)方案;提出的自適應(yīng)高效幀內(nèi)預(yù)測,支持不同區(qū)域不同小塊自適應(yīng)編碼,支持宏塊級數(shù)據(jù)隨機訪問;并基于編碼比特消耗最小化的原則,在預(yù)測效率和預(yù)測殘差編碼比特效率之間平衡。對原始視頻進行無損壓縮包括兩大步驟:預(yù)測和熵編碼。1)基于宏塊的自適應(yīng)幀內(nèi)預(yù)測。它支持兩種預(yù)測模式,即塊級預(yù)測和分層預(yù)測。其中,塊級預(yù)測支持水平和垂直方向的塊間和像素級預(yù)測,分層預(yù)測支持水平和垂直方向的平均和復(fù)制預(yù)測。每個宏塊根據(jù)殘差編碼比特和控制信息比特,優(yōu)先選擇預(yù)測效率高者為最優(yōu)的預(yù)測模式。2)基于小塊的半定長變長編碼。它將預(yù)測殘差自適應(yīng)劃分為8個變長的編碼區(qū)間,并用相應(yīng)的字段標(biāo)識,對這些字段采用Huffman編碼,并將每個區(qū)間內(nèi)的殘差自適應(yīng)分為不同大小的塊,塊內(nèi)采用定長編碼[7-9]。高效壓縮算法結(jié)構(gòu)如圖2所示。
圖2 高效壓縮算法
基于對視頻進行高效壓縮使數(shù)據(jù)量減少,且對視頻不要求分組順序到達,本文ARM系統(tǒng)實現(xiàn)流媒體服務(wù)器,選擇在數(shù)據(jù)傳輸過程中延遲小、數(shù)據(jù)傳輸效率高的Socket的UDP雙向通信。雖然UDP是無連接通信,但是本系統(tǒng)實現(xiàn)發(fā)送端和接收端的雙向通信。多個智能手機終端通過UDP協(xié)議獲取服務(wù)器所有高效處理過的視頻包含路徑、名稱的列表。設(shè)計在手機端列表只顯示名稱。
通過WiFi網(wǎng)絡(luò)適配器實現(xiàn)一個WiFi連接熱點,根據(jù)手機端列表的路徑找到視頻節(jié)目源,基于RTSP流媒體傳輸協(xié)議在客戶端(智能手機)和流媒體服務(wù)器之間建立流媒體傳輸連接,實現(xiàn)視音頻數(shù)據(jù)流(RTSP數(shù)據(jù)流)到手機的傳輸。服務(wù)器端和手機終端播放器通信流程,如圖3所示。
圖3 服務(wù)器端與客戶端通信流程圖
設(shè)計Android版本播放器支持對視頻的編碼方法。通過access(訪問)、 demux(解復(fù)用)、decode(解碼)、output(輸出)主要步驟處理手機端接收到的節(jié)目信息流,制作兩個視頻點播界面,即播放列表和監(jiān)控列表。收聽視音頻的用戶可點擊播放列表,播放高清、超高清視頻節(jié)目,完成低功耗視頻點播;在商場、景區(qū)的用戶點擊監(jiān)控列表,對周圍要去吃飯或游玩的場所有大致了解;安?;蚱渌ぷ魅藛T也可以通過監(jiān)控列表畫面快速知曉公共場合的突發(fā)事件,有利于提高工作效率。
3.2視頻點播效果及分析
用戶安裝本系統(tǒng)的安卓手機播放器后,在一定范圍內(nèi),打開網(wǎng)絡(luò)流界面,輸入服務(wù)器的IP地址,基于UDP協(xié)議服務(wù)器在手機端打印出播放列表和監(jiān)控列表[10],當(dāng)一個或多個客戶端選擇資源后,通過UDP協(xié)議將控制信息發(fā)給流媒體服務(wù)器,通過建立的RTSP連接,手機端接收RTSP數(shù)據(jù)流正常播放視音頻。如圖4所示。因此,本文多功能視頻點播系統(tǒng)產(chǎn)生的有益效果主要有以下幾點:1)對ARM板及其外接設(shè)備的原始圖像無損壓縮,為整個裝置低功耗做基礎(chǔ),達到視頻傳輸速率快、失真少的目的;2)在服務(wù)器的WiFi連接熱點內(nèi),智能手機終端出現(xiàn)服務(wù)器視頻節(jié)目選單,包括外接設(shè)備傳輸?shù)椒?wù)器的視音頻,和錄像設(shè)備傳輸?shù)椒?wù)器并經(jīng)過壓縮的文件,手機播放器顯示播放列表和監(jiān)控列表;3)多個智能手機可同時接入流媒體服務(wù)器,通過播放器顯示的選單,不同用戶分別選擇不同的資源,或同時選擇同一個資源,可隨時切換,安卓手機能夠?qū)o損壓縮編碼的視頻源解碼,正常流暢地播放文件,實現(xiàn)免流量接收視音頻。
圖4 視頻點播效果(截圖)
本文采用的便攜式流媒體服務(wù)器視頻點播低功耗裝置,解決了服務(wù)器外接公共場合攝像機得到的原始視頻如何進行無損壓縮、壓縮編碼后的數(shù)據(jù)和流媒體服務(wù)器外接設(shè)備存儲的視音頻流如何傳輸給智能手機、手機客戶端如何接收節(jié)目信息列表并對壓縮編碼視頻源解碼播放、以及怎樣實現(xiàn)多個客戶端同時點播視頻等難題,實現(xiàn)在沒有互聯(lián)網(wǎng)接入的情況下,多個用戶同時接收大量視音頻。不僅減少安卓手機用戶的流量消耗,還可以給不同客戶的工作或游玩帶來更快更明顯的便利,所以,本系統(tǒng)具有較高的推廣和應(yīng)用價值。
[1]KIM J,KYUNG C M.A lossless embedded compression using significant bit truncation for HD video coding[J].IEEE transactions on circuit and systems for video technology,2010,20(6):810-849.
[2]曾金.嵌入式流媒體服務(wù)器的設(shè)計和實現(xiàn)[D].南京:南京郵電大學(xué),2011.
[3]趙鵬.視頻流媒體多播系統(tǒng)技術(shù)的研究[D].大慶:大慶石油學(xué)院,2008.
[4]王艷芳,戴永.基于UDP的數(shù)據(jù)可靠傳輸技術(shù)研究與應(yīng)用[J].計算機工程與應(yīng)用,2010,46(3):105-108.
[5]劉大紅.基于RTSP流媒體服務(wù)器的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2013.
[6]譚石堅.嵌入式VOD系統(tǒng)的設(shè)計與實現(xiàn) [D].廣州:華南理工大學(xué),2010.
[7]XIN L,MICHAEL T O.Edge-directed prediction for lossless compression of natural images[J]. IEEE transactions on image processing,2001,10(6):813-815.
[8]OKANO F,KANAZAWA M,HAMASAKI K,et al. Ultradefinition television system with 4000 scanning lines[R].London,UK:Broadcasters Broadcast,2004.
[9]NIKARA J,VASSILIADIS S,TAKALA J,et al. Multiple-symbol parallel decoding for variable length codes[J].IEEE transactions very-large-scale integration systems,2004,12(7):676-685.
[10]朱哲先.視頻監(jiān)控中流媒體數(shù)據(jù)轉(zhuǎn)發(fā)平臺的研究和實現(xiàn)[D].南京:南京郵電大學(xué),2014.
陳晨(1991— ),女,碩士生,主研無損視頻壓縮、嵌入式計算機網(wǎng)絡(luò);
殷海兵(1974— ),教授,碩士生導(dǎo)師,主要研究方向為視頻編解碼、芯片結(jié)構(gòu)設(shè)計和圖像處理。
責(zé)任編輯:許盈
VOD system based on embedded streaming media server
CHEN Chen, YIN Haibing
(CollegeofInformationEngineering,ChinaJiliangUniversity,Hangzhou310018,China)
Mobile communication network streaming media service charges is higher, where is no cable TV, broadband Internet connections, wireless WiFi Internet connection, people using mobile phone for audio program is limited by a lot. Aimed at the status quo, a kind of multifunctional video on demand system is put forward based on embedded streaming media server. With the ARM board and WiFi network adapter as a streaming media server, an Android mobile player is designed as the client, implementation on smart phones, multiple clients at the same time avoid traffic receiving server or an external device to push local HD, high-definition video. The system is suitable for bus, square, elevators, shopping malls, the scenic area, etc, and people use mobile phones to watch audio. They don’t have to take their mobile phone flow, and can choose their favorite programs free and fast.
streaming media server; Android player; VOD; video compression
TP393
A
10.16280/j.videoe.2016.09.008
浙江省自然科學(xué)基金項目(LY15F020022)
2015-12-22
文獻引用格式:陳晨,殷海兵.基于嵌入式流媒體服務(wù)器的視頻點播系統(tǒng)[J].電視技術(shù),2016,40(9):41-45.
CHEN C,YIN H B. VOD system based on embedded streaming media server[J].Video engineering,2016,40(9):41-45.