吳大中 胡江浪
摘 要: 設(shè)計(jì)一種基于ARM的移動(dòng)視頻監(jiān)控系統(tǒng),介紹嵌入式系統(tǒng)下視頻壓縮、編解碼庫的移植與應(yīng)用,視頻流媒體的傳輸與控制。系統(tǒng)由視頻采集端和移動(dòng)監(jiān)控端組成,視頻采集端主要功能包括視頻數(shù)據(jù)采集、壓縮編碼、傳輸及控制;移動(dòng)監(jiān)控端采用Android智能手機(jī)借助3G無線網(wǎng)絡(luò)連接視頻采集端,從而實(shí)現(xiàn)遠(yuǎn)程無線視頻監(jiān)控功能。實(shí)驗(yàn)結(jié)果表明,視頻圖像清晰、播放流暢、延時(shí)小且系統(tǒng)穩(wěn)定可靠,達(dá)到了系統(tǒng)的設(shè)計(jì)要求。
關(guān)鍵詞: 嵌入式系統(tǒng); 視頻監(jiān)控; 流媒體; 視頻傳輸
中圖分類號(hào): TN911.73?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)04?0123?05
Abstract: A mobile video monitoring system based on ARM was designed. The video compression, coding, decoding library transplantation, and the transmission and control of stream media under the embedded system are introduced. The system consists of video data acquisition terminal and mobile monitoring terminal. The video data acquisition terminal includes video data acquisition, image compression coding, video transmission and control. The mobile monitoring terminal is connected with video acquisition terminal by means of Android smart phone via 3G wireless network to achieve the remote wireless video monitoring. Experimental results show the system is stable and reliable, its video image is clear; video play is fluent, time delay is short, which can meet the requirements of the system.
Keywords: embedded system; video monitoring; stream media; video transmission
視頻監(jiān)控系統(tǒng)作為現(xiàn)代樓層、區(qū)域管理的重要手段,在維護(hù)社會(huì)治安、協(xié)助交通管制、家居安防等領(lǐng)域做出了巨大貢獻(xiàn)[1]。傳統(tǒng)的視頻監(jiān)控設(shè)備大部分基于PC平臺(tái),而PC機(jī)體積相對較大,移動(dòng)性差,不適合隨身攜帶。近些年來,隨著移動(dòng)通信技術(shù)及流媒體技術(shù)的不斷發(fā)展,人們對視頻監(jiān)控提出了新的需求,移動(dòng)遠(yuǎn)程視頻監(jiān)控系統(tǒng)應(yīng)運(yùn)而生。相比傳統(tǒng)的視頻監(jiān)控系統(tǒng),移動(dòng)視頻監(jiān)控具有體積小、使用便捷、高效、覆蓋范圍廣、實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn)[2]。視頻數(shù)據(jù)信息量非常大,對網(wǎng)絡(luò)帶寬的要求較為苛刻,因此視頻數(shù)據(jù)在傳輸之前必須對其進(jìn)行壓縮編碼處理,減少視頻傳輸中網(wǎng)絡(luò)負(fù)擔(dān)。由于移動(dòng)視頻監(jiān)控系統(tǒng)通過無線網(wǎng)絡(luò)傳輸視頻信號(hào),盡管視頻數(shù)據(jù)經(jīng)過壓縮處理,但考慮到無線信道的復(fù)雜性及傳輸帶寬的不穩(wěn)定性,在視頻信號(hào)傳輸過程中難免會(huì)出現(xiàn)數(shù)據(jù)包的丟失,進(jìn)而導(dǎo)致接收端視頻解碼質(zhì)量的下降。因此,本文利用流媒體技術(shù)對視頻數(shù)據(jù)進(jìn)行打包處理,實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)環(huán)境并反饋給視頻發(fā)送端,本文在此基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了基于ARM的移動(dòng)實(shí)時(shí)視頻監(jiān)控系統(tǒng)。
1 系統(tǒng)總體設(shè)計(jì)
本文設(shè)計(jì)并實(shí)現(xiàn)了采用三星S3C6410微處理器芯片作為主控制器的移動(dòng)實(shí)時(shí)視頻監(jiān)控系統(tǒng)。移動(dòng)視頻監(jiān)控系統(tǒng)包括硬件系統(tǒng)和軟件系統(tǒng)。操作系統(tǒng)基于嵌入式Linux?2.6.30.4操作系統(tǒng),硬件部分以S3C6410微處理器為核心,利用高清攝像頭實(shí)現(xiàn)視頻采集,無線網(wǎng)絡(luò)實(shí)現(xiàn)視頻傳輸,手機(jī)端實(shí)時(shí)解碼顯示的功能。系統(tǒng)軟件部分主要由應(yīng)用軟件、根文件系統(tǒng)、Linux系統(tǒng)內(nèi)核、硬件驅(qū)動(dòng)程序、Bootloader引導(dǎo)程序組成,應(yīng)用軟件負(fù)責(zé)視頻采集、壓縮編碼及傳輸;系統(tǒng)硬件部分包括嵌入式ARM微處理器芯片,SDRAM,F(xiàn)LASH,LED警示燈及各種外圍電路接口。系統(tǒng)采用USB接口攝像頭采集視頻數(shù)據(jù),視頻處理模塊對視頻進(jìn)行壓縮編碼,3G無線發(fā)射模塊完成視頻數(shù)據(jù)的傳輸,系統(tǒng)總體框圖如圖1所示。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件平臺(tái)包括視頻采集前端和移動(dòng)監(jiān)控端兩部分。視頻采集前端包括核心板模塊、視頻采集模塊、視頻數(shù)據(jù)壓縮處理模塊、液晶顯示模塊、無線傳輸模塊、數(shù)據(jù)存儲(chǔ)模塊及電源模塊;移動(dòng)監(jiān)控端采用Android智能手機(jī)作為實(shí)時(shí)監(jiān)控設(shè)備。視頻監(jiān)控前端硬件組成結(jié)構(gòu)如圖2所示。
本系統(tǒng)利用S3C6410微處理器接收、控制攝像頭采集的視頻信號(hào),利用開源多媒體編/解碼器進(jìn)行基于H.264編碼標(biāo)準(zhǔn)的壓縮編碼;SDRAM用于系統(tǒng)程序的加載及應(yīng)用程序中間數(shù)據(jù)的存儲(chǔ);NAND FLASH用于存儲(chǔ)系統(tǒng)固化程序,例如Bootloader系統(tǒng)引導(dǎo)程序、Linux操作系統(tǒng)等;SD存儲(chǔ)卡用于存儲(chǔ)壓縮后的視頻數(shù)據(jù);3G無線發(fā)射模塊用于發(fā)送壓縮編碼后的視頻數(shù)據(jù)。
2.1 S3C6410微處理器模塊
S3C6410是韓國三星公司設(shè)計(jì)的16/32位的RISC微處理器,基于ARM 1176JZF?S內(nèi)核,最高主頻可達(dá)667 MHz,具有獨(dú)立的Load/Store和8級(jí)流水線設(shè)計(jì),集成了多格式的編解碼器(MFC),支持MPEG4/H.263/H.264格式編解碼,是一個(gè)低成本、低功耗、高性能的應(yīng)用型微處理器[3],非常適合多媒體應(yīng)用程序的開發(fā)。
2.2 視頻采集模塊
采用OMNIVISION公司生產(chǎn)的OV2640芯片作為CMOS數(shù)字圖像傳感器,該芯片向S3C6410提供SCCB和Camera Interface接口,支持YUV420P格式輸出,另外其內(nèi)部集成了模/數(shù)轉(zhuǎn)換器和圖像傳感器。其實(shí)現(xiàn)原理是通過外界環(huán)境的圖像投射到內(nèi)部的圖像傳感器上,圖像傳感器完成光電轉(zhuǎn)化,將光信號(hào)轉(zhuǎn)換為電信號(hào)后,通過其內(nèi)部的模/數(shù)轉(zhuǎn)換器轉(zhuǎn)化為數(shù)字信號(hào)經(jīng)DSP芯片處理后,通過USB接口輸出。OV2640和S3C6410接口的連接線如圖3所示。OV2640的DATA[7:0]與S3C6410的CAMDATA[7:0]相連,實(shí)現(xiàn)兩者之間的數(shù)據(jù)傳輸。OV2640的系統(tǒng)時(shí)鐘SCLK與S3C6410的CAMCLK相連,用來解決傳輸數(shù)據(jù)時(shí),同步時(shí)鐘信號(hào)。S3C6410通過I2C總線對OV2640內(nèi)部寄存器進(jìn)行讀/寫來控制該芯片。
2.3 3G無線傳輸模塊
本文選用的無線傳輸模塊AD3812是中興公司推出的3G無線傳輸模塊,該模塊支持WCDMA/CDMA 2000等多種制式[4],上傳速率可達(dá)2 Mb/s,下載速率最高可達(dá)7.2 Mb/s。該3G無線模塊提供SPI和SDIO接口,通過其中一個(gè)接口將視頻信息傳輸給遠(yuǎn)程的Android手機(jī)端。選擇聯(lián)通WCDMA網(wǎng)絡(luò)作為無線傳輸網(wǎng)絡(luò),相比另外兩家電信運(yùn)營商,聯(lián)通3G網(wǎng)絡(luò)上/下行速率更快,如表1所示。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)以嵌入式Linux操作系統(tǒng)作為應(yīng)用軟件運(yùn)行環(huán)境,使用U?boot作為系統(tǒng)引導(dǎo)程序,系統(tǒng)內(nèi)核采用Linux?2.6.30.4版本,Linux系統(tǒng)的根文件系統(tǒng)選用yaffs2文件系統(tǒng)。針對不同應(yīng)用開發(fā)平臺(tái)對操作系統(tǒng)內(nèi)核進(jìn)行裁剪、移植、配置,使Linux系統(tǒng)適用于硬件開發(fā)平臺(tái)。其中應(yīng)用程序是整個(gè)系統(tǒng)最重要的組成部分,而應(yīng)用程序中以視頻壓縮編碼、視頻流傳輸控制、視頻解碼三部分最為重要,下面重點(diǎn)闡述應(yīng)用軟件的總體設(shè)計(jì)、編碼庫的移植、流媒體傳輸及移動(dòng)端視頻解碼程序設(shè)計(jì)。
3.1 軟件總體設(shè)計(jì)
視頻信號(hào)的數(shù)據(jù)量非常大,必須對其壓縮編碼處理,使之適合信道傳輸,減少視頻存儲(chǔ)空間。H.264視頻編碼標(biāo)準(zhǔn)因其獨(dú)有的網(wǎng)絡(luò)適應(yīng)性、豐富的編解碼算法得到了廣泛地使用。本文正是基于H.264編碼標(biāo)準(zhǔn)的X264編解碼庫實(shí)現(xiàn)對采集視頻的壓縮編碼。對于壓縮編碼處理后的視頻數(shù)據(jù)通過RTP/RTCP流媒體傳輸協(xié)議將其打包,借助UDP/IP協(xié)議實(shí)現(xiàn)視頻流的IP格式封裝后,通過3G無線網(wǎng)絡(luò)將視頻數(shù)據(jù)發(fā)送到移動(dòng)端。移動(dòng)端接收H.264格式視頻碼流,利用FFmpeg開源編解碼庫實(shí)現(xiàn)視頻碼流的解碼與播放。視頻傳輸流程如圖4所示。
3.2 視頻采集
V4L2(Video Four Linux Two)是Linux系統(tǒng)內(nèi)核中的一種通用的視頻設(shè)備驅(qū)動(dòng),不同廠家的視頻設(shè)備只要滿足UVC(USB Video Class)標(biāo)準(zhǔn)即可在Linux系統(tǒng)下使用,可以通過在Linux下使用命令lsusb查看該設(shè)備是否可以在Linux系統(tǒng)下使用。如果Linux系統(tǒng)下不支持該類視頻設(shè)備,需要編寫視頻設(shè)備的驅(qū)動(dòng)程序,可以選擇加載視頻驅(qū)動(dòng)程序到系統(tǒng)中或以模塊的方式掛載.ko驅(qū)動(dòng)程序。視頻設(shè)備在用戶空間通過調(diào)用各種ioctl()函數(shù)完成對采集設(shè)備的設(shè)置。Linux下應(yīng)用程序獲取采集視頻數(shù)據(jù)主要通過read/write和內(nèi)存映射兩種方式,其中read/write方式在系統(tǒng)所在內(nèi)核空間不斷拷貝數(shù)據(jù)到用戶空間,此種方式相對簡單,但耗費(fèi)大量的系統(tǒng)資源,效率比較低。內(nèi)存映射方式通過把系統(tǒng)內(nèi)核空間地址直接映射到用戶空間,采用mmap()函數(shù)進(jìn)行內(nèi)存的映射,用戶直接操作內(nèi)存空間即可,避免了數(shù)據(jù)從內(nèi)核空間拷貝到用戶空間[5?6]。視頻采集主要函數(shù)及控制命令如下:
(1) open(“/dev/video0”,O_RDWR):打開視頻設(shè)備文件,此處可以選擇以阻塞方式或者非阻塞方式打開視頻采集設(shè)備,此處以阻塞方式打開視頻設(shè)備。
(2) VIDIOC_QUERYCAP:取得設(shè)備的capability,查詢視頻設(shè)備是否具備音視頻輸入/輸出功能。
(3) VIDIOC_S_INPUT:選擇視頻輸入格式,可以選擇單輸入模式或多輸入模式。
(4) VIDIOC_S_FMT:視頻制式及幀格式設(shè)置。
(5) VIDIOC_REQBUFS:分配視頻存放內(nèi)存。
(6) VIDIOC_STREAMON:開始視頻數(shù)據(jù)的采集。
(7) VIDIOC_DQBUF:從內(nèi)存空間讀取視頻數(shù)據(jù)。
(8) VIDIOC_QBUF:釋放內(nèi)存空間并把內(nèi)存空間放回緩存隊(duì)列,等待重新獲取視頻數(shù)據(jù)。
(9) VIDIOC_STREAMOFF:停止視頻采集程序。
其中V4L2的視頻采集操作流程如圖5所示。關(guān)于視頻屬性、幀格式、視頻捕獲格式、視頻設(shè)備支持的詳細(xì)參數(shù)設(shè)置可以通過查詢V4L2手冊,此處不再贅述。
3.3 X264編碼庫移植
本文采用X264開源編碼庫對采集視頻進(jìn)行壓縮編碼。X264是開源的視頻編碼庫,用于對采集的視頻數(shù)據(jù)進(jìn)行H.264標(biāo)準(zhǔn)格式的壓縮編碼,H.264支持幀內(nèi)預(yù)測、幀間預(yù)測、多幀預(yù)測、熵編碼及多模式運(yùn)動(dòng)估計(jì)技術(shù),在相同圖像條件下H.264編碼壓縮后的數(shù)據(jù)量相比MPEG4提高了約55%,使得視頻信號(hào)更易于通過無線網(wǎng)絡(luò)傳輸[7]。另外X264編碼庫相比JM,T264編碼庫而言簡潔、高效、更注重實(shí)用性,拋棄了對視頻編碼影響較小而計(jì)算復(fù)雜度較大的算法實(shí)現(xiàn)部分。H.264編碼結(jié)構(gòu)框圖如圖6所示。
X264編碼庫的移植基本步驟如下:
(1) 首先在宿主機(jī)中建立交叉編譯環(huán)境,下載X264開源編碼庫,本文采用的是x264?snapshot?20120423?2245版本庫文件,交叉編譯器采用arm?linux?gcc 4.3.3,解壓該庫文件到特定目錄下,這里選擇目錄為/usr/local/x264。
(2) 命令行狀態(tài)下輸入./configure??host=arm?linux??prefix=/usr/local/x264 ?enable?shared ??disable?asm;進(jìn)行運(yùn)行環(huán)境配置。
(3) 修改config.mak文件中cc=gcc為cc=arm?linux?gcc;LD=gcc?o為LD=arm?linux?gcc?o;ar=ar rc改為ar=arm?linux?ar rc;ranlib=ranlib改為ranlib=arm?linux?
ranlib。
(4) 命令行狀態(tài)下輸入make; make install;在/usr/local/x264目錄下生成libx264可執(zhí)行文件,復(fù)制該文件到ARM目標(biāo)板,移植結(jié)束。
3.4 視頻流媒體傳輸
對于壓縮編碼處理后的視頻數(shù)據(jù),通過RTP/RTCP流媒體實(shí)時(shí)傳輸協(xié)議將其打包,借助UDP/IP協(xié)議實(shí)現(xiàn)視頻流的IP格式封裝后,通過WiFi無線網(wǎng)絡(luò)將視頻數(shù)據(jù)發(fā)送到移動(dòng)端。本方案使用的RTP/RTCP協(xié)議是一種實(shí)時(shí)傳輸控制協(xié)議,實(shí)時(shí)傳輸協(xié)議(Real?time Transport Protocol,RTP)是一種提供點(diǎn)對點(diǎn)或者點(diǎn)對多點(diǎn)傳輸服務(wù)的實(shí)時(shí)傳輸協(xié)議[8?9]。但它本身無法為按順序傳輸?shù)臄?shù)據(jù)包提供可靠的傳輸機(jī)制、流量控制及擁塞控制。它利用實(shí)時(shí)傳輸控制協(xié)議(Real?time Transport Control Protocol, RTCP)來對擁塞及流量控制提供支持。本文采用JRTPLIB?3.9.1版本開源函數(shù)庫來實(shí)現(xiàn)RTP/RTCP的實(shí)時(shí)傳輸。JRTPLIB是利用C++面向?qū)ο笳Z言實(shí)現(xiàn)的開源RTP/RTCP函數(shù)庫,采用其中的庫函數(shù)可以開發(fā)出高質(zhì)量的視頻傳輸應(yīng)用程序。由于軟件實(shí)現(xiàn)需要在嵌入式ARM平臺(tái)上運(yùn)行,因此需要對JRTPLIB庫針對ARM平臺(tái)進(jìn)行裁剪、優(yōu)化、交叉編譯。由于JRTPLIB庫需要jthread包的支持,首先下載jthread?1.3.1壓縮包及arm?linux?gcc?4.3.3交叉編譯器,解壓JRTPLIB庫和jthread包至特定安裝目錄,在Linux命令行狀態(tài)下對相關(guān)參數(shù)進(jìn)行設(shè)置,編碼安裝即可。RTP包傳輸流程圖如圖7所示。
3.5 視頻解碼
Android手機(jī)端視頻解碼采用FFmpeg編解碼庫實(shí)現(xiàn)對基于RTP/RTCP協(xié)議傳輸?shù)腍.264視頻碼流的解碼[10]。FFmpeg提供音視頻編解碼、錄制、轉(zhuǎn)化、解碼視頻的縮放及音視頻流化的完整解決方案。FFmpeg支持FLV,MPEG,DV等多種編碼格式,以及MPEG,AVI,ASF和H.264等90多種解碼格式。由于Android系統(tǒng)自帶的OpenCore多媒體框架支持的多媒體格式有限,因此本文采用FFmpeg作為系統(tǒng)視頻流的解碼方案。而FFmpeg開源解碼庫并不能直接運(yùn)行在Android平臺(tái),需要對FFmpeg庫進(jìn)行裁剪移植,使之適用于Android平臺(tái)。FFmpeg庫移植過程中要注意config.h和config.mak兩個(gè)文件進(jìn)行配置參數(shù)的修改,移植完成后產(chǎn)生libffmpeg.so動(dòng)態(tài)鏈接庫文件,Android平臺(tái)Java層通過JNI(Java Native Interface,JNI)方式調(diào)用動(dòng)態(tài)鏈接庫實(shí)現(xiàn)對視頻碼流解碼[11?12]。解碼視頻流為YUV420格式,Android系統(tǒng)無法直接顯示,使用sws_scale()函數(shù)對YUV420格式轉(zhuǎn)為RGB格式,Android系統(tǒng)可以直接對RGB格式圖像渲染顯示。
其中解碼過程中涉及的主要函數(shù)功能描述如下:
(1) avcodec_init():初始化libavformat/libavcodec解碼庫,申請解碼需要的內(nèi)存空間,為接下來解碼做準(zhǔn)備。
(2) av_register_all():注冊所有的編解碼器以及解析器、碼流過濾器,實(shí)現(xiàn)對特定碼流格式的編解碼。
(3) av_open_input_file():打開輸入的視頻碼流文件。
(4) av_find_stream_info():從文件中提取碼流信息,利用AVFormatContext結(jié)構(gòu)體輸出視頻對應(yīng)的碼流參數(shù)信息。
(5) codec_type_video():查找對應(yīng)的視頻流格式。
(6) avcodec_find_decoder():查找對應(yīng)的解碼器。
(7) avcodec_open():打開對應(yīng)編解碼器。
(8) avcodec_alloc_frame():為將要解碼視頻幀分配內(nèi)存空間,存儲(chǔ)解碼后視頻數(shù)據(jù)。
(9) av_read_frame():從視頻碼流中不斷提取視頻幀數(shù)據(jù),為下一步的解碼作準(zhǔn)備。
(10) avcodec_decode_video():進(jìn)行幀的類型的判定并根據(jù)需要進(jìn)行幀格式轉(zhuǎn)化后保存。
(11) avcodec_close():完成視頻編解碼,釋放解碼器。
(12) av_close_input_file():關(guān)閉輸入的視頻碼流文件,停止解碼視頻文件。
4 系統(tǒng)測試
在本次實(shí)驗(yàn)中,視頻采集前端采用基于ARM 1176JZF?S內(nèi)核的實(shí)驗(yàn)板,手機(jī)端測試系統(tǒng)為Android 4.1系統(tǒng)。在Android手機(jī)應(yīng)用程序窗口輸入遠(yuǎn)端實(shí)驗(yàn)板的IP地址及端口號(hào),實(shí)現(xiàn)手機(jī)與實(shí)驗(yàn)板連接。視頻采集端監(jiān)控畫面如圖9所示。鑒于3G無線網(wǎng)絡(luò)的不穩(wěn)定性,系統(tǒng)在無線網(wǎng)絡(luò)不同上行速率的情況下對視頻數(shù)據(jù)壓縮率、傳輸時(shí)間進(jìn)行了測試。表2為采用聯(lián)通WCDMA網(wǎng)絡(luò)傳送視頻數(shù)據(jù)時(shí),視頻采集端數(shù)據(jù)壓縮率及數(shù)據(jù)傳輸時(shí)間。
5 結(jié) 語
本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于嵌入式ARM平臺(tái)和3G網(wǎng)絡(luò)的移動(dòng)視頻監(jiān)控系統(tǒng),分別在PC端和手機(jī)端實(shí)現(xiàn)了視頻的解碼與播放。PC端利用VLC播放器實(shí)現(xiàn)H.264視頻流的解碼與播放,針對Android平臺(tái)開發(fā)手機(jī)端視頻監(jiān)控應(yīng)用程序,監(jiān)控效果如圖10所示。
實(shí)驗(yàn)結(jié)果表明,系統(tǒng)在3G網(wǎng)絡(luò)覆蓋條件下幀率可達(dá)20 f/s,圖像清晰、播放流暢,能夠滿足遠(yuǎn)程移動(dòng)視頻監(jiān)控的要求。相對目前市場上類似的設(shè)備,本文提出的基于ARM的移動(dòng)實(shí)時(shí)視頻監(jiān)控系統(tǒng),體積小、結(jié)構(gòu)簡單、成本低,具有廣闊的市場應(yīng)用前景。
參考文獻(xiàn)
[1] 盧秋波.視頻監(jiān)控技術(shù)簡介與發(fā)展趨勢[J].安防科技,2007 (5):21?23.
[2] 賀禮,唐倫,陳前斌,等.移動(dòng)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2007,31(6):59?62.
[3] Samsung Electronics. S3C6410x32?bit RISC microprocessor user manual (revision 1.2). [EB/OL]. [2011?08?10]. http://www.samsung.com.
[4] 張成偉,程文青,黑曉軍.基于Android平臺(tái)的3G移動(dòng)網(wǎng)絡(luò)測量研究及性能分析[J].計(jì)算機(jī)科學(xué),2015,42(2):24?28.
[5] 黃俊偉,巴義.基于V4L2移動(dòng)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[J].電視技術(shù),2012,36(17):159?161.
[6] 錢華明,劉英明,張振旅.基于S3C2410嵌入式無線視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2009,17(6):1132?1134.
[7] 楊宇,何小海,呂瑞.基于H.264標(biāo)準(zhǔn)的碼率控制算法[J].計(jì)算機(jī)應(yīng)用,2009,29(3):675?680.
[8] 陳明,梁興東,吳一戎.基于H.264的嵌入式無線視頻監(jiān)控系統(tǒng)[J].微計(jì)算機(jī)信息,2008,24(14):10?12.
[9] 賀禮,陳前斌,唐倫,等.基于3G無線網(wǎng)絡(luò)實(shí)時(shí)傳輸MPEG?4流媒體的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2008,25(6):1856?1859.
[10] 胡成,任平安,李文莉.基于Android系統(tǒng)的FFmpeg多媒體同步傳輸算法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,21(10):85?88.
[11] 劉誠,段紅光,巴義.基于Android移動(dòng)視頻監(jiān)控系統(tǒng)客戶端的研究與設(shè)計(jì)[J].電視技術(shù),2013,37(4):86?87.
[12] ??》?基于Android的智能視頻監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[D].武漢:武漢科技大學(xué),2013.