于劍鋒(東莞職業技術學院,廣東 東莞 523808)
?
基于ARM的視頻記錄系統的設計
于劍鋒
(東莞職業技術學院,廣東東莞523808)
摘要:本文提出了一種基于ARM9和嵌入式Linux的視頻記錄系統的設計方案,文中對視頻循環記錄系統的設計進行了說明,視頻記錄系統可以有效的完成自動的循環記錄,不存在丟幀情況,可實現全天候的對監控現場進行無縫監控。
關鍵詞:ARM;視頻記錄;系統設計
基于嵌入式的視頻記錄系統相比傳統的模擬視頻記錄系統,具有體積小、成本低、穩定性高、實時性好、安裝簡便、低功耗等優點。而如今我國公共設施建設如火如荼,視頻監控的市場很大。嵌入式技術的迅速發展使得視頻記錄功能在嵌入式產品中的實現變得可能,不管是公共安防還是各種生產制造環節的安全監控,或是交通監控。具有廣闊的發展前景。
1.1視頻記錄系統硬件結構
基于ARM的視頻記錄系統,相對其他實現方式,具有不少的優點,硬件方面構建簡單、成本低廉,功耗不大,在成本和功耗有求的場合下更加實用。本系統的在硬件方面主要以嵌入式主控芯片為核心,在其外圍增加了視頻記錄系統所必不可少的視頻采集單元和存儲單元,構成了基于ARM的視頻記錄系統主要結構。本系統開發平臺選用了天嵌科技的開發板TQ2410,該開發板中的主控制芯片采用的是三星公司的ARM9 S3C2410,板上有留有充分的外接口符合本視頻記錄系統的要求,可以外接USB攝像頭作為視頻采集單元,使用方便, 本系統采用16G Kingston SD Class9的 SD卡存儲器及其接口電路作為視頻記錄系統的存儲單元。
1.2視頻記錄系統軟件平臺
嵌入式系統的軟件開發采用交叉編譯調試的方式,一般過程就是,先在宿主機上建立嵌入式系統開發環境,采用交叉編譯器把Bootloader編譯完成,燒寫編譯后的映像文件到嵌入式設備;然后在依據嵌入式控制系統的控制需求,宿主機上進行嵌入式Linux內核的編譯和剪裁,成功之后,將完成編譯修剪的內核映像文件燒寫到開發板的存儲器當中;最后對根文件系統進行編譯,再一次燒寫編譯后根文件系統映像文件到開發板。本系統的嵌入式Linux操作系統通過在外儲單元SD卡中燒寫superboot,之后把引導程序Uboot移植到Nand Flash中,然后移植版本內核,本系統采用的是Linux 2.6.38。Linux內核移植的過程并不復雜,最主要的目的就是針對嵌入式平臺上的的特定的硬件和實際的應用需求,合理地修改linux內核。如視頻系統的視頻采集是采用的USB攝像頭,以及視頻存儲是采用SD 存儲卡,要用到串口、網絡應用調試程序,所以在移植內核時需要對USB設備、SD卡等設備驅動進行配置修改。根文件系統里存放了嵌入式操作系統所必需的多種文件、腳本、工具軟件。其移植內容包括;根文件系統目錄的建立、各個子目錄下文件的添加、文件系統映像的制作。
本系統的循環視頻記錄功能是通過多文件存儲的方式實現的,也就是先預定存儲視頻文件的大小,然后每記錄一幀視頻后就對視頻文件大小檢測一次,如果視頻文件大小等于預定文件大小時,就重新建立另一個視頻文件,就這樣視頻信息通過多個視頻文件持續記錄下來。一直到所有的視頻文件即將存滿SD時,就開始查詢記錄時間最早的視頻文件,找到后,覆蓋處理該視頻文件,以新的視頻文件名稱來命名,視頻的循環記錄就是這樣實現的。
循環視頻記錄系統的軟件設計,大致分三個部分。
(1)視頻采集。通過攝像頭對視頻進行采集,才能獲得視頻文件。采集視頻前,要先配置嵌入式Linux內核,要在內核中編譯USB設備驅動和V4L2驅動。包括以下步驟:
1)開啟USB攝像頭;2)設置攝像頭屬性(音頻或視頻輸入和視頻制式設置等);3)設置視頻數據格式;4)實現視頻輸入及輸出;5)循環錄制視頻;6)關閉USB攝像頭。
視頻采集流程如圖1所示。
(2)視頻封裝。首先建立一個后綴名.AVI的文件,為方便視頻文件的查詢和檢索,將視頻文件命名為“年/月/-時間.avi”。其次設置“年/月/-時間. AVI ”文件的信息,設置信息內容包括視頻圖像寬、高、視頻壓縮方式、視頻幀率等信息。然后將采集到的視頻流數據寫入到“年/月/-時間. AVI ”文件中,每次寫一幀。最后不斷刷新文件信息,每寫完一幀,更新文件信息,包括文件長度、位置等信息,完成AVI視頻文件的封裝。
(3)循環記錄。本系統的循環視頻記錄功能是通過多文件存儲的方式實現的,也就是先預定存儲視頻文件的大小,然后每記錄一幀視頻后就對視頻文件大小檢測一次,如果視頻文件大小超過預定文件大小時,就重新建立另一個視頻文件,就這樣視頻信息通過多個視頻文件持續記錄下來。循環記錄程序流程如圖2所示。
本系統實現的循環視頻記錄系統可用于各行各業無人值守的場合,且能夠實現循環記錄視頻,減少人為干預。系統的設計從實際出發,以實現循環視頻記錄為目的,主要實現視頻的采集、視頻封裝、視頻的循環記錄功能,該監控系統具有較高的穩定性和可靠性,節省人力同時又能確保安全,因此具有很廣闊的應用前景。
參考文獻:
[1]林北洪.基于ARM的循環視頻記錄器設計[D].電子科技大學,2013(05). [2]于劍鋒.嵌入式系統軟件開發環境的建立[J].機電產品開發與創新,2010(11).
DOI:10.16640/j.cnki.37-1222/t.2016.11.236