在嵌入式工控板上接一個攝像頭進行視頻監控,看起來比較容易實現,但是往往是“理想很豐滿、現實很骨感”歷經千辛萬苦效果卻不是很理想,本文就給大家介紹各種解決方案。
這里給大家介紹的是既對外設有需求,又要連接攝像頭的方案,比如既要有CAN總線、多路串口、SPI、LVDS等,又要有攝像頭。這種需求在行車監控、駕培系統、醫療、機房監控等行業是比較常見的。如果對外設沒啥要求的,只追求高清視頻監控,出門左拐華為的Hi3518的方案更適合你。視頻監控一般有兩種方案:MCU自帶攝像頭接口、外擴攝像頭接口。外擴攝像頭又分為:USB方案、以太網方案、串口方案等。
在早期要做視頻監控的比較通用的方法是選用X86架構的核心板,直接跑ubuntu系統安裝USB攝像頭,這種方法的缺點是價格昂貴、功耗大、跑不了低溫,優點是開發難度小。
圖 1
1、MCU自帶攝像頭
后來隨著ARM9、ARM7、A8、A9相繼推出市場,很多MCU也自帶攝像頭。這種方案顯然成本比較低,但是像素不高、無法遠距離傳輸。如果自己基于原廠給的驅動調試風險太高,可以選擇一些核心板廠家使用他們調試好的驅動,即使這樣也要求用戶能夠有一定的Linux基礎否則還是玩不轉。
圖 2
2、USB攝像頭方案
USB攝像頭應用也是比較廣泛,但是這個方案有一個比較讓人頭痛的問題(大神繞過),就是怎么解決USB干擾問題。有的時候是因為外圍保護沒做好,有的時候是攝像頭本身掉鏈子。往往歷經千辛萬苦做出了兩個樣機演示都沒問題,但是最后被一些細節打敗了。
圖 3
3、網絡攝像頭
網絡攝像頭現在市場的價格也比較便宜,720p球形攝像頭的價格大約在100元左右。這種方案最大的優勢是簡單方便,可以通過交換機連接多個高清攝像頭,在現場不方便布線的情況下可以使用wifi進行傳輸。
圖 4
4、A9工控板
A9工控板中應用比較常見得是基于飛思卡爾MCIMX6U7C設計的工控整板,其最大的特點是支持H.264硬件解碼,能夠流暢的運行1080P視頻。
圖 5
市面上大多數的網絡攝像頭都都支持H.264編碼,H.264提供了網絡抽象層,使得H.264的文件能容易地在不同網絡上傳輸。只要移植合適的播放器,均能夠播放攝像頭視頻。
5、IP Camera播放器
Linux下播放網絡攝像頭的軟件有很多:gplayer、gstreamer、ffmpeg、web瀏覽器等。在Linux下3.14.28版本的內核已經集成了gstreamer播放器,如果自己懶得搞可以咨詢廣州致遠的工程師,要一個A9固件燒寫一下,用以下命令行進行測試;
圖 6