亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARM11的IP網(wǎng)視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2012-06-26 09:51:58徐繼富張秋林
        電視技術(shù) 2012年17期
        關(guān)鍵詞:線程嵌入式終端

        徐繼富,張秋林

        (空軍工程大學(xué)電訊工程學(xué)院,陜西 西安 710077)

        進(jìn)入21世紀(jì),視頻監(jiān)控技術(shù)的應(yīng)用日趨廣泛。然而,目前的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)多是以DSP芯片或者ARM9芯片為核心開發(fā)的。基于DSP芯片的視頻監(jiān)控系統(tǒng)雖然在視頻信號(hào)處理上優(yōu)勢(shì)明顯,但其在智能化控制上的短板極大地限制了它的應(yīng)用;基于ARM9的監(jiān)控系統(tǒng)雖然能夠克服DSP芯片的不足,但是其在視頻信號(hào)處理能力上的不足,使其不得不依靠專業(yè)的多媒體芯片來完成視頻信號(hào)的處理,而這無疑將增加制造成本。然而,新一代的ARM11處理器由于其內(nèi)嵌了多媒體處理模塊MFC,使其在視頻監(jiān)控系統(tǒng)的開發(fā)中具有極大的優(yōu)勢(shì)。因此,基于ARM11的視頻監(jiān)控系統(tǒng)的研究成為目前視頻監(jiān)控系統(tǒng)研究的熱點(diǎn)。本文介紹的視頻監(jiān)控系統(tǒng)主要是根據(jù)某單位的項(xiàng)目需求而進(jìn)行的研發(fā)。

        1 基于ARM11的IP網(wǎng)視頻監(jiān)控系統(tǒng)

        監(jiān)控系統(tǒng)包括監(jiān)控前端、監(jiān)控終端和網(wǎng)絡(luò)三個(gè)部分,監(jiān)控前端是一個(gè)運(yùn)行Linux操作系統(tǒng)的嵌入式系統(tǒng),它通過S3C6410接收攝像頭采集到的數(shù)據(jù),并傳送給硬件編解碼(MFC)模塊,并把得到的經(jīng)過H.264壓縮的數(shù)據(jù)打包發(fā)送到IP網(wǎng)絡(luò)上,監(jiān)控終端(PC機(jī))通過網(wǎng)絡(luò)接收數(shù)據(jù)包,經(jīng)過解碼實(shí)時(shí)播放??傮w構(gòu)架如圖1所示。

        圖1 基于ARM11的視頻監(jiān)控系統(tǒng)

        2 硬件設(shè)計(jì)

        在該網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中,監(jiān)控前端主要由視頻采集模塊、主控制模塊和網(wǎng)絡(luò)傳輸模塊等組成。其硬件框架[1-2]如圖 2 所示。

        圖2 硬件結(jié)構(gòu)框圖

        本系統(tǒng)中S3C6410處理器用于接收控制攝像頭所獲取的視頻信號(hào),其內(nèi)部集成有用于進(jìn)行基于H.264壓縮編碼的多媒體編解碼器(MFC)。此外,JTAG主要用于程序的下載;SDRAM用于存取系統(tǒng)運(yùn)行時(shí)的程序;NAND Flash用于存儲(chǔ)固化程序;串口用于調(diào)試程序和打印輸出信息。

        系統(tǒng)主芯片采用最新的ARM11處理器S3C6410。Flash為32 Mbyte的NAND型,存放有嵌入式視頻采集前端的根文件系統(tǒng)、啟動(dòng)代碼和內(nèi)核代碼。并且在Flash管理方面,根文件系統(tǒng)采用的是最新的YAFFS可讀寫文件系統(tǒng)。為了使本系統(tǒng)能夠穩(wěn)定運(yùn)行,本系統(tǒng)采用2片共64 Mbyte的SDARM,這樣就可流暢地運(yùn)行Linux系統(tǒng)及應(yīng)用程序。網(wǎng)卡采用AX88796以太網(wǎng)控制器,該網(wǎng)卡是10/100 Mbit/s自適應(yīng)通信速率,通過它可實(shí)現(xiàn)以太網(wǎng)的物理層和數(shù)據(jù)鏈路層的連接。攝像頭采用市場(chǎng)上普通的模擬攝像頭,通過SAA7113芯片,攝像頭采集的模擬信號(hào)將被轉(zhuǎn)化成數(shù)字信號(hào)傳送給MFC模塊。

        3 監(jiān)控前端軟件設(shè)計(jì)

        監(jiān)控前端的軟件設(shè)計(jì)由嵌入式系統(tǒng)構(gòu)建和應(yīng)用軟件組成。嵌入式系統(tǒng)部分包括Bootloader、Linux內(nèi)核、交叉編譯器、驅(qū)動(dòng)等,具體構(gòu)架如圖3所示。

        圖3 嵌入式系統(tǒng)軟件結(jié)構(gòu)框圖

        基本的嵌入式運(yùn)行環(huán)境由引導(dǎo)程序、Linux內(nèi)核和設(shè)備驅(qū)動(dòng)程序構(gòu)成。應(yīng)用層軟件通過控制Camera IF接口接收攝像頭(SAA7113)采集的數(shù)據(jù),并將其傳送給硬件編解碼(MFC)模塊;然后把從MFC模塊得到的H.264碼流打包發(fā)送到IP網(wǎng)絡(luò)上;監(jiān)控終端通過網(wǎng)絡(luò)接收視頻數(shù)據(jù)包,并解碼實(shí)時(shí)播放。

        3.1 嵌入式Linux操作系統(tǒng)的定制

        本系統(tǒng)采用Linux2.6.21作為嵌入式平臺(tái)的操作系統(tǒng)。在對(duì)Linux內(nèi)核進(jìn)行裁剪后,保留了本系統(tǒng)所需的NAND Sevice Support、MTD分區(qū)、UDP協(xié)議以及套接字、NFS文件系統(tǒng)、framebuffer等驅(qū)動(dòng)。通過運(yùn)用交叉編譯器編譯,即可得到ARM處理器能夠運(yùn)行的文件。再將鏡像文件通過Bootloader下載到目標(biāo)板的Dataflash中[3]。

        3.2 應(yīng)用層軟件的開發(fā)

        應(yīng)用層軟件是本系統(tǒng)的核心,主要功能是響應(yīng)用戶的連接請(qǐng)求、視頻采集、編碼壓縮和數(shù)據(jù)發(fā)送[4]。該程序的實(shí)現(xiàn)過程主要包括2個(gè)線程:第1個(gè)為主線程,第2個(gè)線程主要任務(wù)是處理用戶的連接。

        第1個(gè)線程的流程如圖4所示。

        圖4 主函數(shù)流程圖

        第2個(gè)線程的流程如圖5所示。

        圖5 用戶線程流程圖

        3.2.1 網(wǎng)絡(luò)傳輸模塊

        網(wǎng)絡(luò)傳輸模塊的功能是為了實(shí)現(xiàn)H.264視頻碼流的傳輸?,F(xiàn)行的網(wǎng)絡(luò)通信協(xié)議主要有TCP/IP協(xié)議和UDP協(xié)議。為了提高視頻碼流的傳輸速度和實(shí)時(shí)性,本設(shè)計(jì)采用UDP協(xié)議作為C/S模型的網(wǎng)絡(luò)通信協(xié)議。在監(jiān)控前端,網(wǎng)絡(luò)編程通過socket接口進(jìn)行,通過listen()函數(shù)和send()函數(shù)完成客戶端的監(jiān)聽、連接的建立和數(shù)據(jù)的發(fā)送等功能[5]。網(wǎng)絡(luò)編程過程中用到的socket函數(shù)主要有:

        1)int listen(SOCKET s,int backlog)

        listen函數(shù)的作用是將制定的套接字設(shè)置為偵聽模式。其中,第1個(gè)參數(shù)是套接字描述符;第2個(gè)參數(shù)(backlog)是等待連接隊(duì)列的最大長(zhǎng)度。

        2)int bind(SOCKET s,const struct sockaddr FAR*name,int namelen)

        通過bind函數(shù),將創(chuàng)建的套接字綁定在本地的某個(gè)地址或端口上。參數(shù)SOCKET用來指定需要綁定的套接字,而參數(shù)name主要用來指定該套接字的本地地址信息;參數(shù)namelen則用于指定該地址信息結(jié)構(gòu)的長(zhǎng)度。

        3)int send(SOCKET s,const char FAR*buf,int len,int flags)

        send函數(shù)主要借用已建立連接的套接字進(jìn)行數(shù)據(jù)發(fā)送。參數(shù)SOCKET代表已經(jīng)建立連接的套接字;參數(shù)buf則用于指向一個(gè)緩沖區(qū);參數(shù)len是已經(jīng)制定的緩沖區(qū)的長(zhǎng)度;參數(shù)flags設(shè)定的值一般為0,該參數(shù)的設(shè)置值將影響函數(shù)的行為。

        4)int recv(SOCKET s,char FAR*buf,int len,int flags)

        recv函數(shù)的主要功能是從一個(gè)已連接的套接字接收數(shù)據(jù)。參數(shù)SOCKET用于接收數(shù)據(jù)而建立的套接字;參數(shù)buf用于指向一個(gè)用來保存數(shù)據(jù)的緩沖區(qū);參數(shù)len表明所指向的緩沖區(qū)的長(zhǎng)度;參數(shù)flags通常設(shè)置為0。

        5)SOCKET accept(SOCKET s,struct sockaddr FAR*addr,int FAR* addrlen)

        accept函數(shù)用來接收客戶端發(fā)送的連接請(qǐng)求。參數(shù)SOCKET是套接字描述符;參數(shù)addr是指向一個(gè)緩沖區(qū)的指針;參數(shù)addrlen是指向一個(gè)整型的指針。

        3.2.2 視頻編碼模塊MFC

        本文采用MFC模塊進(jìn)行H.264視頻壓縮編碼,主要原因是多媒體編解碼模塊MFC被集成到S3C6410處理器內(nèi)部。MFC模塊具有高性能的視頻編解碼功能,支持MPEG-4,H.263,H.264 的編解碼[1]。本文采用 H.264 編碼,其工作流程如圖6所示。

        圖6 MFC應(yīng)用程序流程圖

        其中,在調(diào)用MFC模塊中要用到的主要語句有:

        4 客戶端播放程序設(shè)計(jì)

        監(jiān)控終端是一臺(tái)運(yùn)行Windows系統(tǒng)的PC機(jī),主要負(fù)責(zé)從網(wǎng)絡(luò)接收壓縮包,并使用Avcodec進(jìn)行解碼顯示[6-8],其主程序工作流程如圖7 所示。

        圖7 客戶端程序流程圖

        終端監(jiān)控打開后,程序首先試圖讀取用戶設(shè)定的參數(shù)。得到參數(shù)后,PC機(jī)端就會(huì)創(chuàng)建套接字,并與監(jiān)控前端建立連接。正確連接后,監(jiān)控終端就會(huì)向前端發(fā)送視頻請(qǐng)求,監(jiān)控前端在接收到服務(wù)請(qǐng)求之后會(huì)將視頻數(shù)據(jù)發(fā)送到PC終端。PC終端在接收到視頻碼流之后通過ffmpeg解碼后顯示。同時(shí),視頻接收端不停地判斷用戶線程是否保持運(yùn)行,只要用戶線程一直保持運(yùn)行,客戶端就不停地向監(jiān)控前端請(qǐng)求視頻數(shù)據(jù),PC端就可得到連續(xù)的視頻畫面。

        5 系統(tǒng)性能測(cè)試

        測(cè)試環(huán)境為:內(nèi)線采用速率為10 Mbit/s的實(shí)驗(yàn)室局域網(wǎng)Intranet;客戶端采用PC機(jī),主頻為2.7 GHz,內(nèi)存為2 Gbyte;監(jiān)控前端為本文設(shè)計(jì)的ARM11視頻采集前端。系統(tǒng)中設(shè)置采集分辨力為640×480,視頻監(jiān)控效果如圖8所示,視頻播放速度達(dá)到了30 f/s(幀/秒),在監(jiān)控移動(dòng)目標(biāo)時(shí)比較流暢,無抖動(dòng)現(xiàn)象,達(dá)到了設(shè)計(jì)要求。

        圖8 監(jiān)控終端

        6 結(jié)束語

        本文實(shí)現(xiàn)了基于ARM11芯片的IP網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。由于該方案采用了新一代的ARM11處理器和先進(jìn)的 H.264視頻壓縮技術(shù),使其具有如下優(yōu)點(diǎn):1)S3C6410微處理器內(nèi)嵌的多媒體處理模塊MFC,使該系統(tǒng)在硬件設(shè)計(jì)上無須考慮視頻編解碼部分,大大降低了成本,縮短了研發(fā)周期;2)先進(jìn)的H.264視頻壓縮技術(shù)的采用,使該系統(tǒng)能夠?qū)崿F(xiàn)對(duì)視頻數(shù)據(jù)的高度壓縮,大大減少了系統(tǒng)對(duì)網(wǎng)絡(luò)帶寬資源的占用,非常適用于帶寬資源受限的網(wǎng)絡(luò)環(huán)境。

        [1]郭巧云,許雪梅,李岸,等.基于ARM11的無線視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2010,18(8):1786-1789.

        [2]唐永彬,楊恢東,墨芹.基于ARM11的嵌入式Web網(wǎng)絡(luò)監(jiān)控系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2011,35(9):122-124.

        [3]羅蕾.嵌入式實(shí)時(shí)操作系統(tǒng)及應(yīng)用開發(fā)[M].北京:北京航空航天大學(xué)出版社,2005.

        [4]馮麗芳,孫俊,周俊華,等.基于ARM9的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)實(shí)現(xiàn)[J].電力自動(dòng)化設(shè)備,2006,10(26):95-98.

        [5]孫瓊.嵌入式Linux應(yīng)用程序開發(fā)詳解[M].北京:人民郵電出版社,2007.

        [6]張?jiān)拼?,王正勇,卿粼波,?基于ARM的便攜式視頻解碼終端設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2009,24(35):232-234.

        [7]郭盛榮.基于Linux的開放式媒體播放器研究[D].重慶:重慶大學(xué),2006.

        [8]林德彬,趙慧民,譚恒良.基于ARM嵌入式局域網(wǎng)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2006,30(9):88-89.

        猜你喜歡
        線程嵌入式終端
        X美術(shù)館首屆三年展:“終端〉_How Do We Begin?”
        通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        淺談linux多線程協(xié)作
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        多功能北斗船載終端的開發(fā)應(yīng)用
        電子制作(2016年15期)2017-01-15 13:39:14
        Altera加入嵌入式視覺聯(lián)盟
        倍福 CX8091嵌入式控制器
        ABB Elastimold 10kV電纜終端及中間接頭
        Linux線程實(shí)現(xiàn)技術(shù)研究
        国产午夜亚洲精品午夜鲁丝片| 白白色发布的在线视频| 久久婷婷色香五月综合缴缴情| 国产精品久久久久久亚洲av | 亚洲成av人在线播放无码| 亚洲av无码电影网| 色窝窝手在线视频| 国产亚洲中文字幕一区| 国产三级精品三级| 红杏亚洲影院一区二区三区| 国产对白刺激在线观看| 少妇人妻无奈的跪趴翘起| 久久亚洲一区二区三区四区五| 国产天堂av在线一二三四| 97精品一区二区视频在线观看| 国产精品麻豆成人AV电影艾秋| 久久久国产精品五月天伊人| 亚洲三级视频一区二区三区 | 久久丫精品国产亚洲av| 亚洲国产精品久久久久婷婷软件| 国内精品国产三级国产| 国产一区二区三区乱码| 国产精品国产三级农村妇女| 九色精品国产亚洲av麻豆一| 痴汉电车中文字幕在线| 日本道精品一区二区三区| 亚洲国产精品悠悠久久琪琪| 国产网友自拍视频在线观看| 天天爽夜夜爽夜夜爽精品视频| 国产精品毛片无码| 亚洲红杏AV无码专区首页| gg55gg国产成人影院| 无码福利写真片视频在线播放| 国精品无码一区二区三区在线看| 亚洲av成人波多野一区二区| 日韩日韩日韩日韩日韩日韩| 国产香蕉一区二区三区在线视频| 扒下语文老师的丝袜美腿| 亚洲欧美日韩国产综合专区| 久久久久久久97| 国产国产裸模裸模私拍视频|