陳 晨,殷海兵
(中國計量學院 信息工程學院,浙江 杭州 310018)
?
基于嵌入式流媒體服務器的視頻點播系統
陳晨,殷海兵
(中國計量學院 信息工程學院,浙江 杭州 310018)
移動通信網絡流媒體服務資費較高,限制了人們在沒有有線電視、寬帶互聯網連接、無線WiFi互聯網連接的地方用手機收看視音頻節目。針對這一現狀,提出了一種基于嵌入式流媒體服務器的多功能視頻點播系統。以ARM板和WiFi網絡適配器作為流媒體服務器,設計一款Android手機播放器作為客戶端,實現在智能手機上、多個客戶端同時免流量接收服務器本地或外接設備推送的高清、超高清視頻。該系統適用于公交、廣場、電梯、商場、景區等場合,人們用手機觀看視音頻,實現不用耗費自己的流量,自由快速地選擇自己喜歡的節目。
流媒體服務器;安卓播放器;視頻點播;視頻壓縮
全球每天有超過1億部Android設備被激活,安卓手機因其開源操作系統、開源社區支持、強大的開發工具而占據智能手機主流。但是眾所周知,手機流量資費較高,人們用手機收看視音頻節目會受到相應數據流量套餐的限制。基于智能手機在流媒體服務方面,使用用戶多、流量資費高的現狀,推出了一種基于嵌入式流媒體服務器的視頻點播系統。為了滿足廣大用戶觀看高清、超高清視頻的需求,要求高清、超高清視頻在流媒體服務器傳輸過程中,低功耗、失真小,本系統設計了一種對原始圖像幀無損壓縮算法,通過圖像壓縮編碼技術來降低圖像冗余度,從而減小圖像的存儲容量[1]。相應的,需要開發新的Android手機播放器,對本發明中特定的編碼技術進行解碼,正常播放視頻節目。
本文設計的多功能視頻點播系統,基于嵌入式流媒體的服務器[2]既可以存儲外接設備的視音頻,又可以對外接公共場合攝像機得到的原始視頻進行無損壓縮存儲,最終安卓手機客戶端制作兩個界面,一個是播放列表、一個是監控列表。播放列表供人們自由選擇流媒體服務器存儲的視音頻,監控列表顯示在商場或景區一些人口密集場合,方便用戶快速選擇距離近且人少的場地,另外也可為工作人員(保安、安防人員)提供公共場所安全情況視頻展示,方便不同客戶自由點播自己喜歡的節目或者用手機接收視頻畫面,清楚了解商場、景區等動向,方便出行和工作。在計算機網絡中,多播[3]技術是在一個單一傳輸源,同時把消息或信息傳輸到一組目標計算機。多播是實現IP組播最常用的,經常用于互聯網協議(IP)的流媒體和網絡電視的應用程序。多播概念的實現產生于路由級別,路由器在發送數據信息到多播目的地址時,創建最佳的分配路徑。類似多播的應用還有視頻流媒體服務的需求、網絡游戲、音頻或視頻會議新技術等。因此,選擇多播技術和手機客戶端接收節目信號相結合,發明一個低成本、免流量資費、終端用戶多、便攜式的設備是一項有意義的推進。
已有技術1:無損壓縮算法JPEG-LS,把當前像素鄰近的幾個已編碼像素作為其上下文進行預測,得到預測殘差,并對這些殘差采用Golomb指數編碼。該算法只用了上下文預測與Golomb指數編碼,沒有用DCT變換和算術編碼,算法簡單,易于硬件實現。
已有技術2:CALIC算法,采用GAP(梯度自適應預測器)對圖像進行預測。根據預測鄰域水平方向和垂直方向的局部梯度來判斷圖像是否存在邊界以及邊界的強弱,并根據計算的結果動態調整預測函數從而得到預測殘差。對預測殘差采用基于CACM++的自適應算術編碼器進行編碼。
已有技術3:一種媒體內容共享系統中的媒體文件點播方法,關鍵技術是EPG在運營支撐系統OSS和終端之間作為媒介,配合URL,實現終端向分布式流媒體發送媒體文件服務請求后,可以正常接收到點播媒體文件的文件流并進行點播。
已有技術4:一種點播多媒體消息業務的方法及系統。在數據業務管理平臺、多媒體消息中心、用戶之間開展點播源的傳輸,又設計了多媒體消息中心對接收到的多媒體消息進行判斷的功能,根據用戶的需求,決定點播流程是繼續或終止。
已有技術5:智能手機已經開發了很多播放器。
然而現有技術都存在一些缺陷,由此更體現本系統提出的必要性。
已有技術1的缺陷:壓縮率比較低。本發明塊級/分層自適應幀內預測、殘差系統半定長變長編碼(Variable-Length Coding,VLC)、控制字段Huffman變長編碼的多技術協作無損壓縮使壓縮率能達到50%左右。
已有技術2的缺陷:是對整幅圖像進行預測,預測效率較低。本發明中采用的宏塊自適應幀內預測,支持兩種預測模式,即塊級預測和分層預測。其中,塊級預測支持水平和垂直方向的塊間和像素級預測,分層預測支持水平和垂直方向的平均和復制預測。每個宏塊根據殘差編碼比特和控制信息比特,優先選擇預測效率高者為最優的預測模式,提高預測效率。
已有技術3和4的視頻點播過程比較繁瑣,不適合在公交、電梯、景區、商場等小型場合人們的日常生活需求。本發明裝置簡單,成本低,免流量資費,終端用戶多,采用便攜式的設備,方便小型場合以簡易且價格低廉的ARM板作為服務器,廣大人民群眾用自己的Android手機作為客戶端,實現在智能手機上,多個客戶端同時免流量接收服務器本地或外接設備推送的高清、超高清視頻,不同客戶可以自由點播喜歡的節目或者用手機接收的視頻畫面清楚了解商場、景區等的動向,方便自己的出行和工作。
相比已有技術5,本發明開發的播放器針對特定的應用,即服務器上的流媒體文件、對某些特定場合錄像的原始視頻點播,能滿足特定的需求,即在電梯、車載、公交、小型廣場、景區等場合廣大用戶的利益。可實現特定功能,即能滿足對服務器已有視音頻文件和經無損壓縮算法編碼得到的視頻解碼回放。
本系統涉及多播技術、原始圖像幀無損壓縮、UDP[4]控制流、 RTSP[5]傳輸流、流媒體服務器、智能手機點播的系統方法,最終能達到在一定區域內,多個手機自由、免費、快速地點播服務器本地或外接設備視音頻。主要步驟有:1)將Linux系統內核設置為支持多播技術;2)ARM板本地或外接設備存儲的原始圖像幀以宏塊為預測編碼的基本單元,支持宏塊隨機訪問,實現無損壓縮;3)壓縮編碼后的視頻節目及外接設備存儲的完整視音頻通過WiFi網絡適配器傳輸給安卓手機客戶端,多個客戶端通過UDP和RTSP協議實現控制和流傳輸;4)多個智能手機終端接收到數據資源,顯示節目列表,點播視頻進行信源解碼和回放。系統結構如圖1所示。

圖1 系統結構圖
3.1視頻點播步驟
首先,ARM板搭建多播環境,允許多個客戶端同時接入流媒體服務器,編譯、安裝live555,建立RTSP協議流傳輸連接[6]。多播是一種網絡協議操作,允許一個源同時發送數據包到多個端點。多播要求高帶寬,點到面應用,如分布式計算、高定義視頻流、存儲區域網絡。從傳統意義上講,多播是實施電子在路由器的網絡層中,通過復制和存儲在緩沖區中的數據包。然而,通過在網絡協議棧的光層遷移組播操作,基于分組的多種功能可以較低的成本得到支持。ARM開發板結合live555,它是目前實現rtsp協議使用最多、用途最廣的開源代碼,而且它的更新速度很快,方便研究人員根據不同需求開發新功能。Live555已經實現了基于UDP和TCP的傳輸,支持MPG,MKV,H.264,AMR等文件的點播,有服務器端和客戶端兩種實現方式。由于本系統是在一個多播環境下實現的,所以需要對其中GroupSock和LiveMedia兩大模塊進行設計和編譯,生成可執行文件live555MediaServer_IMX6S,在后續過程中調用。
流式傳輸是流媒體技術實現的重要部分。為了保證數據能夠正確完整地傳輸,在傳輸之前要對流媒體服務器外接設備傳送的原始視頻進行預處理,即對原始視頻采取高效壓縮。本文中采用塊級/分層自適應幀內預測、殘差系統半定長變長編碼(Variable-Length Coding,VLC)、控制字段Huffman變長編碼的多技術協作無損壓縮系統方案;提出的自適應高效幀內預測,支持不同區域不同小塊自適應編碼,支持宏塊級數據隨機訪問;并基于編碼比特消耗最小化的原則,在預測效率和預測殘差編碼比特效率之間平衡。對原始視頻進行無損壓縮包括兩大步驟:預測和熵編碼。1)基于宏塊的自適應幀內預測。它支持兩種預測模式,即塊級預測和分層預測。其中,塊級預測支持水平和垂直方向的塊間和像素級預測,分層預測支持水平和垂直方向的平均和復制預測。每個宏塊根據殘差編碼比特和控制信息比特,優先選擇預測效率高者為最優的預測模式。2)基于小塊的半定長變長編碼。它將預測殘差自適應劃分為8個變長的編碼區間,并用相應的字段標識,對這些字段采用Huffman編碼,并將每個區間內的殘差自適應分為不同大小的塊,塊內采用定長編碼[7-9]。高效壓縮算法結構如圖2所示。

圖2 高效壓縮算法
基于對視頻進行高效壓縮使數據量減少,且對視頻不要求分組順序到達,本文ARM系統實現流媒體服務器,選擇在數據傳輸過程中延遲小、數據傳輸效率高的Socket的UDP雙向通信。雖然UDP是無連接通信,但是本系統實現發送端和接收端的雙向通信。多個智能手機終端通過UDP協議獲取服務器所有高效處理過的視頻包含路徑、名稱的列表。設計在手機端列表只顯示名稱。
通過WiFi網絡適配器實現一個WiFi連接熱點,根據手機端列表的路徑找到視頻節目源,基于RTSP流媒體傳輸協議在客戶端(智能手機)和流媒體服務器之間建立流媒體傳輸連接,實現視音頻數據流(RTSP數據流)到手機的傳輸。服務器端和手機終端播放器通信流程,如圖3所示。

圖3 服務器端與客戶端通信流程圖
設計Android版本播放器支持對視頻的編碼方法。通過access(訪問)、 demux(解復用)、decode(解碼)、output(輸出)主要步驟處理手機端接收到的節目信息流,制作兩個視頻點播界面,即播放列表和監控列表。收聽視音頻的用戶可點擊播放列表,播放高清、超高清視頻節目,完成低功耗視頻點播;在商場、景區的用戶點擊監控列表,對周圍要去吃飯或游玩的場所有大致了解;安保或其他工作人員也可以通過監控列表畫面快速知曉公共場合的突發事件,有利于提高工作效率。
3.2視頻點播效果及分析
用戶安裝本系統的安卓手機播放器后,在一定范圍內,打開網絡流界面,輸入服務器的IP地址,基于UDP協議服務器在手機端打印出播放列表和監控列表[10],當一個或多個客戶端選擇資源后,通過UDP協議將控制信息發給流媒體服務器,通過建立的RTSP連接,手機端接收RTSP數據流正常播放視音頻。如圖4所示。因此,本文多功能視頻點播系統產生的有益效果主要有以下幾點:1)對ARM板及其外接設備的原始圖像無損壓縮,為整個裝置低功耗做基礎,達到視頻傳輸速率快、失真少的目的;2)在服務器的WiFi連接熱點內,智能手機終端出現服務器視頻節目選單,包括外接設備傳輸到服務器的視音頻,和錄像設備傳輸到服務器并經過壓縮的文件,手機播放器顯示播放列表和監控列表;3)多個智能手機可同時接入流媒體服務器,通過播放器顯示的選單,不同用戶分別選擇不同的資源,或同時選擇同一個資源,可隨時切換,安卓手機能夠對無損壓縮編碼的視頻源解碼,正常流暢地播放文件,實現免流量接收視音頻。

圖4 視頻點播效果(截圖)
本文采用的便攜式流媒體服務器視頻點播低功耗裝置,解決了服務器外接公共場合攝像機得到的原始視頻如何進行無損壓縮、壓縮編碼后的數據和流媒體服務器外接設備存儲的視音頻流如何傳輸給智能手機、手機客戶端如何接收節目信息列表并對壓縮編碼視頻源解碼播放、以及怎樣實現多個客戶端同時點播視頻等難題,實現在沒有互聯網接入的情況下,多個用戶同時接收大量視音頻。不僅減少安卓手機用戶的流量消耗,還可以給不同客戶的工作或游玩帶來更快更明顯的便利,所以,本系統具有較高的推廣和應用價值。
[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]曾金.嵌入式流媒體服務器的設計和實現[D].南京:南京郵電大學,2011.
[3]趙鵬.視頻流媒體多播系統技術的研究[D].大慶:大慶石油學院,2008.
[4]王艷芳,戴永.基于UDP的數據可靠傳輸技術研究與應用[J].計算機工程與應用,2010,46(3):105-108.
[5]劉大紅.基于RTSP流媒體服務器的設計與實現[D].西安:西安電子科技大學,2013.
[6]譚石堅.嵌入式VOD系統的設計與實現 [D].廣州:華南理工大學,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]朱哲先.視頻監控中流媒體數據轉發平臺的研究和實現[D].南京:南京郵電大學,2014.
陳晨(1991— ),女,碩士生,主研無損視頻壓縮、嵌入式計算機網絡;
殷海兵(1974— ),教授,碩士生導師,主要研究方向為視頻編解碼、芯片結構設計和圖像處理。
責任編輯:許盈
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
浙江省自然科學基金項目(LY15F020022)
2015-12-22
文獻引用格式:陳晨,殷海兵.基于嵌入式流媒體服務器的視頻點播系統[J].電視技術,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.