使用樹莓派和USB攝像頭模塊構建一個緊湊,低成本的IP攝像頭系統(tǒng)
有很多項目在網上實現(xiàn)一個簡單的網絡攝像頭與覆盆子。最常見的實現(xiàn)是使用motion sw,但性能非常非常差。使用Open CV和c++可以實現(xiàn)高性能和優(yōu)化的軟件。
我在樹莓上首選的C/ c++ IDE是Code::Blocks。它是一個免費的、開源的集成開發(fā)環(huán)境(IDE),專為C、c++和Fortran設計。它具有可定制的界面、強大的調試工具和對多個編譯器的支持,使其成為初學者和有經驗的開發(fā)人員的理想選擇。它基于插件的體系結構允許跨平臺的輕松擴展和適應性。
在開始軟件準備之前,還有最后2個步驟:連接USB攝像頭和安裝丟失的數(shù)據(jù)包。
創(chuàng)建Code::塊項目
進入菜單File->New- > Project,選擇Console Application
單擊Go
選擇c++并單擊Next
插入項目標題和文件夾,然后單擊Next
選擇GNU GCC作為編譯器并單擊Finish
構建選項項目代碼::Block
進入菜單Project——> Build Options,在鏈接器設置中添加以下庫
在“搜索目錄”中增加/usr/include/opencv4
現(xiàn)在我們可以編輯main.cpp文件了
RTP軟件描述
為了簡化參數(shù)配置,有一個名為stream_config.txt的配置文件。創(chuàng)建一個文件stream_config.txt,并添加以下代碼行
其中前3個用于配置視頻流,ip和端口用于定義接收地址,后2個用于定義編解碼器
主要有。cpp和以下內容包括
主要功能很簡單,首先我們需要檢查連接的攝像頭
之后,我們可以加載流配置參數(shù)
初始化相機分辨率
配置并打開ffmpeg
現(xiàn)在可以獲取幀并開始流
在關閉之前,我們必須釋放所有資源
測試與VLC視頻局域網
在Windows PC上,我最喜歡的視頻軟件是VLC視頻局域網??梢詣?chuàng)建一個配置文件來打開視頻流。
創(chuàng)建一個新的文件流。SDP和添加這些線
其中IP4是樹莓的ip地址,而H264定義視頻編解碼器。保存并單擊文件。
左邊是在樹莓上獲得的本地流,而右邊是VLC視頻局域網捕獲的流。
本文編譯自hackster.io