




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于嵌入式Linux的視頻 監(jiān)控系統(tǒng)的軟件設計 基于嵌入式Linux的視頻監(jiān)控系統(tǒng)的軟件設計1、引言隨著計算機技術(shù)及網(wǎng)絡技術(shù)的迅猛發(fā)展,公安、安防行業(yè)的發(fā)展趨勢必然是全面數(shù)字化、網(wǎng)絡化。傳統(tǒng)的模擬閉路電視監(jiān)控系統(tǒng)有很多局限性:傳輸距離有限、無法聯(lián)網(wǎng),而且模擬視頻信號數(shù)據(jù)的存儲會耗費大量的存儲介質(zhì)(如錄像帶),查詢?nèi)∽C時十分煩瑣。 基于個人計算機的視頻監(jiān)控系統(tǒng)終端功能較強,但穩(wěn)定性不好,視頻前端(如電壓耦合元件等視頻信號的采集、壓縮、通訊)較為復雜,可靠性不高?;谇度胧絃inux視頻的網(wǎng)絡監(jiān)控系統(tǒng)不需要用于處理模擬視頻信號的個人計算機,而是把視頻服務器內(nèi)置一個嵌入式Web服務器,采用嵌入式實時多任務操作系統(tǒng)。 由于把視頻壓縮和Web功能集中到一個體積很小的設備內(nèi),可以直接連入局域網(wǎng),即插即看,省掉復雜的電纜,安裝方便(僅需設置一個IP地址),用戶也無需安裝任何硬件設備,僅用瀏覽器即可觀看。 基于嵌入式Linux的視頻網(wǎng)絡監(jiān)控系統(tǒng)將嵌入式Linux系統(tǒng)連接上Web,即視頻服務器內(nèi)置一個嵌入式Web服務器,攝像機傳送來的視頻信號數(shù)字化后由高效壓縮芯片壓縮,通過內(nèi)部總線傳送到內(nèi)置的Web服務器上。2、緒論視頻監(jiān)控系統(tǒng)是安全防范系統(tǒng)的組成部分,它是一種防范能力較強的綜合系統(tǒng)。視頻監(jiān)控以其直觀、方便、信息內(nèi)容豐富而廣泛應用于許多場合。近年來,隨著計算機、網(wǎng)絡以及圖像處理、傳輸技術(shù)的飛速發(fā)展,涌現(xiàn)出大量的嵌入式視頻監(jiān)控系統(tǒng)。21視頻監(jiān)控系統(tǒng)概述視頻監(jiān)控是利用機器視覺和圖像處理的方法對圖像序列進行運動檢測、運動目標分類、運動目標跟蹤以及對監(jiān)視場景中目標行為的理解與描述。其中,運動檢測、目標分類、目標跟蹤屬于視覺中的低級和中級處理部分,而行為理解和描述則屬于高級處理。運動撿測、運動目標分類與跟蹤是視頻監(jiān)控中研究較多的三個問題;而行為理解與描述則是近年來被廣泛關(guān)注的研究熱點,它是指對目標的運動模式進行分析和識別,并用自然語言等加以描述。22視頻監(jiān)控系統(tǒng)發(fā)展視頻監(jiān)控技術(shù)的發(fā)展大致可分為四個階段:閉路電視系統(tǒng)構(gòu)建的模擬系統(tǒng)、數(shù)字信號控制的模擬視頻監(jiān)控系統(tǒng)、數(shù)字硬盤錄像設備為核心的視頻監(jiān)控系統(tǒng)和現(xiàn)在的數(shù)字網(wǎng)絡視頻監(jiān)控系統(tǒng)。第一代視頻監(jiān)控系統(tǒng)是采用閉路電視系統(tǒng)構(gòu)建的模擬系統(tǒng),通過攝像機、監(jiān)視器、磁帶錄像機等構(gòu)成I甜。由于模擬矩陣很難做到數(shù)十路的切換,不能與報警系統(tǒng)聯(lián)動,不能對前端進行控制且價格昂貴、操作管理復雜、很難實現(xiàn)較大系統(tǒng)的要求,已經(jīng)逐漸被淘汰。第二代視頻監(jiān)控系統(tǒng)是數(shù)字信號控制的模擬視頻監(jiān)控系統(tǒng)。數(shù)字信號控制的模擬視頻監(jiān)控系統(tǒng)又分為基于微處理器的視頻切換控制加PC機的多媒體管理和基于PC機實現(xiàn)對矩陣主機的切換控制及對系統(tǒng)的多媒體管理兩種類型。第三代視頻監(jiān)控系統(tǒng)是以數(shù)字硬盤錄像設備為核心的視頻監(jiān)控系統(tǒng)。90年代末,隨著多媒體技術(shù)、視頻壓縮編碼技術(shù)、網(wǎng)絡通訊技術(shù)的發(fā)展,數(shù)字錄像監(jiān)控系統(tǒng)迅速崛起。數(shù)字監(jiān)控錄像系統(tǒng)通常分為兩類:一類是基于PC機組合的計算機多媒體工作方式;另一類是嵌入式數(shù)字監(jiān)控錄像系統(tǒng)。1基于PC的視頻監(jiān)控錄像系統(tǒng)的組成結(jié)構(gòu)為:兼容工控PC機+視頻采集卡+普通較可靠的操作系統(tǒng)平臺+應用軟件從系統(tǒng)的組成結(jié)構(gòu)來分析:a、PC機兼容PC機用于24小時不間斷工作時,其性能通常是不可靠的,工控PC機相對兼容Pc機的穩(wěn)定性有一個檔次上的提高,適用于較復雜的工作環(huán)境;b、操作系統(tǒng)以Windows 98為操作平臺的系統(tǒng):一般來說,Win98的穩(wěn)定性是有一定問題的,如果同時應用軟件又不是很規(guī)范,這樣就容易在使用過程中出現(xiàn)工作穩(wěn)定、死機等問題,而基于PC機的視頻監(jiān)控錄像系統(tǒng)其軟件的實現(xiàn)是在Windows 9598NT等通用操作系統(tǒng)上,同時系統(tǒng)文件、應用軟件和圖像文件都存儲在硬盤上,視頻處理必須高密度輸入大量數(shù)據(jù),同時硬盤要進行多工工作,普通的硬盤邏輯(如Windows的FAT32)已無法適應,以致極易產(chǎn)生系統(tǒng)的不穩(wěn)定性,造成死機現(xiàn)象;c、應用軟件采用簡易應用軟件的系統(tǒng)是不能夠應用安防領(lǐng)域的,視頻監(jiān)控系統(tǒng)的應用軟件能力上應支持多任務并發(fā)處理,如監(jiān)視、錄像、回放、備份、報警、控制等的多工處理能力;d、視頻采集卡視頻監(jiān)控錄像系統(tǒng)通常均為多路輸入系統(tǒng),視頻采集卡可采用多卡方式,也可采用單卡方式。一般說,單卡方式集成度高,穩(wěn)定性會優(yōu)于多卡方式,很多采用一路一卡的方式很容易形成硬件沖突,其穩(wěn)定性會有較大的影響。目前市場上也有部分為追求高幀數(shù)而設計采用多卡進行迭加的多路單卡設備,但其仍在計算機的總線上進行傳輸、處理,PCI總線將是系統(tǒng)的瓶頸,不可能會有質(zhì)的飛躍。22嵌入方式的數(shù)字監(jiān)控錄像系統(tǒng)嵌入式系統(tǒng)的優(yōu)缺點a、系統(tǒng)為專用系統(tǒng),所以系統(tǒng)小,指令精簡,處理速度快b、系統(tǒng)數(shù)據(jù)置于ROMFLASH MEMORY,調(diào)用速度快,不會被改變,穩(wěn)定性好C、系統(tǒng)處理實時性好,性能穩(wěn)定d、文件管理系統(tǒng)更適合于大量的視頻數(shù)據(jù)e、該類系統(tǒng)目前四路以上機型還較為少見f、在網(wǎng)絡功能、音視頻同步等方面也難令人滿意。第四代視頻監(jiān)控系統(tǒng)一數(shù)字網(wǎng)絡視頻監(jiān)控系統(tǒng)1數(shù)字網(wǎng)絡視頻監(jiān)控系統(tǒng)的原理數(shù)字網(wǎng)絡視頻監(jiān)控系統(tǒng)16J的關(guān)鍵設備是網(wǎng)絡視頻信號采集終端(也被稱為視頻服務器),網(wǎng)絡視頻信號采集終端采用嵌入式實時多任務操作系統(tǒng)。攝像機送來的視頻信號在網(wǎng)絡視頻信號采集終端數(shù)字化后由高效壓縮芯片壓縮,通過內(nèi)部總線送到網(wǎng)絡接口發(fā)送到網(wǎng)絡上l刀,網(wǎng)絡上用戶可以直接用在PC機上用瀏覽器觀看網(wǎng)絡視頻信號采集終端傳送過來的攝像機所拍攝的圖像,授權(quán)用戶還可以通過計算機網(wǎng)絡透過網(wǎng)絡視頻信號采集終端控制攝像機鏡頭和云臺的動作或?qū)ο到y(tǒng)進行配置操作。由于把視頻壓縮和網(wǎng)絡功能集中到一個體積很小的設備內(nèi),可以直接連入局域網(wǎng),達到即插即用,省掉多種復雜的電纜,安裝方便(僅需設置一個坤地址),用戶也無需安裝任何硬件設備,僅通過PC機用瀏覽器即可觀看。2數(shù)字網(wǎng)絡視頻監(jiān)控系統(tǒng)與其它監(jiān)控系統(tǒng)的比較a、布控區(qū)域廣闊 數(shù)字網(wǎng)絡視頻監(jiān)控系統(tǒng)的網(wǎng)絡視頻信號采集終端直接連入網(wǎng)絡,沒有線纜長度和信號衰減的限制,同時網(wǎng)絡是沒有距離概念的,徹底拋棄了地域的概念,擴展布控區(qū)域。b、系統(tǒng)具有幾乎無限的無縫擴展能力所有設備都以IP地址進行標識,增加設備只是意味著口地址的擴充。c、可組成非常復雜的監(jiān)控網(wǎng)絡采用基于網(wǎng)絡視頻信號采集終端為核心的監(jiān)控系統(tǒng),在組網(wǎng)方式上與傳統(tǒng)的模擬監(jiān)控和基于PC平臺的監(jiān)控方式有極大的不同,由于視頻信號采集終端輸出已完成模擬到數(shù)字的轉(zhuǎn)換并壓縮,采用統(tǒng)一的協(xié)議在網(wǎng)絡上傳輸,支持跨網(wǎng)關(guān)、跨路由器的遠程視頻傳輸。d、性能穩(wěn)定可靠,無需專人管理視頻信號采集終端實際上基于嵌入式電腦技術(shù),采用嵌入式實時多任務操作系統(tǒng),又由于視頻壓縮和網(wǎng)絡功能集中到一個體積很小的設備內(nèi),直接連入局域網(wǎng)或廣域網(wǎng),即插即看,系統(tǒng)的實時性、穩(wěn)定性、可靠性大大提高,也無需專人管理,非常適合于無人值守的環(huán)境。e、當監(jiān)控中心需要同時觀看較多的攝像機圖像時,對網(wǎng)絡帶寬就會有一定的要求。2視頻監(jiān)控系統(tǒng)的應用概括來說,目前視頻監(jiān)控系統(tǒng)應用領(lǐng)域主要有以下一些方面:教育系統(tǒng)主要是校園安全監(jiān)控、電子考場監(jiān)控、網(wǎng)絡教學、遠程教育等;電力系統(tǒng)主要是機房無人值守、變電站無人值守、發(fā)電廠安全生產(chǎn)管理監(jiān)控等;公檢法系統(tǒng)主要是社區(qū)監(jiān)控、城市安全監(jiān)控、監(jiān)獄安全監(jiān)控、庭審直播等;部隊系統(tǒng)主要是通信機房監(jiān)控、作戰(zhàn)指揮系統(tǒng)、倉儲物資監(jiān)控、基層連隊的日常管理監(jiān)控系統(tǒng)等;石化系統(tǒng)主要是油井監(jiān)控、儲油庫監(jiān)控、加油站監(jiān)控、石化工廠安全生產(chǎn)監(jiān)控等;銀行系統(tǒng)主要是銀行監(jiān)控系統(tǒng)的聯(lián)網(wǎng)、儲蓄監(jiān)控、金庫監(jiān)控等;鐵路系統(tǒng)主要是站內(nèi)調(diào)度管理系統(tǒng)(視頻部分)、站內(nèi)安全管理、應急指揮系統(tǒng)等;稅務系統(tǒng)主要是報稅服務大廳監(jiān)控;鋼鐵系統(tǒng)主要是安全生產(chǎn)管理監(jiān)控系統(tǒng);醫(yī)療系統(tǒng)主要是特護病房視頻監(jiān)控、手術(shù)直播及教學系統(tǒng)、日常安全管理監(jiān)控等。本文主要研討該系統(tǒng)的軟件實現(xiàn)部分3、總體設計 嵌入式Linux視頻網(wǎng)絡監(jiān)控系統(tǒng)是電工電子裝置、計算機軟硬件以及網(wǎng)絡、通信等多方面的有機組合體,它以智能化、網(wǎng)絡化、交互性為特征,結(jié)構(gòu)比較復雜。如果利用OSI七層模型的內(nèi)容和形式,把相應的數(shù)據(jù)采集控制模塊硬件和應用軟件以及應用環(huán)境等有機組合,可以形成一個統(tǒng)一的系統(tǒng)總體框架,其系統(tǒng)總體框架示意圖如圖l所示。系統(tǒng)總體框架示意圖攝像機傳送來的視頻信號數(shù)字化后,經(jīng)過壓縮,通過RS-232/RS485將數(shù)據(jù)送到內(nèi)置的Web服務器,嵌入式LJnux系統(tǒng)的 10/100M以太網(wǎng)口實現(xiàn)接入Internet網(wǎng)絡,將現(xiàn)場信號送到客戶端。整個系統(tǒng)的核心是嵌入式Linux系統(tǒng)。監(jiān)控系統(tǒng)啟動后,嵌入式Linux 系統(tǒng)啟動Web Server服務程序,接收授權(quán)客戶端瀏覽器的請求,Web Server將根據(jù)通信協(xié)議完成相應的監(jiān)測。3.1硬件設計方案系統(tǒng)硬件結(jié)構(gòu)如圖1 所示,該系統(tǒng)采用Samsung 公司的ARM9 內(nèi)核芯片S3C2440作為硬件平臺的中央處理器,該處理器主頻可達400MHz,硬件接口和資源豐富,存儲單元包括Flash 和SDRAM,F(xiàn)lash 具有掉電保持數(shù)據(jù)的特性,用于存儲Bootloader 啟動程序、Linux 內(nèi)核映像、文件系統(tǒng)以及用戶應用程序等。SDRAM 數(shù)據(jù)存取速度大大高于Flash 存儲器,用于為操作系統(tǒng)和應用程序提供運行空間。平臺利用RS232 接口輸出調(diào)試信息,通過以太網(wǎng)控制器芯片DM9000 擴展了一個網(wǎng)口,用于與外部網(wǎng)絡進行通信,通過USB HOST 接口連接USB 攝像頭采集圖像數(shù)據(jù),經(jīng)處理器壓縮并打包成視頻流后經(jīng)以太網(wǎng)進行傳輸,終端用戶接收到視頻流,解碼后即可把視頻圖像顯示出來。圖1 系統(tǒng)硬件結(jié)構(gòu)圖3.2軟件設計方案軟件平臺采用的嵌入式操作系統(tǒng)為Linux 2.6.13,Linux 具有內(nèi)核小、效率高、源碼開放、內(nèi)核直接提供網(wǎng)絡支持等優(yōu)點,但嵌入式系統(tǒng)的硬件資源有限,因此需根據(jù)實際需求對內(nèi)核進行裁剪,配置所需的功能模塊,然后再移植到硬件平臺上。嵌入式系統(tǒng)的軟件開發(fā)采用交叉編譯調(diào)試的方式,在宿主機上安裝Linux 系統(tǒng),建立交叉編譯環(huán)境,在宿主機編寫程序代碼,再利用交叉編譯工具生成目標機上可用的可執(zhí)行文件,最后向目標機平臺移植。3.2.1 視頻采集模塊視頻采集模塊通過嵌入式Linux 操作系統(tǒng)調(diào)用Video4Linux(V4L)5和底層設備驅(qū)動程序來完成視頻捕獲。V4L 是Linux 中關(guān)于視頻設備的內(nèi)核驅(qū)動,它為Linux 下的各種視頻設備提供了統(tǒng)一的編程接口,應用程序通過這些接口函數(shù)就可以操縱各種不同的設備。視頻采集流程如圖2 所示。圖2 視頻采集流程(1)打開視頻設備。Linux 下的視頻設備文件一般為“/dev/video0”,通過調(diào)用函數(shù)v4l_open( ),利用vd-fd=open(“/dev/video0”,O_RDWR)打開設備并獲得設備文件描述符vd-fd。(2) 獲取設備和圖像信息。通過v4l_get_capability( ) 函數(shù)獲取設備信息, 通過v4l_get_picture( )函數(shù)獲取圖像信息。(3)內(nèi)存映射。獲取圖像的方式有兩種:read( )直接讀取和mmap( )內(nèi)存映射。直接讀取方式通過內(nèi)核緩沖區(qū)來讀取圖像數(shù)據(jù),而本文使用內(nèi)存映射方式mmap( ),內(nèi)存映射方式可以直接把設備文件映射到內(nèi)存中,進程可以像訪問普通內(nèi)存一樣對文件進行訪問,讀取效率更高。初始化內(nèi)存映射時,需在內(nèi)存中開辟一塊空間,利用ioctl(vd-fd,VIDIOCGMBUF,&(vd-mbuf)操作取得需要映射的內(nèi)存空間大小vd-mbuf.size,利用mmap( )函數(shù),即vd-map=(unsigned char*) mmap(0, vd-mbuf.size, PROT_READ | PROT_WRITE,MAP_SHARED, vd-fd, 0)操作,把設備文件的內(nèi)容映射到內(nèi)存,vd-map 指針所指向的內(nèi)存區(qū)即為采集的圖像數(shù)據(jù),且此內(nèi)存區(qū)具有可讀寫和共享屬性。(4)初始化采集參數(shù)。設置采集視頻圖像的寬度、高度、格式等信息。(5)采集視頻數(shù)據(jù)。利用ioctl(vd-fd, VIDIOCMCAPTURE, &(vd-mmap)操作采集一幀圖像并存放到內(nèi)存映射區(qū),采集一幀圖像后要進行同步操作,利用ioctl(vd-fd, VIDIOCSYNC,&(vd- frame_current)操作判斷該幀圖像是否獲取完畢。對于獲取到的視頻圖像,通過視頻壓縮模塊壓縮成MPEG-4 視頻流,再通過視頻傳輸模塊把數(shù)據(jù)發(fā)送到以太網(wǎng)進行傳輸。3.2.2 視頻壓縮模塊從攝像頭直接采集過來的圖像由于數(shù)據(jù)量較大,不利于進行網(wǎng)絡傳輸,因此需先對其進行壓縮編碼。MPEG-4 是目前網(wǎng)絡多媒體傳輸?shù)闹饕袷?,具有高效的壓縮率,它利用很窄的帶寬,通過幀重建技術(shù)來壓縮圖像數(shù)據(jù),以求利用最少的數(shù)據(jù)獲得最佳的圖像質(zhì)量,可滿足實時視頻傳輸?shù)囊?。本文用軟件方式進行視頻編碼,選擇開源高效的Xvid 視頻編碼器對采集的視頻圖像數(shù)據(jù)進行MPEG-4 壓縮編碼。Xvid 視頻編碼器選用0.9.2 版本,因為該版本已經(jīng)實現(xiàn)了MPEG-4 的Simple Profile(SP)特性,而1.0 以后的版本增加了很多Advanced SP(ASP)特性及其他功能,ASP 特性的加入會增加運算復雜度,降低編碼速度,由于嵌入式系統(tǒng)的處理能力有限,一般只使用Xvid 的SP 特性,因此實驗選用Xvid0.9.2 編碼器,交叉編譯并移植到嵌入式系統(tǒng)內(nèi)。在宿主機Linux 操作系統(tǒng)中對Xvid0.9.2 進行交叉編譯的步驟如下:(1) 解壓縮Xvid 源碼:tar xzvf xvidcore- 0.9.2.tar.gz(2) 進入build/generic 目錄,創(chuàng)建編譯配置文件。由于Xvid 沒有針對ARM 的匯編優(yōu)化,因此編譯時需將匯編關(guān)閉;還需指定程序所運行的平臺為arm-linux。執(zhí)行命令:./configure -disable-assembly -host=arm-linux(3) 編譯:make; make install 。(4) 交叉編譯完成后會生成靜態(tài)庫libxvidcore.a 和動態(tài)庫libxvidcore.so.*,用戶程序可利用庫文件所提供的編程接口調(diào)用Xvid 里面的函數(shù)。攝像頭采集的視頻幀為YUV420 格式,通過Xvid 編碼器的encoder_encode 函數(shù)實現(xiàn)視頻壓縮,該函數(shù)定義如下:int encoder_encode(Encoder * pEnc, XVID_ENC_FRAME * pFrame, XVID_ENC_STATS *pResult);其中,pEnc 為編碼器實例的句柄;pFrame 是XVID_ENC_FRAME 類型的結(jié)構(gòu)體變量,負責傳遞參數(shù)信息給編碼器,這些信息包含色彩空間、編碼質(zhì)量、輸入輸出數(shù)據(jù)緩沖區(qū)指針等;pResult 是XVID_ENC_STATS 類型的結(jié)構(gòu)體變量,可以返回編碼操作執(zhí)行的狀態(tài)信息。3.2.3 視頻傳輸模塊視頻傳輸模塊負責把壓縮后的視頻流傳輸?shù)揭蕴W(wǎng),對實時性要求較高,本文使用實時傳輸協(xié)議(Real-time Transport Protocol,RTP),它可以在一對一或者一對多的網(wǎng)絡環(huán)境中實現(xiàn)流媒體數(shù)據(jù)的實時傳輸。JRTPLIB7是一個利用C+語言實現(xiàn)的開源RTP 庫,它完全遵循RFC 1889 設計,使用SOCKET 機制實現(xiàn)網(wǎng)絡通訊,可運行于包括Linux 和Windows 在內(nèi)的多種不同操作系統(tǒng)上。本文使用JRTPLIB 進行實時流媒體編程,發(fā)送端操作系統(tǒng)為Linux,接收端為Windows。在Linux 平臺上用JRTPLIB 進行實時多媒體編程前,需先對JRTPLIB 進行交叉編譯。(1) JRTPLIB 初始化通過調(diào)用RTPSessionParams 類的SetOwnTimestampUnit( )方法設置一個恰當?shù)臅r間戳,調(diào)用 SetMaximumPacketSize( )方法設置允許傳輸?shù)淖畲驲TP 包字節(jié)數(shù)(默認為1400 字節(jié));通過調(diào)用RTPUDPv4TransmissionParams 類的SetPortbase( )方法設置發(fā)送端數(shù)據(jù)傳輸所用的端口號(需為偶數(shù))。初始化完這兩個變量后,通過RTPSession 類的Create( )方法創(chuàng)建一個RTP 會話。(2) JRTPLIB 數(shù)據(jù)傳輸RTP 會話創(chuàng)建完成后,還需指定數(shù)據(jù)發(fā)送的目標地址,RTP 協(xié)議允許一個會話包含多個目標地址, 增加或刪除目標地址可通過RTPSession 類的AddDestination( ) 、DeleteDestination( )、ClearDestinations( )方法來實現(xiàn)。目標地址指定之后,通過RTPSession 類的SendPacket( )方法即可向指定的目標地址發(fā)送流媒體數(shù)據(jù)。SendPacket( )是一個重載函數(shù),具有多種形式,本文使用的形式為:int SendPacket(const void *data, size_t len, uint8_t pt, bool mark, uint32_t timestampinc);當一幀數(shù)據(jù)所占字節(jié)數(shù)大于允許傳輸?shù)淖畲驲TP 包字節(jié)數(shù)MaxPacketSize 時,需對一幀數(shù)據(jù)進行分割傳輸,使每次發(fā)送的字節(jié)數(shù)不大于MaxPacketSize,可使用SendPacket( )的mark參數(shù)來標識傳輸?shù)腞TP 包是否屬于同一幀數(shù)據(jù),若一幀數(shù)據(jù)需分成N 次發(fā)送,則前N-1 次發(fā)送的RTP 包的mark 標志設為0,第N 次發(fā)送的RTP 包的mark 標志設為1,即以mark=1來判斷分割傳輸?shù)臄?shù)據(jù)是否發(fā)送完成。實現(xiàn)過程如下:doif(lengthMaxPacketSize)mark=0;發(fā)送長度為MaxPacketSize 的RTP 包;length=length-MaxPacketSize;elsemark=1;發(fā)送長度為length 的RTP 包;break; /一幀數(shù)據(jù)發(fā)送完成while(1);(3) JRTPLIB 數(shù)據(jù)接收接收數(shù)據(jù)時,以BeginDataAccess( )函數(shù)開始,以EndDataAccess( )函數(shù)結(jié)束。為了能正確接收同一數(shù)據(jù)源的數(shù)據(jù)報,必須先對數(shù)據(jù)源表(source table)加鎖,BeginDataAccess( )函數(shù)可實現(xiàn)這一加鎖操作,確保在使用數(shù)據(jù)源表的同時輪詢(poll)線程不能訪問它,此時可進行數(shù)據(jù)接收操作,當正確接收一個數(shù)據(jù)報后,調(diào)用EndDataAccess( )函數(shù)即可實現(xiàn)對數(shù)據(jù)源表的解鎖。圖3 RTP 發(fā)送與接收流程圖RTP 發(fā)送與接收流程圖如圖3 所示。對于分割傳輸?shù)腞TP 包,根據(jù)RTP 包的mark 標志來判斷一幀數(shù)據(jù)是否接收完成,若mark=0,則表示此RTP 包為分割傳輸?shù)臄?shù)據(jù)包,需循環(huán)接收直到mark=1 為止,然后把這些RTP 包重新組合成完整的一幀數(shù)據(jù)。3.2.4 視頻解碼與回放接收到的視頻流數(shù)據(jù)經(jīng)過Xvid 解碼器的decoder_decode 函數(shù)進行解碼,該函數(shù)定義如下:int decoder_decode(DECODER * dec, XVID_DEC_FRAME * frame);其中,dec 為解碼器實例的句柄,frame 為XVID_DEC_FRAME 結(jié)構(gòu)體變量,包含解碼前后圖像數(shù)據(jù)的緩沖區(qū)指針、碼流長度等信息。解碼后的圖像可在客戶端軟件上顯示出來。4、展望與小結(jié)在今后的工作中,需要對視頻采集模塊繼續(xù)優(yōu)化,因為攝像頭采集的圖像信息還不是很流暢,希望通過移植QT界面,來優(yōu)化圖像的傳輸,其次,網(wǎng)絡攝像機是當今比較熱門的產(chǎn)品,我們雖然實現(xiàn)了遠程監(jiān)控,但是相關(guān)技術(shù)還有待與優(yōu)化,對服務器、客戶端之間的編程模式還不是很熟悉,需要進一步學習,另外,設計中采用的ARMg芯片功能比較強大,接口比較豐富,在以后的實際工作中可以根據(jù)自己的需要,可以進行更加有效的擴展。未來的視頻監(jiān)控系統(tǒng)應該具有智能化的特點,能夠自行對異常情況進行判斷,并發(fā)出報警,這就需要合適的運動檢測算法對監(jiān)控圖像進行分析判斷。另外未來的視頻監(jiān)控系統(tǒng)還可具有安防互動功能,與各種傳感器、控制器連接,實現(xiàn)自動目標跟蹤等功能。在網(wǎng)絡視頻監(jiān)控系統(tǒng)的未來發(fā)展空間中,這些功能的實現(xiàn)是有充分技術(shù)保障的。而且隨著技術(shù)的發(fā)展和成熟,視頻監(jiān)控系統(tǒng)的成本也應該進一步的降低,一世英更廣泛領(lǐng)域的需要。由于我們都屬于初學者,雖然最終實現(xiàn)了這些功能,但是對中間相關(guān)的一些模塊開發(fā),比如驅(qū)動等等還不太了解,只是做了部分修改,還有待于進一步學習掌握,論文的撰寫可能有某些不足,望老師指正。襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 橋面鋪裝激光整平機技術(shù)解析與應用
- 腫瘤抗體研究與應用進展
- 2024年福建廈門市蘇頌醫(yī)院補充工作人員招聘105人筆試考點考試題庫與答案
- 春節(jié)節(jié)前安全檢查與假日安全提示
- 2024年高考押題-歷史
- 收費站月工作總結(jié)
- 直腸惡性腫瘤疾病查房
- 腫瘤放療護理查房
- 2025社區(qū)獲得性肺炎防治進展
- 支原體肺炎院感防控要點
- 2024年吉林省長春市中考地理試卷(含答案與解析)
- 室外光纖布線施工合同協(xié)議書
- 2025版新教材高中語文第二輪復習專題練-專題六 語言文字運用(含答案)
- 2024年甘肅蘭州市西固區(qū)選聘專職化村黨組織書記1人歷年(高頻重點提升專題訓練)共500題附帶答案詳解
- 電機學智慧樹知到期末考試答案章節(jié)答案2024年東北電力大學
- 《凈水絮凝劑》課件
- 護欄網(wǎng)施工方案
- 西藏2021年中考數(shù)學真題試卷(含答案)
- 沂蒙紅色文化與沂蒙精神智慧樹知到期末考試答案章節(jié)答案2024年臨沂大學
- 中國地理(廣州大學)智慧樹知到期末考試答案章節(jié)答案2024年廣州大學
- 校園超市經(jīng)營投標方案(技術(shù)方案)
評論
0/150
提交評論