999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺(tái)的視頻監(jiān)控客戶端的設(shè)計(jì)與實(shí)現(xiàn)

2015-08-10 10:30:20盛平韓偉
電子設(shè)計(jì)工程 2015年22期
關(guān)鍵詞:界面用戶

盛平,韓偉

(江蘇大學(xué) 江蘇 鎮(zhèn)江 212013)

無(wú)線網(wǎng)絡(luò)攝像機(jī)是wireless ip network camera的縮寫(xiě),是基于TCP/IP協(xié)議的網(wǎng)絡(luò)攝像機(jī),主要組成結(jié)構(gòu)是攝像頭,視頻服務(wù)器和無(wú)線wifi模塊,使用linux操作系統(tǒng),支持H264,MPEG4編碼,支持RTSP視頻流傳輸協(xié)議,可以通過(guò)PC客戶端或者Android/IOS終端進(jìn)行實(shí)時(shí)視頻預(yù)覽和觀看錄像回放;網(wǎng)絡(luò)攝像機(jī)實(shí)際上是一臺(tái)視頻服務(wù)器和攝像鏡頭模塊的集成,擁有IP地址和DDNS動(dòng)態(tài)域名,并可通過(guò)WIFI網(wǎng)絡(luò)傳輸視頻信號(hào)。

Android是谷歌公司發(fā)布的一種基于Linux的自由及開(kāi)放源代碼的操作系統(tǒng),截止2014年第四季度,Android系統(tǒng)市場(chǎng)占有率為83.6%,遠(yuǎn)遠(yuǎn)高于蘋(píng)果的iOS系統(tǒng)、微軟WP系統(tǒng)和黑莓。中國(guó)移動(dòng)已經(jīng)建成全球最大的4G網(wǎng)絡(luò),擁有4G基站70萬(wàn)個(gè),用戶數(shù)量超過(guò)8 000萬(wàn),高速的移動(dòng)網(wǎng)絡(luò)促使著移動(dòng)應(yīng)用,尤其是對(duì)網(wǎng)絡(luò)帶寬依賴(lài)性非常強(qiáng)的流媒體應(yīng)用大量增長(zhǎng),基于以上原因本文提出了一種基于無(wú)線網(wǎng)絡(luò)攝像機(jī)的Android客戶端,視頻流暢、穩(wěn)定、可靠性高、實(shí)時(shí)性好,具有很好的市場(chǎng)應(yīng)用前景。

1 Android開(kāi)發(fā)平臺(tái)與開(kāi)發(fā)環(huán)境

1.1 Android平臺(tái)開(kāi)發(fā)簡(jiǎn)介

Android是一個(gè)分層的環(huán)境,構(gòu)建在 Linux內(nèi)核的基礎(chǔ)上,它具有豐富的功能。Android應(yīng)用程序是用 Java編程語(yǔ)言編寫(xiě)的,它們?cè)谝粋€(gè)虛擬機(jī)(Dalvik Virtual Machine)中運(yùn)行[1]。這是一種開(kāi)源技術(shù)。每個(gè) Android應(yīng)用程序都在 Dalvik VM的一個(gè)實(shí)例中運(yùn)行,這個(gè)實(shí)例駐留在一個(gè)由Linux內(nèi)核管理的進(jìn)程中。

本次開(kāi)發(fā)對(duì)應(yīng)的 Android 4.4.2(API level 19),相比與其他版本,Android4.4是一次重要的平臺(tái)發(fā)布版,為用戶和應(yīng)用程序開(kāi)發(fā)者增加了大量新特性,例如:Android4.4增加了幾個(gè)新的API,使應(yīng)用程序能夠與照片,影片和音樂(lè)等媒體交互。Media Effects是一個(gè)新的媒體效果框架,為了最佳效果,其直接應(yīng)用了OpenGL的紋理。

1.2 Android開(kāi)發(fā)環(huán)境簡(jiǎn)介

Android Studio是Google開(kāi)發(fā)的一款面向Android開(kāi)發(fā)者的IDE,基于Java語(yǔ)言集成開(kāi)發(fā)環(huán)境IntelliJ搭建而成[2]。相比與Eclipse+ADT,Android Studio提供了 IntelliJ IDEA的智能代碼編輯技術(shù),可實(shí)現(xiàn)自動(dòng)代碼完成、重構(gòu)、代碼分析等功能,Android studio還提供了一款英文名為Memory Monitor的性能分析工具,可顯示應(yīng)用內(nèi)存使用情況隨時(shí)間發(fā)生的變化,從而幫助開(kāi)發(fā)者找出改進(jìn)性能的辦法。而且,Android studio采用了一種基于自動(dòng)化構(gòu)建工具Gradle的系統(tǒng),支持在IDE之內(nèi)或之外進(jìn)行開(kāi)發(fā)編譯,有比較好的靈活性與擴(kuò)展性。

2 客戶端模塊設(shè)計(jì)及程序?qū)崿F(xiàn)

2.1 客戶端的模塊設(shè)計(jì)與流程

本客戶端的設(shè)計(jì)主要由Android UI(user interface)模塊,視頻流接收模塊,視頻播放模塊,APP檢測(cè)更新等模塊組成;

圖1 客戶端功能模塊結(jié)構(gòu)圖Fig.1 Structure chart of function module

Android SDK提供了Android平臺(tái)上使用Java進(jìn)行應(yīng)用開(kāi)發(fā)的 API(Application Programming Interface,應(yīng)用程序編程接口)和工具,VSTCCAM SDK是威視達(dá)康公司提供的供第三方開(kāi)發(fā)者獲得威視達(dá)康前端設(shè)備視頻流的軟件開(kāi)發(fā)工具包。本文主要使用這兩個(gè)SDK完成Android應(yīng)用的開(kāi)發(fā)。

Android UI模塊的功能有:用戶注冊(cè)和登錄;從服務(wù)器上獲取用戶賬號(hào)下面所有無(wú)線網(wǎng)絡(luò)攝像機(jī)的UID,名稱(chēng)等,并以listview的格式顯示給用戶;添加和刪除無(wú)線網(wǎng)絡(luò)攝像機(jī);查看用戶之前截取的圖像和錄制的視頻等。

視頻流接收模塊接收無(wú)線網(wǎng)絡(luò)攝像機(jī)通過(guò)云服務(wù)器轉(zhuǎn)發(fā)過(guò)來(lái)的視頻流,然后交給H264解碼模塊進(jìn)行解碼,最后通過(guò)視頻播放模塊將實(shí)時(shí)監(jiān)控視頻呈現(xiàn)給用戶。

本客戶端的具體流程:如果用戶已有賬號(hào),則直接登錄,如果沒(méi)有賬號(hào),進(jìn)入注冊(cè)頁(yè)面進(jìn)行注冊(cè)。用戶登錄后,APP從服務(wù)器獲取用戶已經(jīng)添加的網(wǎng)絡(luò)攝像機(jī)列表,同時(shí)在另一個(gè)線程(Thread)中,APP向服務(wù)器發(fā)送檢測(cè)最新版本的請(qǐng)求,如果服務(wù)器上存在更新版本,則提示用戶是否升級(jí)。用戶通過(guò)添加/刪除攝像機(jī)模塊可以進(jìn)行攝像機(jī)的添加和刪除動(dòng)作,結(jié)果發(fā)送到服務(wù)器進(jìn)行存儲(chǔ),下次用戶從其他設(shè)備登錄可以獲得最新的攝像機(jī)列表。用戶選擇需要預(yù)覽的攝像機(jī)調(diào)用VSTCCAM SDK獲取監(jiān)控實(shí)時(shí)視頻流,然后通過(guò)Surface ViewHolder將監(jiān)控畫(huà)面呈現(xiàn)給用戶。如圖2所示。

圖2 客戶端設(shè)計(jì)流程圖Fig.2 Flow chart of client design

2.2 客戶端的主要程序設(shè)計(jì)與實(shí)現(xiàn)

2.2.1 Android UI設(shè)計(jì)

系統(tǒng)界面設(shè)計(jì)包括登錄注冊(cè)界面和功能區(qū)界面,功能區(qū)界面按功能劃分有獲取并顯示攝像機(jī)列表,添加或是刪除攝像機(jī),實(shí)時(shí)視頻預(yù)覽,下載最新版本應(yīng)用4個(gè)部分,UI的設(shè)計(jì)遵循簡(jiǎn)潔原則,使交互界面易于用戶理解和使用。應(yīng)用界面的呈現(xiàn)使用Android SDK[3]中的Fragment控件,當(dāng)我們的應(yīng)用程序同時(shí)適用于平板電腦和手機(jī)時(shí),可以利用fragment實(shí)現(xiàn)靈活的布局,改善用戶體驗(yàn)。當(dāng)應(yīng)用運(yùn)行在手機(jī)上時(shí)設(shè)備列表和實(shí)時(shí)預(yù)覽顯示在不同的頁(yè)面,當(dāng)應(yīng)用運(yùn)行在平板上時(shí)設(shè)備列表和實(shí)時(shí)預(yù)覽這兩個(gè)fragment就可以嵌入在同一個(gè)activity中,從而更加充分的利用平板的屏幕空間。如圖:

圖3 平板電腦布局Fig.3 Layout in tablet

2.2.2 登陸功能、攝像機(jī)列表獲取等功能設(shè)計(jì)

Android客戶端通過(guò)Http請(qǐng)求方式[4],從服務(wù)器調(diào)用登陸接口,獲取攝像機(jī)列表接口,實(shí)現(xiàn)登陸并獲取設(shè)備列表,查詢報(bào)警信息,添加和刪除攝像機(jī)等功能。

Android客戶端登陸成功驗(yàn)證并獲取到攝像機(jī)列表后,使用Android SDK提供的ListView組件呈現(xiàn),它以列表的形勢(shì)展現(xiàn)具體內(nèi)容,比較適合多個(gè)攝像機(jī)的展示。

2.2.3 獲取攝像機(jī)實(shí)時(shí)視頻流模塊設(shè)計(jì)

獲取實(shí)時(shí)視頻流功能的實(shí)現(xiàn)主要依靠攝像機(jī)廠商提供的SDK。首先將libavi_utils.so,libvstc2_jni.so導(dǎo)入到 Android工程中l(wèi)ibs/armeabi/目錄下。根據(jù)接口的描述,為了使用該接口,需要新建包”vstc2.nativecaller”。 接著在類(lèi) NativeCaller中加載庫(kù)libavi_utils.so,libvstc2_jni.so并對(duì)本地方法進(jìn)行聲明。如下:

在 StartActivity類(lèi)中調(diào)用 NativeCaller.PPPPInitial()初始化服務(wù)器,之后使用onBind()啟動(dòng)類(lèi)名為bridgeservice的服務(wù),使用service之前需要在AndroidManifest.xml配置文件中添加Service,具體添加方法如下:

2.2.4 視頻實(shí)時(shí)預(yù)覽的程序設(shè)計(jì)

在整個(gè)移動(dòng)安防監(jiān)控系統(tǒng)中,Android端視頻實(shí)時(shí)預(yù)覽的最后也最重要的一步,由于4G或WIFI等無(wú)線網(wǎng)絡(luò)的不穩(wěn)定性與帶寬限制,實(shí)時(shí)預(yù)覽時(shí)Android客戶端必須對(duì)接收到的RTSP數(shù)據(jù)流進(jìn)行高效的解碼。

Android提供了一個(gè)專(zhuān)門(mén)的視圖控制器Android.widget.VideoView[5],封裝了MediaPlay的創(chuàng)建和初始化過(guò)程,Video View可以用在布局管理器中,提供包括縮放和著色在內(nèi)的很多顯示選項(xiàng)。為了顯示實(shí)時(shí)預(yù)覽視頻,創(chuàng)建VideoView部件并將他設(shè)置為用戶界面的內(nèi)容,然后設(shè)置傳入的bitmap并觸發(fā)start()方法。VideoView類(lèi)可以從不同的來(lái)源(例如資源文件或內(nèi)容提供器)讀取圖像,本系統(tǒng)通過(guò)從威視達(dá)康SDK獲取的視頻流讀取畫(huà)面數(shù)據(jù)。

SurfaceView繼承于視圖(View),可以直接從內(nèi)存或者DMA等硬件接口取得圖像數(shù)據(jù),是個(gè)非常重要的繪圖容器,這個(gè)視圖里內(nèi)嵌了一個(gè)專(zhuān)門(mén)用于繪制的Surface[6]。Surface View類(lèi)中主要方法如表1所示。

表1 SurfaceView主要方法Tab.1 Method of surfaceview

SurfaceHolder是一個(gè)接口,用于管理SurfaceView。里面有兩個(gè)常用的內(nèi)部接口SurfaceHolder.Callback和Surface Holder.Callback2,Callback2 用來(lái)實(shí)現(xiàn) Callback。

通過(guò)SurfaceHolder來(lái)操作畫(huà)面對(duì)象,當(dāng)SurfaceView初始 化 后 通 過(guò) 調(diào) 用 getHolder() 獲 取 SurfaceHolder,把SurfaceHandler傳給另一線程并且用lockCanvas()獲取canvas。 完成繪圖后,調(diào)用 unlockCanvasAndPost()釋放 canvas鎖,并顯示視圖。

2.2.5 檢測(cè)新版本功能程序設(shè)計(jì)

Android客戶端進(jìn)入到MainActivity主進(jìn)程中,會(huì)另開(kāi)一個(gè)線程,向服務(wù)發(fā)送一個(gè)post請(qǐng)求,Android客戶端解析出服務(wù)器返回的帶有最新的版本信息的數(shù)據(jù)后進(jìn)行對(duì)比,如果版本號(hào)相同則不進(jìn)行任何提示,如果本機(jī)版本號(hào)低于服務(wù)器提供的版本號(hào)則彈窗窗口提示用戶選擇是否升級(jí)。用戶確認(rèn)升級(jí)后,調(diào)用Android SDK提供的DownloadManager接口,進(jìn)行下載。

3 應(yīng)用平臺(tái)與客戶端測(cè)試

3.1 測(cè)試環(huán)境

本測(cè)試環(huán)境下使用的移動(dòng)終端采用三星galaxy4,該機(jī)型采用的是Android4.4.2系統(tǒng),網(wǎng)絡(luò)環(huán)境為中國(guó)移動(dòng)4G網(wǎng)絡(luò)。

3.2 攝像機(jī)選型

本次實(shí)驗(yàn)使用的無(wú)線網(wǎng)絡(luò)攝像機(jī)是型號(hào)為C7837WIP,生產(chǎn)廠商為深圳威視達(dá)康。攝像機(jī)具體參數(shù)如表2所示。

表2 無(wú)線網(wǎng)絡(luò)攝像機(jī)參數(shù)Tab.2 Parameters of wireless ip camera

3.3 應(yīng)用平臺(tái)與功能測(cè)試

軟件安裝完成后對(duì)核心功能進(jìn)行測(cè)試。輸入賬號(hào)密碼驗(yàn)證成功后進(jìn)入APP主界面,選擇相應(yīng)的攝像機(jī)進(jìn)行實(shí)時(shí)預(yù)覽。登陸界面和設(shè)備列表界面如圖4所示。點(diǎn)擊需要預(yù)覽的攝像機(jī)進(jìn)入實(shí)時(shí)預(yù)覽界面,在4G網(wǎng)絡(luò)下,視頻流暢,卡頓和掉幀率較低,穩(wěn)定性、實(shí)時(shí)性都比較好。實(shí)時(shí)監(jiān)控效果圖如圖5所示。

圖4 登陸界面和設(shè)備列表界面Fig.4 UI of log in and camera list

4 結(jié) 論

本文以Android為平臺(tái),開(kāi)發(fā)了一款針對(duì)無(wú)線網(wǎng)絡(luò)攝像機(jī)的客戶端。通過(guò)和服務(wù)器之間進(jìn)行交互,實(shí)現(xiàn)用戶登陸,注冊(cè),添加刪除攝像機(jī)等功能;利用攝像機(jī)廠商提供的網(wǎng)絡(luò)SDK獲得視頻流,再結(jié)合Android提供的SurfaceView接口實(shí)現(xiàn)了實(shí)時(shí)視頻預(yù)覽;程序設(shè)計(jì)時(shí)應(yīng)充分考慮到使用場(chǎng)景和用戶體驗(yàn),將大部分操作移動(dòng)到后臺(tái)執(zhí)行,同時(shí)自動(dòng)更新客戶端版本,同時(shí)用戶界面人性化,操作簡(jiǎn)單。整個(gè)方案可以應(yīng)用到許多多媒體應(yīng)用中,如視頻數(shù)據(jù)采集,庭院看護(hù),以及遠(yuǎn)程交流,實(shí)現(xiàn)穩(wěn)定可靠隨時(shí)隨地的實(shí)時(shí)視頻服務(wù)。

圖5 實(shí)時(shí)監(jiān)控效圖Fig.5 Picture of video surfaceillance

[1]Shane Conder,Lauren Darcey.Android wireless application development[M].Boston:Addison-Wesley,2010.

[2]Reto Meier.Professional Android 2 application development[M].Indianapolis:Wiley Pub,2009.

[3]James Steele,Nelson.To The Android developer's cookbook:building applications with the Android SDK[M].Boston:Addison-Wesley,2010.

[4]柯元旦,宋銳.Android程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2010.

[5]Jordan.Practical Android Projects[M].California-Berkeley,Apress,2011.

[6]丁偉.基于Android平臺(tái)的移動(dòng)流媒體客戶端[D].廣州:中山大學(xué),2010.

猜你喜歡
界面用戶
國(guó)企黨委前置研究的“四個(gè)界面”
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
空間界面
金秋(2017年4期)2017-06-07 08:22:16
電子顯微打開(kāi)材料界面世界之門(mén)
關(guān)注用戶
人機(jī)交互界面發(fā)展趨勢(shì)研究
關(guān)注用戶
關(guān)注用戶
手機(jī)界面中圖形符號(hào)的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
Camera360:拍出5億用戶
主站蜘蛛池模板: 国产欧美高清| 青青青视频蜜桃一区二区| 国产在线精品美女观看| 国产高清精品在线91| 91成人在线观看| 久久久久无码精品| 99久久精品视香蕉蕉| 亚洲黄色视频在线观看一区| 狠狠色噜噜狠狠狠狠色综合久| 91热爆在线| 成人免费午间影院在线观看| 欧美精品二区| 国产精品亚欧美一区二区| 亚洲精品免费网站| 男人天堂伊人网| 亚洲综合片| 伊人国产无码高清视频| 澳门av无码| 最新国产在线| 国产亚洲精久久久久久无码AV| 伊在人亚洲香蕉精品播放| 午夜欧美在线| 成AV人片一区二区三区久久| 欧美亚洲香蕉| 在线色国产| 欧美国产日产一区二区| 中文字幕乱码中文乱码51精品| 99久久精品免费看国产免费软件| 久久黄色一级片| 日本a级免费| 亚洲一区无码在线| 久久综合成人| 国产精品极品美女自在线网站| 国产精品第一区| 日本久久网站| 国产亚洲日韩av在线| 99视频在线免费| 亚洲动漫h| 人妖无码第一页| 72种姿势欧美久久久大黄蕉| 成人毛片在线播放| 国产精品开放后亚洲| 国产精品无码久久久久久| 欧美日韩v| 色婷婷电影网| 97人人模人人爽人人喊小说| 在线中文字幕网| 色窝窝免费一区二区三区 | 国产偷国产偷在线高清| 9久久伊人精品综合| 国产精品女人呻吟在线观看| 国产精品制服| 国产高潮视频在线观看| 国产日产欧美精品| 婷婷五月在线| 国产精品永久不卡免费视频| 毛片一级在线| 国产精品久久精品| 日韩毛片免费观看| 丰满少妇αⅴ无码区| 精品国产免费观看一区| 无码日韩精品91超碰| 欧洲精品视频在线观看| 国产精品自拍合集| 性69交片免费看| 国产精品久久久久久久伊一| 香蕉网久久| 少妇被粗大的猛烈进出免费视频| 国产精品女在线观看| 亚洲精品日产精品乱码不卡| 亚洲av无码成人专区| 亚洲av成人无码网站在线观看| 国产成人综合在线观看| 日本草草视频在线观看| 欧美精品H在线播放| 狠狠色综合久久狠狠色综合| 免费在线成人网| 亚洲国产天堂久久综合| 国产精品无码久久久久AV| 高清色本在线www| 91麻豆精品视频| 国产h视频在线观看视频|