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

基于Android平臺的視頻監控客戶端的設計與實現

2015-08-10 10:30:20盛平韓偉
電子設計工程 2015年22期
關鍵詞:界面用戶

盛平,韓偉

(江蘇大學 江蘇 鎮江 212013)

無線網絡攝像機是wireless ip network camera的縮寫,是基于TCP/IP協議的網絡攝像機,主要組成結構是攝像頭,視頻服務器和無線wifi模塊,使用linux操作系統,支持H264,MPEG4編碼,支持RTSP視頻流傳輸協議,可以通過PC客戶端或者Android/IOS終端進行實時視頻預覽和觀看錄像回放;網絡攝像機實際上是一臺視頻服務器和攝像鏡頭模塊的集成,擁有IP地址和DDNS動態域名,并可通過WIFI網絡傳輸視頻信號。

Android是谷歌公司發布的一種基于Linux的自由及開放源代碼的操作系統,截止2014年第四季度,Android系統市場占有率為83.6%,遠遠高于蘋果的iOS系統、微軟WP系統和黑莓。中國移動已經建成全球最大的4G網絡,擁有4G基站70萬個,用戶數量超過8 000萬,高速的移動網絡促使著移動應用,尤其是對網絡帶寬依賴性非常強的流媒體應用大量增長,基于以上原因本文提出了一種基于無線網絡攝像機的Android客戶端,視頻流暢、穩定、可靠性高、實時性好,具有很好的市場應用前景。

1 Android開發平臺與開發環境

1.1 Android平臺開發簡介

Android是一個分層的環境,構建在 Linux內核的基礎上,它具有豐富的功能。Android應用程序是用 Java編程語言編寫的,它們在一個虛擬機(Dalvik Virtual Machine)中運行[1]。這是一種開源技術。每個 Android應用程序都在 Dalvik VM的一個實例中運行,這個實例駐留在一個由Linux內核管理的進程中。

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

1.2 Android開發環境簡介

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

2 客戶端模塊設計及程序實現

2.1 客戶端的模塊設計與流程

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

圖1 客戶端功能模塊結構圖Fig.1 Structure chart of function module

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

Android UI模塊的功能有:用戶注冊和登錄;從服務器上獲取用戶賬號下面所有無線網絡攝像機的UID,名稱等,并以listview的格式顯示給用戶;添加和刪除無線網絡攝像機;查看用戶之前截取的圖像和錄制的視頻等。

視頻流接收模塊接收無線網絡攝像機通過云服務器轉發過來的視頻流,然后交給H264解碼模塊進行解碼,最后通過視頻播放模塊將實時監控視頻呈現給用戶。

本客戶端的具體流程:如果用戶已有賬號,則直接登錄,如果沒有賬號,進入注冊頁面進行注冊。用戶登錄后,APP從服務器獲取用戶已經添加的網絡攝像機列表,同時在另一個線程(Thread)中,APP向服務器發送檢測最新版本的請求,如果服務器上存在更新版本,則提示用戶是否升級。用戶通過添加/刪除攝像機模塊可以進行攝像機的添加和刪除動作,結果發送到服務器進行存儲,下次用戶從其他設備登錄可以獲得最新的攝像機列表。用戶選擇需要預覽的攝像機調用VSTCCAM SDK獲取監控實時視頻流,然后通過Surface ViewHolder將監控畫面呈現給用戶。如圖2所示。

圖2 客戶端設計流程圖Fig.2 Flow chart of client design

2.2 客戶端的主要程序設計與實現

2.2.1 Android UI設計

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

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

2.2.2 登陸功能、攝像機列表獲取等功能設計

Android客戶端通過Http請求方式[4],從服務器調用登陸接口,獲取攝像機列表接口,實現登陸并獲取設備列表,查詢報警信息,添加和刪除攝像機等功能。

Android客戶端登陸成功驗證并獲取到攝像機列表后,使用Android SDK提供的ListView組件呈現,它以列表的形勢展現具體內容,比較適合多個攝像機的展示。

2.2.3 獲取攝像機實時視頻流模塊設計

獲取實時視頻流功能的實現主要依靠攝像機廠商提供的SDK。首先將libavi_utils.so,libvstc2_jni.so導入到 Android工程中libs/armeabi/目錄下。根據接口的描述,為了使用該接口,需要新建包”vstc2.nativecaller”。 接著在類 NativeCaller中加載庫libavi_utils.so,libvstc2_jni.so并對本地方法進行聲明。如下:

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

2.2.4 視頻實時預覽的程序設計

在整個移動安防監控系統中,Android端視頻實時預覽的最后也最重要的一步,由于4G或WIFI等無線網絡的不穩定性與帶寬限制,實時預覽時Android客戶端必須對接收到的RTSP數據流進行高效的解碼。

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

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

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

SurfaceHolder是一個接口,用于管理SurfaceView。里面有兩個常用的內部接口SurfaceHolder.Callback和Surface Holder.Callback2,Callback2 用來實現 Callback。

通過SurfaceHolder來操作畫面對象,當SurfaceView初始 化 后 通 過 調 用 getHolder() 獲 取 SurfaceHolder,把SurfaceHandler傳給另一線程并且用lockCanvas()獲取canvas。 完成繪圖后,調用 unlockCanvasAndPost()釋放 canvas鎖,并顯示視圖。

2.2.5 檢測新版本功能程序設計

Android客戶端進入到MainActivity主進程中,會另開一個線程,向服務發送一個post請求,Android客戶端解析出服務器返回的帶有最新的版本信息的數據后進行對比,如果版本號相同則不進行任何提示,如果本機版本號低于服務器提供的版本號則彈窗窗口提示用戶選擇是否升級。用戶確認升級后,調用Android SDK提供的DownloadManager接口,進行下載。

3 應用平臺與客戶端測試

3.1 測試環境

本測試環境下使用的移動終端采用三星galaxy4,該機型采用的是Android4.4.2系統,網絡環境為中國移動4G網絡。

3.2 攝像機選型

本次實驗使用的無線網絡攝像機是型號為C7837WIP,生產廠商為深圳威視達康。攝像機具體參數如表2所示。

表2 無線網絡攝像機參數Tab.2 Parameters of wireless ip camera

3.3 應用平臺與功能測試

軟件安裝完成后對核心功能進行測試。輸入賬號密碼驗證成功后進入APP主界面,選擇相應的攝像機進行實時預覽。登陸界面和設備列表界面如圖4所示。點擊需要預覽的攝像機進入實時預覽界面,在4G網絡下,視頻流暢,卡頓和掉幀率較低,穩定性、實時性都比較好。實時監控效果圖如圖5所示。

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

4 結 論

本文以Android為平臺,開發了一款針對無線網絡攝像機的客戶端。通過和服務器之間進行交互,實現用戶登陸,注冊,添加刪除攝像機等功能;利用攝像機廠商提供的網絡SDK獲得視頻流,再結合Android提供的SurfaceView接口實現了實時視頻預覽;程序設計時應充分考慮到使用場景和用戶體驗,將大部分操作移動到后臺執行,同時自動更新客戶端版本,同時用戶界面人性化,操作簡單。整個方案可以應用到許多多媒體應用中,如視頻數據采集,庭院看護,以及遠程交流,實現穩定可靠隨時隨地的實時視頻服務。

圖5 實時監控效圖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程序設計[M].北京:北京航空航天大學出版社,2010.

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

[6]丁偉.基于Android平臺的移動流媒體客戶端[D].廣州:中山大學,2010.

猜你喜歡
界面用戶
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
空間界面
金秋(2017年4期)2017-06-07 08:22:16
電子顯微打開材料界面世界之門
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
人機交互界面發展趨勢研究
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 四虎影院国产| 亚洲欧美精品一中文字幕| 全部免费特黄特色大片视频| 中国一级毛片免费观看| 九一九色国产| 91福利免费| 色丁丁毛片在线观看| av在线5g无码天天| 久久五月视频| 免费人成黄页在线观看国产| 国产精品嫩草影院视频| 国产成人精品高清在线| 国产精品流白浆在线观看| 国产情精品嫩草影院88av| 亚洲欧美成人综合| 伊人中文网| 久久性视频| 欧美国产综合色视频| 99精品视频播放| 亚洲精品卡2卡3卡4卡5卡区| 精品无码一区二区三区电影| 亚洲精品大秀视频| 亚洲婷婷丁香| 欧美日本在线一区二区三区| 久久动漫精品| 国产日韩欧美在线播放| 在线视频亚洲欧美| 国产精品微拍| 国产男女免费视频| 欧美色99| 欧美国产三级| 91久久性奴调教国产免费| 九色免费视频| 午夜一级做a爰片久久毛片| 福利视频一区| 四虎精品国产AV二区| 黄色成年视频| 国产精品自在线拍国产电影| 国产在线精品人成导航| 中文字幕调教一区二区视频| 怡春院欧美一区二区三区免费| 亚洲国产理论片在线播放| av无码一区二区三区在线| 国产成人综合亚洲网址| 97精品伊人久久大香线蕉| 久久激情影院| 亚洲午夜国产片在线观看| 永久成人无码激情视频免费| 国产精品视频免费网站| 国产亚洲视频中文字幕视频| 亚亚洲乱码一二三四区| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 久久精品aⅴ无码中文字幕| 国产日韩欧美在线视频免费观看| 日韩精品中文字幕一区三区| 久久综合伊人77777| 亚洲男人天堂网址| 久久久久88色偷偷| 欧美综合区自拍亚洲综合天堂| 少妇高潮惨叫久久久久久| 中文纯内无码H| 亚洲中文字幕无码爆乳| 欧美亚洲国产日韩电影在线| 亚洲无线观看| 国产在线精品香蕉麻豆| 国产国产人在线成免费视频狼人色| 国产精品欧美激情| 中文字幕在线一区二区在线| 国产欧美在线观看视频| 一级毛片不卡片免费观看| 久久久久久久97| 欧美亚洲国产精品第一页| 亚洲第一av网站| 丁香五月婷婷激情基地| 婷婷亚洲视频| 亚洲天堂视频网| 国产欧美视频在线| 9cao视频精品| 国产伦片中文免费观看| 精品国产免费观看一区| 香蕉精品在线| 婷婷在线网站|