肖遠(yuǎn)東,蔡聲鎮(zhèn)
(福建師范大學(xué)軟件學(xué)院,福州350108)
基于iOS平臺的移動視頻監(jiān)控軟件設(shè)計(jì)
肖遠(yuǎn)東,蔡聲鎮(zhèn)
(福建師范大學(xué)軟件學(xué)院,福州350108)
傳統(tǒng)的遠(yuǎn)程視頻監(jiān)控系統(tǒng)所需軟硬件資源大、視頻傳輸協(xié)議和視頻采集設(shè)備控制協(xié)議相互獨(dú)立,系統(tǒng)傳輸帶寬要求高、時延長、實(shí)時性不高。為解決這些問題,利用開放無線監(jiān)控協(xié)議中的信息體結(jié)構(gòu),將視頻信息傳輸、視頻采集設(shè)備控制和其他信息融合在一個數(shù)據(jù)包中,并基于iOS移動操作系統(tǒng)和H.264視頻編碼標(biāo)準(zhǔn),設(shè)計(jì)并實(shí)現(xiàn)一種集視頻傳輸與控制于一體的移動視頻監(jiān)控軟件。測試結(jié)果表明,該移動視頻監(jiān)控軟件可有效提高移動視頻監(jiān)控系統(tǒng)的性能,具有控制響應(yīng)速度快、傳輸帶寬要求低、分辨率自適應(yīng)以及實(shí)時視頻播放流暢等特點(diǎn)。
移動視頻監(jiān)控;開放無線監(jiān)控協(xié)議;H.264格式;iOS操作系統(tǒng);FFmpeg編解碼庫;分辨率自適應(yīng)
在視頻監(jiān)控已廣泛運(yùn)用于各行各業(yè)的今天,隨著移動網(wǎng)絡(luò)帶寬的提升和移動終端的普及,人們對傳統(tǒng)視頻監(jiān)控的需求也悄然發(fā)生變化,移動視頻監(jiān)控迅速成為應(yīng)用開發(fā)的熱點(diǎn)。傳統(tǒng)的視頻監(jiān)控多數(shù)采用實(shí)時傳輸協(xié)議(Real-time Transport Protocol, RTP)進(jìn)行視頻傳輸,并配合實(shí)時傳輸控制協(xié)議(Real-time Transport Control Protocol,RTCP)、實(shí)時流傳輸協(xié)議(Real-time Streaming Protocol,RTSP)進(jìn)行視頻數(shù)據(jù)質(zhì)量控制[1-2]。這種架構(gòu)的流媒體系統(tǒng)主要應(yīng)用于大規(guī)模流媒體直播和點(diǎn)播等系統(tǒng),需要專門的流媒體服務(wù)器支持,協(xié)議棧的邏輯實(shí)現(xiàn)較為復(fù)雜,因此支持RTP/RTSP客戶端所需的軟、硬件資源要求高、規(guī)模大,對于移動終端而言實(shí)現(xiàn)的難度很大[3]。此類視頻點(diǎn)播系統(tǒng)雖然能得到較好的畫質(zhì),但由于RTP/RTSP的附加信息多,流量開銷大、帶寬要求高[4-5],連接時需要進(jìn)行多次握手,無形中增加了數(shù)據(jù)傳輸和解析的時延,降低了監(jiān)控系統(tǒng)的實(shí)時性。此外,以上協(xié)議只對視頻的播放、暫停等進(jìn)行控制[6],而在遠(yuǎn)程視頻監(jiān)控系統(tǒng)中,通常需要對監(jiān)控現(xiàn)場的視頻采集設(shè)備進(jìn)行控制,如攝像機(jī)視角的移動和焦距的調(diào)整等,對于這些非視頻流的事務(wù)處理信息,一般需要單獨(dú)進(jìn)行控制指令交互的研發(fā)[7]。顯然,上述實(shí)時傳輸協(xié)議不能適應(yīng)軟硬件資源相對較小的移動視頻監(jiān)控系統(tǒng)的需求。
針對以上問題,本文采用開放無線監(jiān)控協(xié)議(Open Wireless Surveillance Protocol,OWSP)作為視頻傳輸及控制信息的承載,基于iOS移動操作系統(tǒng)以及H.264視頻編碼標(biāo)準(zhǔn)[8],設(shè)計(jì)并實(shí)現(xiàn)一種能與多數(shù)現(xiàn)場主流監(jiān)控設(shè)備對接的移動視頻監(jiān)控系統(tǒng)。
實(shí)時視頻監(jiān)控系統(tǒng)與傳統(tǒng)視頻點(diǎn)播系統(tǒng)不同,它更加注重視頻數(shù)據(jù)的實(shí)時性與可控制性。OWSP是針對遠(yuǎn)程視頻監(jiān)控設(shè)計(jì)的一種實(shí)時視頻監(jiān)控協(xié)議,能適應(yīng)各類視頻編碼標(biāo)準(zhǔn)。其主要特點(diǎn)是附加信息的字節(jié)數(shù)少,可同時傳輸視頻、音頻和其他控制指令,而且支持用戶定制的功能拓展,特別適合于注重實(shí)時性而對畫質(zhì)要求不高的遠(yuǎn)程視頻監(jiān)控系統(tǒng)。
2.1 OWSP數(shù)據(jù)包結(jié)構(gòu)
OWSP基于可靠的TCP協(xié)議[9],每個數(shù)據(jù)包均有一個8 Byte的公共包頭,其中,前4 Byte用于存儲該數(shù)據(jù)包除這4 Byte以外的總長度(即length),另4 Byte用于描述該數(shù)據(jù)包在本次連接中的包序號。除公共包頭外,每個數(shù)據(jù)包還具有一個或多個信息體,信息體中包含各類控制信息、設(shè)備參數(shù)和視頻數(shù)據(jù)。每個信息體分為3個部分,即信息體編號(2 Byte)、信息體長度(2 Byte)和信息體內(nèi)容。OWSP的數(shù)據(jù)包結(jié)構(gòu)如圖1所示。
圖1 OWSP數(shù)據(jù)包結(jié)構(gòu)
2.2 OWSP的主要特點(diǎn)
與傳統(tǒng)的傳輸協(xié)議相比,OWSP的主要特點(diǎn)可體現(xiàn)在表1中。
OWSP僅用公共包頭中的包序號和包長信息校驗(yàn)丟包和包信息的完整性,省略了大量的校驗(yàn)信息,其優(yōu)勢在于有效減少數(shù)據(jù)包的附加信息量;代價是削弱了數(shù)據(jù)完整性的校驗(yàn)?zāi)芰?但對于移動視頻監(jiān)控系統(tǒng)而言,存在個別丟包或數(shù)據(jù)包不完整的現(xiàn)象,對重現(xiàn)圖像效果影響不大。
OWSP特殊的信息體結(jié)構(gòu)可方便地將包括控制指令在內(nèi)的附加信息整合到數(shù)據(jù)包體中,對于多個現(xiàn)場設(shè)備的應(yīng)用場合,可將相應(yīng)的控制指令設(shè)計(jì)為不同編號的信息體,現(xiàn)場終端解析對應(yīng)編號的信息體即可獲得相應(yīng)現(xiàn)場設(shè)備的控制指令。
表1 RTP/RTSP與OWSP對比
3.1 軟件架構(gòu)設(shè)計(jì)
移動視頻監(jiān)控系統(tǒng)主要由視頻采集端和移動客戶端組成,兩者通過Internet[10]建立通信鏈路。
視頻采集端包括視頻監(jiān)控錄像機(jī)和視頻攝像機(jī),其中視頻監(jiān)控錄像機(jī)采用Linux內(nèi)核,具有強(qiáng)大的二次開發(fā)功能,支持同時記錄多路視頻并對與之連接的攝像設(shè)備進(jìn)行控制,通過其網(wǎng)絡(luò)連接端口,可方便搭建連接服務(wù),實(shí)現(xiàn)視頻連接和設(shè)備控制管理。
移動客戶端基于iOS移動終端開發(fā),客戶端通過移動網(wǎng)絡(luò)或Wi-Fi網(wǎng)絡(luò)接入Internet并連接視頻監(jiān)控錄像機(jī),實(shí)現(xiàn)設(shè)備信息或視頻數(shù)據(jù)的交互。系統(tǒng)整體架構(gòu)如圖2所示,其中視頻采集端軟件由視頻編碼、數(shù)據(jù)切片和OWSP封裝3個模塊構(gòu)成;移動客戶端軟件由數(shù)據(jù)緩沖、OWSP解析、視頻解碼和視頻播放4個部分構(gòu)成。
圖2 移動視頻監(jiān)控系統(tǒng)架構(gòu)
3.2 視頻采集端軟件簡介
本文的視頻采集端軟件是在原視頻監(jiān)控錄像機(jī)系統(tǒng)軟件基礎(chǔ)上進(jìn)行二次開發(fā)。通過移植FFmpeg開源框架并采用H.264視頻編碼標(biāo)準(zhǔn)對監(jiān)控視頻進(jìn)行編碼。然后以幀為單位對編碼后的視頻數(shù)據(jù)進(jìn)行切片,即一幀為一個數(shù)據(jù)切片。最后按照OWSP協(xié)議對切割好的視頻數(shù)據(jù)進(jìn)行封裝,并提供給iOS移動終端調(diào)用。
3.3 移動客戶端軟件設(shè)計(jì)
2)建立新坐標(biāo)系。根據(jù)計(jì)算的三角形邊長,構(gòu)建計(jì)算用三角形,其三角形頂點(diǎn)為M1、M2、M3,把M1點(diǎn)作為新坐標(biāo)系的原點(diǎn)(0,0),M1及M2構(gòu)成的邊作為X軸,如圖3所示,則這3個點(diǎn)在新坐標(biāo)系下的坐標(biāo)
3.3.1 軟件架構(gòu)設(shè)計(jì)
移動客戶端軟件安裝于iPhone、iPad等移動終端上,使移動終端具備與視頻采集端進(jìn)行連接和實(shí)現(xiàn)監(jiān)控的功能,該軟件的架構(gòu)如圖3所示。
圖3 客戶端軟件架構(gòu)
圖3 所示客戶端軟件分為UI、視頻解碼、數(shù)據(jù)解析與封裝以及網(wǎng)絡(luò)通信4個模塊。其中,網(wǎng)絡(luò)通信模塊采用TCP協(xié)議,通過Internet與視頻采集端連接,獲取以O(shè)WSP協(xié)議封裝的數(shù)據(jù)包。接著由數(shù)據(jù)解析/封裝模塊對接收到的數(shù)據(jù)包進(jìn)行拆包和數(shù)據(jù)類型識別,并根據(jù)識別結(jié)果對不同信息采取不同的解析方式,獲得H.264視頻數(shù)據(jù)和設(shè)備參數(shù)等信息;同時,該模塊也對UI模塊下發(fā)的連接請求或控制操作指令進(jìn)行OWSP封裝,然后下發(fā)至網(wǎng)絡(luò)通信模塊等待發(fā)送。視頻解碼模塊利用設(shè)備參數(shù)信息配置解碼參數(shù),再使用該參數(shù)對H.264視頻數(shù)據(jù)進(jìn)行解碼并生成RGB數(shù)據(jù)。最后通過UI模塊呈現(xiàn)至屏幕,完成監(jiān)控視頻的重現(xiàn)。UI模塊還提供用戶選擇鏈接請求和設(shè)備控制操作輸入。本設(shè)計(jì)的視頻數(shù)據(jù)解碼模塊移植了FFmpeg至iOS操作系統(tǒng)作為解碼內(nèi)核,實(shí)現(xiàn)對H.264視頻數(shù)據(jù)的解碼。
本文客戶端軟件除了視頻監(jiān)控外,還具有監(jiān)控設(shè)備控制、分辨率自適應(yīng)、通道切換、連接自動檢測等功能。限于篇幅,以下僅對移動客戶端軟件主程序進(jìn)行介紹。
3.3.2 軟件主程序設(shè)計(jì)
本文移動客戶端軟件的主程序流程如圖4所示。與視頻采集端的連接請求由移動客戶端發(fā)起,當(dāng)用戶名及密碼驗(yàn)證通過后,視頻采集端則根據(jù)需求發(fā)送對應(yīng)通道的視頻數(shù)據(jù);若驗(yàn)證失敗則結(jié)束流程并提示連接失敗。
圖4 移動客戶端軟件的主程序流程
圖4所示流程在實(shí)際應(yīng)用中加入了iOS特有的Delegate機(jī)制[11],系統(tǒng)可自動檢測網(wǎng)絡(luò)狀態(tài),若網(wǎng)絡(luò)無法連接或斷開,則通知用戶并釋放系統(tǒng)資源。視頻解碼部分則加入SPS[12]探測技術(shù),利用H.264數(shù)據(jù)中的SPS信息獲得視頻數(shù)據(jù)的真實(shí)分辨率,實(shí)現(xiàn)解碼分辨率的自適應(yīng)調(diào)整功能,可避免分辨率參數(shù)與實(shí)際分辨率不符而導(dǎo)致解碼失敗。
4.1 測試環(huán)境與方法
本文的測試環(huán)境由監(jiān)控視頻采集端和移動終端構(gòu)成。其中采集端使用1臺通用硬盤錄像機(jī)及4臺球形攝像機(jī),硬盤錄像機(jī)通過有線網(wǎng)絡(luò)接入Internet或本地局域網(wǎng);移動終端選用安裝了本文客戶端軟件的iPhone4智能手機(jī),并通過Wi-Fi或移動網(wǎng)絡(luò)或本地?zé)o線局域網(wǎng)與視頻采集端進(jìn)行連接。測試在不同網(wǎng)絡(luò)環(huán)境下,視頻采集端至移動客戶端之間的連接時間、視頻播放流暢度、控制視頻采集設(shè)備的響應(yīng)時間。另外,還針對OWSP與RTSP協(xié)議進(jìn)行傳輸及解碼的時延對比測試。視頻采集端所采集視頻圖像分辨率分別為352×288及174×144,幀率為25 f/s。
4.2 測試結(jié)果及分析
4.2.1 不同網(wǎng)絡(luò)環(huán)境的系統(tǒng)響應(yīng)測試
本測試使移動客戶端分別通過Wi-Fi、聯(lián)通3G、移動2G三種不同網(wǎng)絡(luò)環(huán)境進(jìn)行連接響應(yīng)、播放流暢度、控制響應(yīng)時間的測試,測試結(jié)果見表2,各類型網(wǎng)絡(luò)測試視頻畫面如圖5~圖7所示。
表2 不同網(wǎng)絡(luò)環(huán)境下系統(tǒng)測試結(jié)果
圖5 Wi-Fi網(wǎng)絡(luò)測試視頻畫面
圖6 3G網(wǎng)絡(luò)測試視頻畫面
圖7 2G網(wǎng)絡(luò)測試視頻畫面
4.2.2 不同傳輸協(xié)議的延時特性測試
使用無線路由搭建本地局域網(wǎng),視頻采集端采用有線方式接入局域網(wǎng)路由器,移動客戶端通過無線網(wǎng)絡(luò)方式接入本地局域網(wǎng)。分別使用RTSP及OWSP作為傳輸協(xié)議,統(tǒng)計(jì)真實(shí)環(huán)境與對應(yīng)視頻從采集開始到解碼完成的時間差。所采集視頻圖像分辨率為352×288,幀率為25 f/s。由實(shí)驗(yàn)統(tǒng)計(jì)結(jié)果可以看出,同等情況下,OWSP的實(shí)時效果優(yōu)于RTSP協(xié)議。測試結(jié)果如圖8所示。
圖8 2種協(xié)議延時對比
本文提出的移動視頻監(jiān)控客戶端基于iOS操作系統(tǒng)研發(fā),采用開放無線視頻接入規(guī)范,通過移動網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互,具有帶寬要求低、連接快、延時少等特點(diǎn)。測試結(jié)果表明,即使在2G網(wǎng)絡(luò)下亦可流暢播放監(jiān)控視頻,且具有較好的實(shí)時性。OWSP強(qiáng)大的可拓展性,還能為音頻、控制、數(shù)字水印等功能的拓展提供支持。
[1] 樊 姍.基于RTP的H264視頻傳輸技術(shù)的研究[D].濟(jì)南:山東大學(xué),2008.
[2] 徐鵬宇,許子燦.基于SIP協(xié)議的監(jiān)視系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2013,39(11):289-294.
[3] 驥君子.淺談HTTP Adaptive Streaming技術(shù)及其前景[J].世界寬帶網(wǎng)絡(luò),2011,18(5).
[4] Schulzrinne H,Rao A,Lanphier R.Real Time Streaming Protocol[S].RFC 2326,1998.
[5] Schulzrinne H,Casncr S,Frederick R,et al.RTP: Atransport Protocol for Real-time Applications[S]. RFC 3550,2003.
[6] 褚 典,江春華,基于SIP、RTP/RTCP和RTSP協(xié)議的視頻監(jiān)控系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2013(11): 139-142.
[7] 徐鵬宇,許子燦.基于SIP協(xié)議的監(jiān)視系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2013,39(11):289-294.
[8] 畢厚杰.H.264/AVC視頻編碼標(biāo)準(zhǔn)的技術(shù)特點(diǎn)和評價[J].世界電信,2004,(9):34-36.
[9] 馮先成,李德駿.計(jì)算機(jī)網(wǎng)絡(luò)及應(yīng)用[M].武漢:華中科技大學(xué)出版社,2011.
[10] Wikipedia.Internet[EB/OL].[2014-03-16].http:// en.wikipedia.org/wiki/Internet.
[11] Apple.iOS Developer Library[EB/OL].[2014-03-16]. https://developer.apple.com/library/ios/navigation/ index.html.
[12] Grecos C,Yang Mingyuan.Fast Inter Mode Prediction for P Slices in the H264 Video Coding Standard[J]. IEEE Transactions on Broadcasting,2005,51(2): 256-263.
編輯 顧逸斐
Design of Mobile Video Surveillance Software Based on iOS Platform
XIAO Yuandong,CAI Shengzhen
(Faculty of Software,Fujian Normal University,Fuzhou 350108,China)
For large software and hardware resources required of traditional remote video surveillance system, independence between video transmission protocol and video capture device control protocol,high bandwidth requirements,large delay,and real-time differential,this paper uses Open Wireless Surveillance Protocol(OWSP)specific information structure,puts the video data transmission,device control,and other information in a packet,and based on the iOS mobile operating system and H.264 video standard,designs and implements a set of video transmission and control in one of the mobile video monitoring software.Test results show that this monitoring software effectively improves the performance of mobile video surveillance system with fast control response,low transmission bandwidth,adaptive resolution,and real-time video play smooth.
mobile video surveillance;Open Wireless Surveillance Protocol(OWSP);H.264 format;iOS operating system;FFmpeg codec library;adaptive resolution
肖遠(yuǎn)東,蔡聲鎮(zhèn).基于iOS平臺的移動視頻監(jiān)控軟件設(shè)計(jì)[J].計(jì)算機(jī)工程,2015,41(2):268-271,277.
英文引用格式:Xiao Yuandong,Cai Shengzhen.Design of Mobile Video Surveillance Software Based on iOS Platform[J].Computer Engineering,2015,41(2):268-271,277.
1000-3428(2015)02-0268-04
:A
:TP393
10.3969/j.issn.1000-3428.2015.02.051
教育部基金資助重點(diǎn)項(xiàng)目(212087);福建省科技廳基金資助重大項(xiàng)目(2011H6009);福建高新技術(shù)開發(fā)計(jì)劃基金資助重點(diǎn)項(xiàng)目(2012H0021)。
肖遠(yuǎn)東(1989-),男,碩士研究生,主研方向:移動平臺,嵌入式系統(tǒng);蔡聲鎮(zhèn)(通訊作者),教授。
2014-04-11
:2014-05-05E-mail:csz@fjnu.edu.cn