李佳
摘 要:傳輸發(fā)射單位視頻采集中對(duì)ARM11嵌入式視頻采集系統(tǒng)的應(yīng)用,可以保證視頻采集質(zhì)量,從而提升視頻監(jiān)控效果,以滿足實(shí)際發(fā)展需要。文中在對(duì)ARM11嵌入式視頻采集系統(tǒng)在傳輸發(fā)射單位視頻采集中應(yīng)用問(wèn)題分析過(guò)程中,從系統(tǒng)軟硬件設(shè)計(jì)角度出發(fā),就系統(tǒng)的設(shè)計(jì)問(wèn)題進(jìn)行了分析和探討,并就ARM11嵌入式視頻采集系統(tǒng)的具體應(yīng)用展開了分析,以期為ARM11嵌入式采集系統(tǒng)的有效應(yīng)用提供一些參考和借鑒。
關(guān)鍵詞:ARM11系統(tǒng);視頻采集系統(tǒng);視頻采集
隨著信息技術(shù)的快速發(fā)展,圖像處理技術(shù)在很大程度上提升了視頻監(jiān)控系統(tǒng)的效果和質(zhì)量。視頻采集過(guò)程中,逐漸朝著現(xiàn)代化發(fā)展,并形成以前端網(wǎng)絡(luò)視頻為代表的數(shù)字化視頻監(jiān)控系統(tǒng)。在這一過(guò)程中,視頻采集在采集、壓縮、傳輸、瀏覽和存儲(chǔ)過(guò)程中,實(shí)現(xiàn)了數(shù)字化模式。傳輸發(fā)射單位視頻采集過(guò)程中,對(duì)視頻采集系統(tǒng)的應(yīng)用,能夠?qū)?shù)據(jù)信息實(shí)現(xiàn)有效監(jiān)控,保證視頻采集的安全性和可靠性。通過(guò)對(duì)ARM11嵌入式視頻采集系統(tǒng)的有效利用,可以更好的滿足傳輸發(fā)射單位對(duì)視頻信息獲取的需求,并能夠很好的提升視頻信息獲取質(zhì)量。
1 傳輸發(fā)射單位視頻采集中ARM11嵌入式視頻采集系統(tǒng)結(jié)構(gòu)分析
傳輸發(fā)射單位視頻采集中的ARM11嵌入式視頻采集系統(tǒng)是一種遠(yuǎn)程視頻監(jiān)控系統(tǒng),該系統(tǒng)對(duì)現(xiàn)有網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)技術(shù)進(jìn)行了利用,保證用戶能夠?qū)崿F(xiàn)對(duì)設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控的目的。在對(duì)ARM11嵌入式視頻采集系統(tǒng)設(shè)計(jì)過(guò)程中,需要設(shè)置好前端視頻采集、數(shù)據(jù)傳輸和數(shù)據(jù)終端接收等設(shè)備。ARM11嵌入式視頻采集系統(tǒng)結(jié)構(gòu)主要包括了USB攝像頭、嵌入式Web服務(wù)器、USB服務(wù)網(wǎng)卡、客戶端四個(gè)部分。這四個(gè)部分在應(yīng)用時(shí),USB攝像頭實(shí)現(xiàn)了對(duì)數(shù)據(jù)信息的監(jiān)控;Web視頻服務(wù)器則負(fù)責(zé)對(duì)編碼后的數(shù)據(jù)信息進(jìn)行接收,并借助于TCP協(xié)議對(duì)數(shù)據(jù)信息進(jìn)行傳輸,使客戶端能夠?qū)π畔⑦M(jìn)行獲取。在這一過(guò)程中,ARM11嵌入式視頻采集系統(tǒng)獲取的數(shù)據(jù)文件主要為gif、bmp、jpg格式,這種視頻信息能夠直接的進(jìn)行訪問(wèn),十分方便。
2 ARM11嵌入式視頻采集系統(tǒng)軟、硬件設(shè)計(jì)
2.1硬件選擇
2.1.1硬件結(jié)構(gòu)
在進(jìn)行ARM11嵌入式視頻采集系統(tǒng)硬件設(shè)計(jì)過(guò)程中,主要考慮到了硬件結(jié)果如何對(duì)USB攝像頭、USB無(wú)線網(wǎng)卡等進(jìn)行連接,從而使系統(tǒng)功能得到有效的發(fā)揮。在系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)過(guò)程中,核心板主要采用S3C6410微處理芯片,這一類型的芯片穩(wěn)定性較好,并且具有較強(qiáng)的兼容性,可以使ARM11嵌入式視頻采集系統(tǒng)具有更加穩(wěn)定的工作狀態(tài),以滿足系統(tǒng)實(shí)際需求。關(guān)于系統(tǒng)硬件結(jié)構(gòu),如圖1所示:
2.1.2核心處理器
在對(duì)ARM11嵌入式視頻采集系統(tǒng)核心處理器選擇過(guò)程中,主要以S3C6410微處理芯片為主,這一處理器在應(yīng)用過(guò)程中,借助于NAND Flash、SDRAM進(jìn)行固化程序存儲(chǔ)和系統(tǒng)運(yùn)行程序調(diào)試。在拓展模塊設(shè)計(jì)過(guò)程中,USB攝像頭和USB無(wú)線網(wǎng)卡連接時(shí),主要利用USB Hub來(lái)實(shí)現(xiàn)。S3C6410是一款16/32位的RISC微處理器,其頻率最高值為667MHz。在對(duì)S3C6410應(yīng)用時(shí),能夠?qū)σ曨l、音頻進(jìn)行有效處理,編碼器選擇方面,主要以MPEG-4/H、263/H.264型號(hào)編碼器為主,最高速率在30f/s左右。
2.1.3 USB攝像頭
USB攝像頭選擇過(guò)程中,主要以zc301攝像頭為主,這一型號(hào)的攝像頭與本文選用的微處理器具有較好的兼容性,其采集速率在30f/s。在進(jìn)行數(shù)據(jù)傳輸過(guò)程中,其格式選擇為JPEG流,最大的分辨率在640*480像素。
2.1.4無(wú)線網(wǎng)卡
無(wú)線網(wǎng)卡選擇過(guò)程中,主要目的在于保證數(shù)據(jù)信息能夠可靠傳輸。在這一過(guò)程中,無(wú)線網(wǎng)卡可采用TL-WDN3200,該網(wǎng)卡具有較高的傳輸效率,可達(dá)到300Mbit/s,調(diào)制方式選擇方面,以DBPSK和DQPSK方式為主,能夠有效的滿足數(shù)據(jù)信息在局域網(wǎng)范圍內(nèi)的可靠傳輸[1]。
2.2 軟件設(shè)計(jì)
2.2.1無(wú)線網(wǎng)卡驅(qū)動(dòng)
軟件設(shè)計(jì)過(guò)程中,無(wú)線網(wǎng)卡驅(qū)動(dòng)設(shè)計(jì)是實(shí)現(xiàn)USB無(wú)線設(shè)備工作的關(guān)鍵。在這一過(guò)程中,要注重設(shè)置支持無(wú)線網(wǎng)卡驅(qū)動(dòng)的程序,之后對(duì)驅(qū)動(dòng)模塊進(jìn)行編輯,以滿足程序運(yùn)行的需要。
2.2.2Boa Web服務(wù)器移植
在進(jìn)行ARM11嵌入式視頻采集系統(tǒng)設(shè)計(jì)過(guò)程中,考慮到Linux下的Web服務(wù)器共計(jì)三個(gè),分別是httpd、thttpd、boa。在這一過(guò)程中,對(duì)Boa Web應(yīng)用時(shí),其代碼內(nèi)存較小,不足70KB,這可以使系統(tǒng)的服務(wù)能力更加突出。在選擇Boa Web服務(wù)器時(shí),要注重對(duì)Boa Web服務(wù)器的工作環(huán)境進(jìn)行把握,并進(jìn)行設(shè)置,實(shí)現(xiàn)對(duì)Boa Web服務(wù)器的移植。在設(shè)計(jì)時(shí),將日志文件創(chuàng)建在目錄/var/log/boa下,并對(duì)HTML文檔的主目錄選擇為/var/www.,創(chuàng)建CGI腳本,完成Boa Web服務(wù)器的移植[2]。
2.2.3應(yīng)用程序設(shè)計(jì)
應(yīng)用程序設(shè)計(jì)過(guò)程中,考慮到Linux內(nèi)核情況,對(duì)V4L2接口進(jìn)行調(diào)整,借助于V4L2的API實(shí)現(xiàn)對(duì)音頻、視頻設(shè)備的控制,對(duì)數(shù)據(jù)信息進(jìn)行錄用。關(guān)于應(yīng)用程序的設(shè)計(jì),具體如圖3所示:
3 ARM11嵌入式視頻采集系統(tǒng)在傳輸發(fā)射單位的具體應(yīng)用分析
3.1 視頻信息采集
ARM11嵌入式視頻采集系統(tǒng)在傳輸發(fā)射單位視頻采集中應(yīng)用時(shí),其對(duì)V4L2接口進(jìn)行了應(yīng)用,這就需要對(duì)V4L2接口函數(shù)的視頻讀取方式進(jìn)行把握。一般來(lái)說(shuō),V4L2在進(jìn)行視頻幀讀取過(guò)程中,主要借助于read()函數(shù)。通過(guò)read()函數(shù)進(jìn)行視頻信息采集過(guò)程中,可以降低內(nèi)存拷貝,使視頻信息采集效率得到較大幅度的提升[3]。在進(jìn)行視頻信息采集過(guò)程中,ARM11嵌入式視頻采集系統(tǒng)的工作流程如下:
視頻系統(tǒng)的驅(qū)動(dòng)文件運(yùn)行,并獲取驅(qū)動(dòng)功能。這一過(guò)程中,對(duì)視頻信息采集格式進(jìn)行設(shè)置,在調(diào)試完成后,系統(tǒng)開始進(jìn)入到工作狀態(tài);
設(shè)備驅(qū)動(dòng)開始申請(qǐng)驅(qū)動(dòng)緩存,并對(duì)申請(qǐng)貞的緩存信息進(jìn)行獲取。映射幀的數(shù)據(jù)信息會(huì)緩存到用戶控件mmap()當(dāng)中;
幀緩沖之后會(huì)進(jìn)入到隊(duì)列,之后數(shù)據(jù)信息會(huì)反饋到內(nèi)核驅(qū)動(dòng)。系統(tǒng)啟動(dòng)視頻采集,并對(duì)幀視頻進(jìn)行獲取,并將獲取的數(shù)據(jù)信息反饋給內(nèi)存驅(qū)動(dòng);
視頻信息采集完成后,系統(tǒng)會(huì)對(duì)“是否進(jìn)行繼續(xù)采集”命令進(jìn)行判斷,如果需要繼續(xù)采集,則進(jìn)行驅(qū)動(dòng)功能啟動(dòng),重復(fù)上述動(dòng)作;如果需要停止采集,攝像頭驅(qū)動(dòng)文件將關(guān)閉。
3.2 視頻信息編碼
視頻信息編碼過(guò)程中,主要采用了S3C6410微處理器,這一型號(hào)的微處理器能夠提供MFC硬件編碼器,可以對(duì)視頻數(shù)據(jù)進(jìn)行編碼操作,其格式主要為H.264格式。編碼程序執(zhí)行過(guò)程中,主要以接口函數(shù)來(lái)完成,其接口函數(shù)為I/O control。通過(guò)接口函數(shù),可以對(duì)數(shù)據(jù)信息進(jìn)行封裝,使之成為API函數(shù)。API函數(shù)具有較高的穩(wěn)定性和可靠性。視頻信息編碼過(guò)程中,其步驟如下:
對(duì)編碼句柄進(jìn)行初始化。初始化的編碼句柄中包含了視頻數(shù)據(jù)的原始信息,在這一過(guò)程中,借助于API函數(shù),能夠?qū)幋a信息進(jìn)行轉(zhuǎn)碼,使其能夠被系統(tǒng)接收和處理。
編碼信息寫入MFC驅(qū)動(dòng)當(dāng)中,這一過(guò)程中,MFC硬件初始化,并借助于API函數(shù)進(jìn)行處理。
數(shù)據(jù)信息編碼完成后,需要對(duì)緩存地址進(jìn)行輸入,其函數(shù)為void*SsbSipH.264EncodeGetInBuf,對(duì)原始數(shù)據(jù)幀緩存地址進(jìn)行獲取。
原始視頻數(shù)據(jù)信息進(jìn)入緩存區(qū),并利用memcpy函數(shù),對(duì)MFC視頻數(shù)據(jù)進(jìn)行編碼。
系統(tǒng)在獲取編碼后的數(shù)據(jù)信息后,利用API函數(shù)GetOutBuf函數(shù)對(duì)緩沖區(qū)地址進(jìn)行獲取。在這一過(guò)程中,緩存區(qū)會(huì)包含一個(gè)完整的NAL單元。
編碼數(shù)據(jù)進(jìn)入存儲(chǔ)隊(duì)列,編碼完成后,編碼設(shè)備會(huì)隨之關(guān)閉。
3.3 視頻信息發(fā)送
在進(jìn)行視頻信息發(fā)送過(guò)程中,根據(jù)傳輸發(fā)射單位的視頻采集需要,借助于ARM11嵌入式視頻采集系統(tǒng),通過(guò)TCP協(xié)議完成視頻數(shù)據(jù)信息的傳輸。在這一過(guò)程中,需要考慮到視頻信息傳輸網(wǎng)絡(luò)情況。一般來(lái)說(shuō),網(wǎng)絡(luò)通信的標(biāo)準(zhǔn)包括了三種,3G、4G、WiFi,在進(jìn)行數(shù)據(jù)傳輸過(guò)程中,則考慮到數(shù)據(jù)信息的傳輸速率問(wèn)題。3G和4G網(wǎng)絡(luò)的傳輸速率在2-5Mbit/s,WiFi的傳輸速率在11-300Mbit/s。視頻信息發(fā)送過(guò)程中,基于TCP基礎(chǔ),采用了HTTP超文本傳輸協(xié)議,構(gòu)建了瀏覽器和Web服務(wù)器之間的練習(xí)。在視頻信息發(fā)送時(shí),HTTP會(huì)構(gòu)建請(qǐng)求/響應(yīng)模型,向服務(wù)器發(fā)送請(qǐng)求,在服務(wù)器允許后,視頻信息會(huì)隨之發(fā)送。在這一過(guò)程中,首先需要?jiǎng)?chuàng)建連接,打開Socket文件,使Web和服務(wù)器之間建立連接;其次,客戶端進(jìn)行請(qǐng)求發(fā)送,通過(guò)Socket通信管道,進(jìn)行請(qǐng)求發(fā)送;再次,在服務(wù)端允許后,視頻信息通過(guò)HTTP傳給Web瀏覽器;最后,在資源釋放完成后,服務(wù)器和客戶端之間的鏈接會(huì)斷開。
3.4 視頻信息的接收和播放
在進(jìn)行視頻信息接收和播放過(guò)程中,傳輸發(fā)射單位在接收到視頻數(shù)據(jù)后,通過(guò)PC機(jī)對(duì)視頻信息進(jìn)行播放。在這一過(guò)程中,需要考慮到PC機(jī)的會(huì)話描述協(xié)議,利用VLC對(duì)視頻進(jìn)行實(shí)時(shí)播放。一般來(lái)說(shuō),在視頻信息接收和播放過(guò)程中,接收端的VLC播放器借助于HTTP協(xié)議進(jìn)行SDP文件獲取,之后對(duì)文件進(jìn)行解析,從而實(shí)現(xiàn)對(duì)視頻數(shù)據(jù)進(jìn)行播放。在PC端,利用HTTP協(xié)議打開SDP文件,對(duì)獲取的視頻數(shù)據(jù)信息進(jìn)行播放。傳輸發(fā)射單位在獲取視頻數(shù)據(jù)信息后,采集的格式為YUV420,其幀頻在30f/s。在進(jìn)行視頻信息接收過(guò)程中,采用無(wú)線網(wǎng)進(jìn)行視頻數(shù)據(jù)信息的獲取,這一過(guò)程中,能夠保證視頻數(shù)據(jù)的快速獲取,實(shí)現(xiàn)視頻監(jiān)控的需要。
綜上所述,傳輸發(fā)射單位在進(jìn)行視頻采集過(guò)程中,借助于ARM11嵌入式視頻采集系統(tǒng),能夠?qū)σ曨l信息進(jìn)行可靠獲取,通過(guò)PC端對(duì)視頻信息進(jìn)行播放,以滿足監(jiān)控需要。ARM11嵌入式視頻采集系統(tǒng)應(yīng)用時(shí),通過(guò)S3C6410核心微處理器,能夠?qū)Λ@取的視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,之后通過(guò)HTTP和Web服務(wù)器之間的連接,進(jìn)行視頻信息的有效傳輸,從而對(duì)監(jiān)控的視頻信息進(jìn)行獲取,以滿足視頻監(jiān)控需要。傳輸發(fā)射單位在進(jìn)行視頻信息采集過(guò)程中,要注重對(duì)視頻采集系統(tǒng)的具體情況進(jìn)行把握,尤其是硬件選擇和軟件流程設(shè)計(jì)方面,通過(guò)針對(duì)性的應(yīng)對(duì),能夠更好的提升系統(tǒng)性能,保證視頻監(jiān)控的可靠性和安全性。
參考文獻(xiàn)
[1]許剛. 基于ARM11的嵌入式視頻采集系統(tǒng)設(shè)計(jì)[J]. 測(cè)控技術(shù),2013,12:37-40+44.
[2]段東波,靳天玉. 基于ARM11的視頻采集系統(tǒng)及二維碼識(shí)別[J]. 電子測(cè)試,2013,20:81-82.
[3]衛(wèi)建華,鄧云兵,高燚,楊晉芳,宋佳明. 基于ARM的嵌入式視頻采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),2016,03:30-34.