国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的視頻采集與傳輸系統(tǒng)設(shè)計與研究

2020-07-09 22:13張建平
現(xiàn)代信息科技 2020年2期

摘? 要:文章基于Android實時信息采集與傳輸問題,給出系統(tǒng)開發(fā)中采用的關(guān)鍵技術(shù),程序開發(fā)采用Java語言設(shè)計,采用Android手機,以Linux內(nèi)核軟件開發(fā)平臺為基礎(chǔ)進行詳細的軟件設(shè)計,對系統(tǒng)核心功能進行詳細的劃分并對其功能做了詳細設(shè)計,并給出了一些主要功能模型設(shè)計與實現(xiàn),經(jīng)測試表明本設(shè)計基本可以完成數(shù)據(jù)采集任務(wù)。

關(guān)鍵詞:模型設(shè)計;視頻采集;視頻傳輸;Android

中圖分類號:TP311? ? ? ?文獻標(biāo)識碼:A 文章編號:2096-4706(2020)02-0025-03

Abstract:Based on the problem of Android real-time information collection and transmission,this paper presents the key technologies used in the system development. The program development uses Java language design,Android mobile phone,and Linux kernel software development platform as the basis for detailed software design. The core functions of the system are divided in detail and its functions are designed in detail,and some main function model settings are given the test shows that the design can basically complete the task of data acquisition.

Keywords:model design;video capture;video transmission;Android

0? 引? 言

本文基于陜西工業(yè)職業(yè)技術(shù)學(xué)院校內(nèi)科研項目為背景,針對視頻數(shù)據(jù)采集效率低下、性能不可靠、數(shù)據(jù)獲取不及時的現(xiàn)象,著重利用Android平臺、Socket通信與SQLite數(shù)據(jù)庫構(gòu)建移動視頻采集與傳輸系統(tǒng),系統(tǒng)采用便攜式智能手機終端平臺采集視頻數(shù)據(jù),通過無線網(wǎng)絡(luò)傳輸數(shù)據(jù)來構(gòu)建Android平臺。本文首先對系統(tǒng)開發(fā)所需的相關(guān)理論及關(guān)鍵技術(shù)進行了詳細的介紹;對系統(tǒng)的需求進行詳細分析,在此基礎(chǔ)上對系統(tǒng)的核心模塊進行設(shè)計,完成服務(wù)端用戶驗證模塊類模型設(shè)計、用戶驗證模塊的交互模型設(shè)計和視頻采集模塊模型設(shè)計,基本達到軟件項目預(yù)期的目標(biāo),為項目的開發(fā)和順利完成打下良好基礎(chǔ)。

1? 關(guān)鍵技術(shù)

1.1? Android應(yīng)用程序的組件

應(yīng)用程序的組件是Android應(yīng)用程序基本組建塊,其中包含活動(Activity)、意圖(Intent)、服務(wù)(Service)、內(nèi)容提供器(Content Provider)。它們是構(gòu)成Android應(yīng)用程序的基礎(chǔ),但在某些應(yīng)用程序中,只即可單獨使用,也可以有相互交互的使用。

1.2? 軟件棧

Android平臺采用了軟件棧(Software Stack),又名軟件疊層的架構(gòu),軟件棧的頂層是應(yīng)用,中間是中間件,由應(yīng)用框架、庫和Android Runtime組成,底層是帶有各種驅(qū)動的Linux內(nèi)核。我們開發(fā)是基于底層開發(fā)設(shè)計。

1.3? SQLite數(shù)據(jù)庫技術(shù)

SQLite是一款系統(tǒng)安全類軟件,采用輕量級嵌入式數(shù)據(jù)庫引擎,支持SQL語言,并且只利用很少的內(nèi)存就有很好的性能,可以把各種類型的數(shù)據(jù)保存到任何字段中,而不用關(guān)心字段聲明的數(shù)據(jù)類型。

2? 系統(tǒng)需求分析

依據(jù)軟件系統(tǒng)功能的要求,圖1為視頻采集傳輸系統(tǒng)具體的用例圖。整個系統(tǒng)由用戶端和服務(wù)端組成,服務(wù)端主要負(fù)責(zé)數(shù)據(jù)收集、與用戶端建立網(wǎng)絡(luò)連接關(guān)系、接收并解析控制命令、與服務(wù)終端串口通信傳輸控制命令。當(dāng)用戶端通過用戶驗證模塊(UI)后,用戶可以發(fā)出視頻采集指令,服務(wù)端接受指令,獲取采集設(shè)備,啟動視頻采集設(shè)備,進行視頻數(shù)據(jù)采集,采集到視頻數(shù)據(jù)后經(jīng)過編解碼程序?qū)⒁曨l編碼,然后進入視頻傳輸模塊,把視頻數(shù)據(jù)傳輸?shù)接脩舳?。從而實現(xiàn)了視頻數(shù)據(jù)的實時傳輸。

3? 系統(tǒng)詳細設(shè)計

3.1? 服務(wù)端用戶驗證模塊類模型設(shè)計

用戶驗證模塊類圖的詳細內(nèi)容見圖2,共分為三個模塊:LoginController(登錄控制器)類、ConfigManager(配置管理器)類、NetManager(用戶幫助)類。

實現(xiàn)用戶驗證是類的主要功能,整個實現(xiàn)過程為:調(diào)用類進行文件配置,得到服務(wù)端地址后再調(diào)用類向用戶發(fā)送驗證并接收反饋。類主要負(fù)責(zé)輔助整個系統(tǒng)管理一些用戶信息,以及配置文件的寫入、讀取工作等。

類會出現(xiàn)在多個系統(tǒng)模塊中,主要負(fù)責(zé)面向服務(wù)端的指令的發(fā)送與接收工作;套接字通信被封裝在其中,并采取單例模式,一些例如傳輸、登錄等的控制功能都需要它去實現(xiàn)。

身份驗證模塊用于端用戶登錄驗證的過程的主要參與者有LoginManager類、ConfigManager類和NetManager類,登錄驗證的全部過程。

類是客戶驗證功能的主要參與者。類在進行用戶信息讀取之后自行判斷用戶是否在前一次登錄中選擇了記住密碼,如果用戶選擇了記住密碼,系統(tǒng)會根據(jù)系統(tǒng)存儲的信息記錄同步用戶名和密碼,用戶就不需要再輸入。如果沒有選中,登錄頁面的用戶名和密碼的輸入框就是空白的,需要用戶輸入。用戶在點擊登錄之后,系統(tǒng)會對用戶名加上密碼的信息在信息庫里檢索,并進行驗證,由類負(fù)責(zé)。如通過驗證,頁面會跳轉(zhuǎn)至客戶界面,如未通過驗證,即使用戶成功進入系統(tǒng)界面,系統(tǒng)也會提示錯誤。

關(guān)于系統(tǒng)的安全性,客戶在登錄時填寫的信息需要做好保密工作,特別是密碼。系統(tǒng)采用了MD5方法對密碼進行加密,這樣即使客戶在登錄頁面記住頁碼也是不存在安全問題的。

3.2? 視頻采集模塊模型設(shè)計

在視頻采集模塊中,VideoCallback類構(gòu)成了軟件的主要部分,VideoReader(視頻數(shù)據(jù)讀?。╊惏凑誂ndroid系統(tǒng)平臺提供的標(biāo)準(zhǔn)類型接口NetManager編寫,用于捕獲視頻數(shù)據(jù);對于EncoderWrapper類來說,它的作用在于下層模塊的通信,然后對JNI接口進行封裝;組織和控制作用由Main類負(fù)責(zé)。詳細內(nèi)容可見圖3。

作為采集模塊的主界面,Main類能夠?qū)ο到y(tǒng)進行管理,對采集的過程進行控制,并把操作的接口分給用戶,這樣,用戶就能夠選擇幫助等功能。

對于VideoCallback類來說,它主要是能夠獲取視頻數(shù)據(jù)。在Android系統(tǒng)中,由于Camera框架的存在,用戶可以從回調(diào)類中派生出新類,從而對視頻數(shù)據(jù)的處理可用自定義的方法進行。對于Camera框架來說,用戶設(shè)置的回調(diào)類都會經(jīng)過它獲得的每一幀預(yù)覽,當(dāng)獲取Camera捕獲的視頻數(shù)據(jù)之后,為對數(shù)據(jù)進行壓縮處理,數(shù)據(jù)都會被發(fā)往下層。

在EncoderWrapper類中,它們不僅能夠調(diào)用采用JNI技術(shù)進行調(diào)用的下層模塊接口,還能夠封裝這些模塊接口,它的組成部分有寫入方法和JNI模塊的加載,此外還包括能夠傳輸數(shù)據(jù)和命令的接口。

3.3? 視頻傳輸模塊的設(shè)計

視頻數(shù)據(jù)的傳輸是視頻采集傳輸系統(tǒng)中較為重要的部分,為了實現(xiàn)用戶的優(yōu)質(zhì)體驗,去除控件加載,通過服務(wù)器OpenGLES來瀏覽服務(wù)端中采集的實時視頻。Java的socket編程己經(jīng)對網(wǎng)絡(luò)層各協(xié)議封裝得較完整。編程不需要知道太多關(guān)于不同的硬件之間相互通信的底層知識,只要學(xué)習(xí)Java的socket,就可以實現(xiàn)兩臺設(shè)備的通信。而本文需要傳輸實時流媒體的RTP數(shù)據(jù)包,無論是Java還是Android操作系統(tǒng)都對RTP協(xié)議不支持,必須自己設(shè)計一個網(wǎng)絡(luò)傳輸模塊,將數(shù)據(jù)流封裝成RTP數(shù)據(jù)包,然后傳輸?shù)骄W(wǎng)上,如圖4所示。

4? 結(jié)? 論

本文在完善軟件需求規(guī)格說明書的基礎(chǔ)上,對系統(tǒng)整體進行需求分析,依據(jù)需求分析確定軟件系統(tǒng)的整體結(jié)構(gòu)、劃分功能模塊、確定核心模塊的實現(xiàn)與具體的代碼編寫,形成軟件系統(tǒng)的具體設(shè)計方案,將系統(tǒng)分解為服務(wù)端入口,視頻采集、視頻傳輸三個模塊,進行總系統(tǒng)的詳細設(shè)計并進行評價,對系統(tǒng)方案進行論證并作出性能效果預(yù)測,為下一步系統(tǒng)實現(xiàn)打好了基礎(chǔ)。

參考文獻:

[1] 朱珊珊.基于Android平臺的庫存管理系統(tǒng)設(shè)計與實現(xiàn) [D].鎮(zhèn)江:江蘇大學(xué),2012:16-21.

[2] 王晶晶.基于計算機軟件開發(fā)的JAVA編程語言分析 [J].河南科技,2013(2):17.

[3] BUTLER M. Android. Changing the Mobile Landscap [J]. IEEE Pervasive Computing,2011 ,10(1):4-7.

作者簡介:張建平(1978.10-),男,漢族,陜西岐山人,講師,碩士,研究方向:計算機軟件。