Android視頻監(jiān)控實(shí)現(xiàn)(二)
第二章 Android4.2開發(fā)環(huán)境搭建
2.1 華清遠(yuǎn)見開發(fā)環(huán)境簡介
華清遠(yuǎn)見開發(fā)環(huán)境是基于Ubuntu 12.04 LTS 64-bit操作系統(tǒng)搭建的,使用VMware Player作為虛擬機(jī)工具軟件。用作Linux和Android的編譯與開發(fā)。本開發(fā)環(huán)境在Ubuntu 12.04 64-bit LTS基礎(chǔ)上,安裝了編譯調(diào)試Bootloader、Linux內(nèi)核、Android系統(tǒng)所需要的工具和依賴的庫,用戶可以直接使用本開發(fā)環(huán)境來進(jìn)行嵌入式的學(xué)習(xí)和工作。
本開發(fā)環(huán)境在Ubuntu 12.04 64-bit基礎(chǔ)上,安裝配置了如下工具:
將GCC、G++編譯器版本從4.6降至4.4
安裝了Android編譯所需要的工具和庫(source.android.com)
安裝SUN JAVA JDK 6
安裝內(nèi)核編譯所依賴的工具包
解決了libncurses 32位和64位不能同時安裝導(dǎo)致編譯Android和配置內(nèi)核軟件沖突的問題
安裝制作安卓文件系統(tǒng)yaffs2格式mkyaffs工具
添加了常用的arm-linux交叉工具鏈,版本號為4.3.2、4.4.6、4.5.1
安裝Vim、Ctags
安裝Vim常用插件
安裝配置TFTP
安裝配置NFS網(wǎng)絡(luò)文件系統(tǒng)服務(wù)
安裝SSH工具網(wǎng)絡(luò)服務(wù)程序
安裝Kermit串口調(diào)試工具
安裝Sogou輸入法
關(guān)閉Ubuntu更新提示
說明 1:Ubuntu用戶名為“l(fā)inux”,主機(jī)名為“ubuntu64”,默認(rèn)密碼為“1”
說明2:以上安裝過的軟件和庫,用戶在不明確的前提下,切勿再次安裝!(比如source.android.com要求的、tftp服務(wù)等等),如果因?yàn)橹貜?fù)安裝導(dǎo)致源碼編譯錯誤,請重新解壓開發(fā)環(huán)境鏡像。
安裝前準(zhǔn)備
2.1.1 主機(jī)配置
華清遠(yuǎn)見開發(fā)環(huán)境是基于Ubuntu 12.04 LTS 64-bit操作系統(tǒng)搭建的,使用VMware Player免費(fèi)版作為虛擬機(jī)工具軟件。用作Linux和Android的編譯與開發(fā)。所以建議開發(fā)主機(jī)硬件配置越高越好,配置越高則開發(fā)效率則越高。
2.1.2 Intel Virtualization Technology(32位操作系統(tǒng))
此選項(xiàng)為用戶主機(jī)操作系統(tǒng)為32位必須具備,如果主機(jī)操作系統(tǒng)為64位,則可忽略此部。
華清遠(yuǎn)見開發(fā)環(huán)境是基于Ubuntu 12.04 LTS 64-bit操作系統(tǒng)搭建的,使用VMware Player作為虛擬機(jī)工具軟件。所以在如果主機(jī)為32位操作系統(tǒng),那么系統(tǒng)必須支持英特爾虛擬化技術(shù)(Intel Virtualization Technology)才可以通過VMware Player工具使用64位操作系統(tǒng)。
【檢查主機(jī)CPU是否支持Intel Virtualization Technology】
如下圖所示,用戶可以使《開發(fā)環(huán)境光盤》目錄下中的CPU-Z軟件檢查自己的CPU是否支持虛擬機(jī)化技術(shù)。
【在BIOS中打開Intel Virtualization Technology】
如果CPU支持虛擬化技術(shù),請?jiān)贐IOS設(shè)置里面打開(不同型號的主板BIOS界面可能不同,如果找不到可以自行搜索“機(jī)型+BIOS+VT”的關(guān)鍵字)。
vmware player安裝
VMware Player從6.0版本之后默認(rèn)支持中文,所以華清遠(yuǎn)見開發(fā)環(huán)境V12B使用當(dāng)前最新版的VMware Player(版本號為6.0.2 build-1744117),如要正常使用此開發(fā)環(huán)境,必須保證VMware Player版本號大于等于當(dāng)前給出的版本號,否則可能會出現(xiàn)因?yàn)閂Mware Tools版本過高引起虛擬機(jī)無法正常啟動的情況。
(如果用戶使用VMware Workstation,版本號應(yīng)該大于等于(10.0.1-1379776),否則可能會出現(xiàn)因?yàn)閂Mware Tools版本過高引起虛擬機(jī)無法正常啟動的情況。)
打開光盤“華清遠(yuǎn)見開發(fā)環(huán)境”(光盤上有標(biāo)注)下目錄“開發(fā)環(huán)境”
該目錄下有Vmware Player 的安裝程序:
VMware-player-6.0.2-1744117.exe
點(diǎn)擊按默認(rèn)方式安裝即可,安裝完成后,會在操作系統(tǒng)桌面上出現(xiàn) VMware Player的圖標(biāo);
VMware Player安裝程序初始化
VMware Player安裝向?qū)?br />
VMware Player許可協(xié)議
更改安裝路徑
選擇是否檢查更新,加入用戶體驗(yàn)改進(jìn)計(jì)劃
創(chuàng)建快捷方式
確認(rèn)安裝
正在安裝
安裝完成
2.2 運(yùn)行開發(fā)環(huán)境
2.2.1 解壓虛擬機(jī)鏡像
打開光盤“華清遠(yuǎn)見開發(fā)環(huán)境”下目錄“開發(fā)環(huán)境華清遠(yuǎn)見開發(fā)環(huán)境V12B”
將目錄下Ubuntu_12.04_64-bit_farsight.7z的壓縮包解壓到windows下任意目錄洗,Ubuntu_12.04_64-bit_farsight.7z是已經(jīng)制作好的Ubuntu 12.04 64位操作系統(tǒng)的鏡像,該鏡像已預(yù)安裝好了嵌入式系統(tǒng)開發(fā)常用的工具,解壓目錄以用戶實(shí)際操作目錄為準(zhǔn),假設(shè)將其解壓至E盤:在E盤中會出現(xiàn)Ubuntu_12.04_64-bit_farsight 的目錄;
2.2.2 打開虛擬機(jī)
點(diǎn)擊PC機(jī)桌面VMware Player的快捷方式打開虛擬機(jī),會出現(xiàn)虛擬機(jī)的操作界面,如下圖:
選擇“打開虛擬機(jī)”,打開解壓至E盤的Ubuntu虛擬機(jī)鏡像:Ubuntu_12.04_64-bit_farsight.vmx,如下圖:
2.2.3 配置優(yōu)化虛擬機(jī)
增加內(nèi)存大小
根據(jù)主機(jī)配置修改虛擬機(jī)內(nèi)存大小。例如主機(jī)內(nèi)存1G,那分配虛擬機(jī)的內(nèi)存大小應(yīng)該小于512M,否則物理機(jī)操作系統(tǒng)運(yùn)行會卡;如果主機(jī)內(nèi)存大于4G(足夠大),那可以根據(jù)VMware Player的提示和自己的需求修改內(nèi)存大小。注意:如果需要編譯Android,那內(nèi)存大小最好大于1G。
修改CPU數(shù)量
根據(jù)主機(jī)CPU配置修改虛擬機(jī)CPU數(shù)量。例如筆者CPU為Intel Core-i3 M380(雙核四線程),那處理器數(shù)量設(shè)置為1,每個處理器的核心數(shù)量設(shè)置為4。注意:如果設(shè)置的總核心數(shù)不要超過CPU的核心數(shù)。
確保網(wǎng)絡(luò)連接為橋接模式
增加共享目錄
共享目錄可以在虛擬機(jī)訪問物理硬盤分區(qū)的內(nèi)容,也可以將虛擬機(jī)里的文件拷貝至物理機(jī),是虛擬機(jī)和物理機(jī)很好的交流橋梁。
點(diǎn)擊上圖“添加”
修改在虛擬機(jī)內(nèi)看到物理磁盤目錄的名字
2.2.4 啟動虛擬機(jī)
等待虛擬機(jī)啟動Ubuntu 12.04操作系統(tǒng),啟動過程中會有如下圖所示,建議選擇“我已移動該虛擬機(jī)”:
等待虛擬機(jī)啟動完成,啟動完成后如圖所示:
系統(tǒng)默認(rèn)的用戶名是linux,密碼是:1
2.3 Android開發(fā)環(huán)境搭建
本章主要介紹在Windows環(huán)境下,Android開發(fā)環(huán)境的搭建步驟及注意事項(xiàng),包括JDK和Java開發(fā)環(huán)境的安裝和配置、Eclipse的安裝、Android SDK和ADT的安裝和配置等;同時介紹了Android開發(fā)的基本步驟。
2.3.1 Android 開發(fā)環(huán)境的安裝與配置
Android應(yīng)用軟件開發(fā)需要的開發(fā)環(huán)境如表2-1所示。
表2-1
以上所提到的軟件開發(fā)包的下載地址如下:
JDK1.6,http://www.oracle.com/technetwork/java/javase/downloads/index.html。
Eclipse 3.4(Eurpa),http://www.eclipse.org/downloads/下載Eclipse IDE for Java Developers。
Android SDK2.2,http://developer.android.com。
以下主要介紹一下在Windows環(huán)境下搭建Android開發(fā)環(huán)境的步驟和注意事項(xiàng)。
2.3.2 安裝JDK和配置Java開發(fā)環(huán)境
首先下載JDK安裝包(華清遠(yuǎn)見開發(fā)環(huán)境光盤中有),并進(jìn)行安裝。例如,得到JDK1.8版本的安裝文件jdk-8u5-windows-i586.exe,雙擊進(jìn)行安裝。
點(diǎn)擊“是”確認(rèn)安裝
安裝向?qū)?,點(diǎn)擊“下一步”確認(rèn)安裝:
定制安裝,點(diǎn)擊“更改”選擇安裝路徑,這里使用默認(rèn)路徑,點(diǎn)擊“下一步”繼續(xù):
等待安裝完成:
彈出如下界面后,選擇“更改”修改安裝路徑,這里選擇默認(rèn),點(diǎn)擊“下一步”繼續(xù):
等待安裝完成:
點(diǎn)擊“關(guān)閉”完成安裝:
安裝完成后,利用以下步驟檢查安裝是否成功:打開CMD窗口,在CMD窗口中輸入java –version命令,如果屏幕出現(xiàn)如圖所示的代碼信息,說明JDK安裝成功。
2.3.3 Eclipse的安裝
JDK安裝成功后,可以直接安裝Eclipse,例如,使用Eclipse 3.6,得到其壓縮包adt-bundle-windows- x86-20131030.rar(具體版本以《華清遠(yuǎn)見開發(fā)環(huán)境光盤》為準(zhǔn)),該包不需要安裝,直接解壓即可執(zhí)行其中的eclipse.exe文件進(jìn)行安裝。
第三章 編譯
3.1 Spydroid
Java JDK的安裝以及eclipse的解壓請參考《Android開發(fā)環(huán)境使用說明》。
源碼:項(xiàng)目/源碼/spydroid-ipcamera-master.rar
解壓完成后,打開eclipse,顯示如下的界面:
在左側(cè)空白處右鍵選擇import,彈出窗口,選擇箭頭所指的選項(xiàng),點(diǎn)擊next:
點(diǎn)擊箭頭所指的按鈕,選擇源程序所在的目錄:華清遠(yuǎn)見-智能家居資料光盤智能家居應(yīng)用程序源碼客戶端源碼
點(diǎn)擊finish,項(xiàng)目導(dǎo)入成功
連接上開發(fā)板或者平板電腦,確保驅(qū)動安裝正常,如上圖所示右鍵點(diǎn)擊項(xiàng)目,點(diǎn)擊Run As - Android Application,即可以在設(shè)備上運(yùn)行。
3.2 Darwin Streaming Server
1. 打開虛擬機(jī)運(yùn)行華清遠(yuǎn)見開發(fā)環(huán)境
2. 將光盤中所給的Darwin streaming server文件夾拷貝到系統(tǒng)主文件夾下
源碼:項(xiàng)目/源碼/Darwin streaming server.rar
3. 雙擊進(jìn)入文件夾,選擇DarwinStreamingSrvr6.0.3-Source.tar,可右擊選擇解壓到此處
4. 關(guān)閉文件管理器,打開終端,添加用戶且加入系統(tǒng)組,不填加,后面執(zhí)行會報(bào)錯
$ sudo addgroup -system qtss
$ sudo adduser -system -no-create-home -ingroup qtss qtss
5. 進(jìn)入Darwin streaming server目錄,打補(bǔ)丁
$ cd Darwin streaming server/
$ patch -p0 < dss-6.0.3.patch
$ patch -p0 < dss-hh-20080728-1.patch
6. 進(jìn)入目錄DarwinStreamingSrvr6.0.3-Source/APICommonCode/找到QTSSModuleUtils.cpp,修改其第1069行IPComponentStr IPComponentStr::sLocalIPCompStr("*.*.*.*");
$ cd Darwin streaming server/DarwinStreamingSrvr6.0.3-Source/APICommonCode/
$ vim QTSSModuleUtils.cpp
wq保存退出
7. 退回到DarwinStreamingSrvr6.0.3-Source目錄,運(yùn)行腳本編譯生成安裝包
$ cd ..
$ ./Buildit
編譯完成,沒有錯誤,只有警告。接下來生成linux下的安裝包
$ ./buildtarball
生成DarwinStreamingSrvr-Linux.tar.gz成功
8. 解壓DarwinStreamingSrvr-Linux.tar.gz
$ tar xvf DarwinStreamingSrvr-Linux.tar.gz
9. 進(jìn)入DarwinStreamingSrvr-Linux文件夾修改安裝腳本Install
$ cd DarwinStreamingSrvr-Linux/
$ vim Install
添加:
if [ $INSTALL_OS = "Linux" ]; then
/usr/sbin/groupadd qtss > /dev/null 2>&1
/usr/sbin/useradd -m qtss > /dev/null 2>&1
else
/usr/sbin/groupadd qtss > /dev/null 2>&1
/usr/sbin/useradd qtss > /dev/null 2>&1
fi
wq保存退出
10. 執(zhí)行,提示輸入用戶名,密碼,通過網(wǎng)頁登錄用
$ sudo ./Install
11. 查看是否安裝成功
安裝后會自動啟動,查看進(jìn)程
$ ps aux | grep Darwin
12. 啟動方法
啟動server:
$ sudo /usr/local/sbin/DarwinStreamingServer
啟動 Web 管理介面 (tcp port 1220):
$ sudo /usr/local/sbin/streamingadminserver.pl
13. 延時時間修改
在用Darwin Streaming Server做流媒體轉(zhuǎn)發(fā)服務(wù)時,你可能會看到有十幾秒延時,實(shí)際Darwin在轉(zhuǎn)發(fā)模塊中,有一個控制轉(zhuǎn)發(fā)Buffer時間的配置reflector_buffer_size_sec,我們將這個配置改成0,也就是在服務(wù)器端不做緩存,直接轉(zhuǎn)發(fā),這樣在網(wǎng)絡(luò)條件充足的情況下對比轉(zhuǎn)發(fā)和實(shí)時流,轉(zhuǎn)發(fā)帶來的延時也幾乎可以忽略了
$ vim /etc/streaming/streamingserver.xml
找到reflector_buffer_size_sec,將其改為0
Wq保存退出即可
3.3 VLC For Android
Java JDK的安裝以及eclipse的解壓請參考《Android開發(fā)環(huán)境使用說明》。
源碼:項(xiàng)目/源碼/VLC_ANDROID.rar
解壓完成后,打開eclipse,顯示如下的界面:
在左側(cè)空白處右鍵選擇import,彈出窗口,選擇箭頭所指的選項(xiàng),點(diǎn)擊next:
點(diǎn)擊箭頭所指的按鈕,選擇源程序所在的目錄:華清遠(yuǎn)見-智能家居資料光盤智能家居應(yīng)用程序源碼客戶端源碼
點(diǎn)擊finish,項(xiàng)目導(dǎo)入成功
連接上開發(fā)板或者平板電腦,確保驅(qū)動安裝正常,如上圖所示右鍵點(diǎn)擊項(xiàng)目,點(diǎn)擊Run As - Android Application,即可以在設(shè)備上運(yùn)行。