• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于wifi面向Android的遠程視頻監(jiān)控客戶端開發(fā)

      2013-04-29 00:44:03李巧巧
      網(wǎng)友世界 2013年9期
      關鍵詞:視頻監(jiān)控

      【摘 要】近年來,隨著生活節(jié)奏的加快,移動手持設備的普及,以及人們自我保護意識的增強,使得基于移動手持設備的視頻監(jiān)控系統(tǒng)需求量大量增加。本文針對目前需求現(xiàn)狀,借助Android系統(tǒng)的用戶界面編程、H.264解碼器、以及Android網(wǎng)絡與通信等技術設計了一款遠程視頻監(jiān)控系統(tǒng)。用戶可根據(jù)調(diào)時操作階段選擇觀看監(jiān)控視頻,為外出者提供了極大的方便。

      【關鍵詞】wifi;Android;視頻監(jiān)控

      1.引言

      Android系統(tǒng)采用了開源的Linux操作系統(tǒng),底層使用了訪問硬件速度最快的C語言,應用層采用了簡單而強大的Java語言,這使得Android在一眾手機操作系統(tǒng)中尤為突出。在這個移動互聯(lián)網(wǎng)時代,Android系統(tǒng)更是具有無限的潛能。良好的無線網(wǎng)絡環(huán)境,配合人們危機意識增強的現(xiàn)象及Android終端的普及促使產(chǎn)生了利用手機隨時隨地可進行遠程監(jiān)控房屋財產(chǎn)等的需求。因此,設計與研究基于wifi網(wǎng)絡環(huán)境面向Android的遠程視頻監(jiān)控系統(tǒng),具有明顯的現(xiàn)實性意義。

      本文所設計的平臺是基于Google開發(fā)的開源操作系統(tǒng)Android,并利用java web技術與wifi網(wǎng)絡環(huán)境實現(xiàn)的。本系統(tǒng)為經(jīng)常加夜班或者出差的白領等具有相同需求人們提供了方便,可供大家進行調(diào)時監(jiān)控,以便更加安心的專注于工作學習等。

      2.系統(tǒng)分析與設計

      2.1 系統(tǒng)設計思想

      遠程視頻監(jiān)控系統(tǒng)是基于數(shù)字視頻監(jiān)控系統(tǒng)的遠程應用系統(tǒng),通常有基于PC技術、基于網(wǎng)絡攝像機和基于嵌入式Web服務器等幾種遠程監(jiān)控系統(tǒng)的實現(xiàn)方式。

      基于PC的多媒體遠程監(jiān)控系統(tǒng)一般由圖像信號采集、輸出控制、視頻圖像處理、信號傳輸、視頻圖像遠程接收及遠程控制等幾部分組成。

      “網(wǎng)絡攝像機”是一種可以用IP地址識別的、集攝像和圖像壓縮并按網(wǎng)絡協(xié)議傳輸圖像數(shù)據(jù)的智能攝像機,它可以完成系統(tǒng)功能,而不會帶來額外的維護需求。在對視頻實時性要求不高的條件下,網(wǎng)絡攝像機可以滿足監(jiān)控要求。監(jiān)控中心服務器、監(jiān)視終端和網(wǎng)絡攝像機構成一個Intranet網(wǎng),利用網(wǎng)絡協(xié)議提供的各種管理工具可以有效地管理各個監(jiān)控點的圖像信息。

      隨著生活節(jié)奏的加快和手持終端設備的普及,利用PC實現(xiàn)遠程視頻監(jiān)控已經(jīng)不能滿足人們的需求了。近年來基于Android平臺的監(jiān)控系統(tǒng)層出不窮,但是大多軟件功能都不完善,偏向?qū)崟r監(jiān)控為主。

      然而,對于現(xiàn)在的大多數(shù)人而言,實時監(jiān)控占用了太大的時間和精力,正常情況下,用戶不可能進行24小時的監(jiān)控。

      本系統(tǒng)將采用調(diào)時監(jiān)控的方法,結合現(xiàn)在遍布的wifi網(wǎng)絡,利用IP地址可識別的攝像頭,將畫面存入服務器,用戶根據(jù)自己特有的密令進行調(diào)用,從而滿足用戶真正的隨時隨地讀取監(jiān)控視頻。

      2.2 系統(tǒng)構架

      本系統(tǒng)Android客戶端采用系統(tǒng)自帶的SQLite數(shù)據(jù)庫,服務器端使用開源的MySQL數(shù)據(jù)庫。服務器端Servlet響應HTTPRequest請求,通過Dao接口訪問后臺數(shù)據(jù)庫,并將結果返回,Servlet獲取結果后,將視頻流發(fā)送至客戶端。為了使程序代碼簡潔易懂,便于管理和二次開發(fā),系統(tǒng)采用MVC+DAO的設計模式及分層開發(fā)思想。系統(tǒng)組成如圖1-1所示。

      圖1-1 系統(tǒng)整體框架圖

      3.客戶端設計與實現(xiàn)

      本系統(tǒng)的客戶端分別由網(wǎng)絡通訊模塊、視頻解碼與顯示模塊等構成。用戶登錄后,通過調(diào)時功能獲取相應的視頻段名稱,由網(wǎng)絡通訊模塊接受來自服務器的數(shù)據(jù),對數(shù)據(jù)進行解析,并將數(shù)據(jù)暫存于緩沖區(qū),之后由視頻解碼模塊負責從緩沖區(qū)中讀取數(shù)據(jù)并通過H.264解碼器進行解碼。最后通過圖形庫將解碼后圖像繪制到屏幕上實現(xiàn)視頻播放。

      3.1 客戶端界面設計

      遠程視頻監(jiān)控系統(tǒng)的客戶端界面設計主要由Android的GUI系統(tǒng)實現(xiàn)的,負責提供交互接口。GUI系統(tǒng)提供了Java語言框架和C語言框架組成,對下層通過調(diào)用顯示輸入、輸出設備將軟件與底層硬件聯(lián)系起來,對上層則提供了Java層次的繪圖接口。圖2-1為登錄界面運行結果。

      圖2-1 登錄界面

      3.2 顯示模塊

      系統(tǒng)運行時首先獲取Android平臺網(wǎng)絡環(huán)境,若網(wǎng)絡環(huán)境不是wifi網(wǎng)絡,則以對話框的形式提醒用戶,避免造成流量損失。

      獲取Android終端wifi網(wǎng)絡環(huán)境的代碼如下:

      WifiManager wifiManager;

      wifiManager=(WifiManager)this.getSystemService(Service.WIFI_SERVICE);

      顯示模塊主要是用戶輸入查詢時間和反饋的查詢結果的顯示。為了提高用戶體驗,本系統(tǒng)利用Android的線程安全特性,運用了多線程和異步等方式。其中客戶端請求并顯示的流程圖如3-1所示。

      圖3-1 客戶端請求與顯示流程圖

      Android客戶端連接后臺服務器的關鍵代碼如下:

      HttpPost request = HttpUtil.getHttp-

      Post(url);//根據(jù)url獲得HttpPost對象

      String result = null;

      try{//獲得響應對象

      HttpResponse response=HttpUtil.getHttpResponse(request);

      // 判斷是否請求成功

      if(response.getStatusLine().getStatusCode()==200){

      result=EntityUtils.toString(res-

      ponse.getEntity());//獲得響應

      return result;

      }

      }……

      3.3 網(wǎng)絡通訊模塊與視頻解碼模塊實現(xiàn)

      當系統(tǒng)進行網(wǎng)絡搜索時,需要網(wǎng)絡連接,因此需要確定當前網(wǎng)絡狀態(tài),程序會使用android.net.ConnectivityManager 類來檢查網(wǎng)絡連接,Android 系統(tǒng)是運行在Linux 內(nèi)核上的,有自己的一套嚴格的安全及權限機制。由于本模塊要用到網(wǎng)絡連接和獲取網(wǎng)絡狀態(tài),這都需要具有相應的權限,所以必須在AndroidMainifest.Xml中聲明所需的權限,否則無法正常運行,且程序不會報錯,只能通過捕獲異常來發(fā)現(xiàn)這一問題。具體的聲明如下:

      允許應用程序訪問( 獲?。?網(wǎng)絡信息。

      本系統(tǒng)服務器終端要接受來自監(jiān)控前端的視頻數(shù)據(jù),采用Socket網(wǎng)絡通信技術。在進行Socket前必須對其進(下轉(zhuǎn)第23頁)(上接第19頁)行初始化,創(chuàng)建Socket服務線程。當監(jiān)聽產(chǎn)生后,主進程負責不斷循環(huán)地監(jiān)聽接收到的請求并建立新的客戶連接,創(chuàng)建針對此Socket的通信進程。其中的主要代碼如下:

      public class Socket ConnectionMana-

      gement

      {

      protected static Socket socket=null;

      public static boolean establishConnection(String ipAddress,int port)

      {

      try

      {

      socket = new Socket(InetAddress.getByName(ipAddress),port);

      }catch(UnknownHostException e)

      {

      //TODO Auto-generated catch block

      e.printStackTrace();

      } catch (IOException e)

      {

      //TODO Auto-generated catch block

      e.printStackTrace();

      }

      return socket.isConnected();

      }

      public static boolean isConnected()

      {

      if (socket != null)

      return socket.isConnected();

      else

      return false;

      }

      public static Socket getInstance()

      {

      return socket;

      }

      }

      本系統(tǒng)運用的是H.264解碼技術,它是在MPEG-4技術的基礎之上建立起來的,其編解碼流程主要包括5個部分:幀間和幀內(nèi)預測、變換和反變換、量化和反量化、環(huán)路濾波、熵編碼。

      技術實現(xiàn)是在Android操作系統(tǒng)上封裝編譯生成Android底層的動態(tài)鏈接庫,從而實現(xiàn)H.264標準解碼。這里采用X264解碼器,可對GIF格式圖像實時編碼。

      4.結論

      根據(jù)移動終端的發(fā)展現(xiàn)狀和移動用戶的需求,本文基于wifi網(wǎng)絡面向Android開發(fā)了遠程視頻監(jiān)控平臺,該系統(tǒng)目前仍在測試運行中。通過在模擬器上仿真測試以及在Android手機終端上的實際檢測,該系統(tǒng)運行效果穩(wěn)定、整體性能較好。該系統(tǒng)能夠為移動用戶提供方便、實用、靈活、快捷的遠程監(jiān)控,具有非常實用的價值。隨著智能手機的普及和wifi網(wǎng)絡的發(fā)展,該系統(tǒng)具有廣泛的應用前景。

      參考文獻:

      [1]郭宏志著.Android應用開發(fā)詳解[M].北京:電子工業(yè)出版社,2010,6.

      [2]吳亞峰,蘇亞光著.Android應用案例開發(fā)大全[M].北京:人民郵電出版社,2011,9.

      [3]吳亞峰,索伊娜等著.Android核心技術與實例詳解[M].北京:電子工業(yè)出版社,2010,10.

      本文受清華攜手Google助力西部教育項目之大學生科技創(chuàng)新項目部分資助。

      作者簡介:李巧巧,女,現(xiàn)就讀于青海大學計算機技術與應用系,研究方向:計算機技術與應用。

      猜你喜歡
      視頻監(jiān)控
      廣東地區(qū)輸電線路在線監(jiān)測技術應用探究
      基于嵌入式Linux的視頻監(jiān)控系統(tǒng)的設計與實現(xiàn)
      基于HTML5的視頻監(jiān)控微課設計淺析
      智能視頻檢索技術在校園安防建設中的發(fā)展應用
      望城县| 调兵山市| 当雄县| 新巴尔虎左旗| 崇礼县| 德阳市| 瑞安市| 东光县| 黑河市| 武定县| 九寨沟县| 当涂县| 灵山县| 丹巴县| 乐都县| 乌什县| 临武县| 秀山| 龙山县| 和田县| 夹江县| 衡山县| 深州市| 鸡西市| 涡阳县| 璧山县| 大田县| 漳州市| 神木县| 油尖旺区| 卓资县| 安阳县| 水城县| 周宁县| 六盘水市| 江源县| 渝北区| SHOW| 信阳市| 清流县| 讷河市|