查看: 1461|回復: 0
打印 上一主題 下一主題

全志A40i試用體驗-遠程視頻監控

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2023-2-15 14:56:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

今天來(lái)介紹一個(gè)解決方案MJPG-Streamer。MJPG-Streamer的原理是將USB攝像頭采集的圖像以JPEG格式發(fā)送出去,然后持續更新圖片形成一個(gè)視頻流。


它的優(yōu)勢有兩個(gè):

一個(gè)是和瀏覽器的兼容性最好,可以輕松地在瀏覽器中顯示,而無(wú)需擔心瀏覽器是否支持Flash或流媒體協(xié)議;二是采用JPEG沒(méi)有前后幀的關(guān)聯(lián),所以如果出現丟包只影響當前畫(huà)面,而不會(huì )像H.264那樣可能連續一段時(shí)間的馬賽克圖像。


當然也有缺點(diǎn):

它的缺點(diǎn)是JPEG流的壓縮效率比較低,比H.264浪費帶寬。


二. Libjpeg庫的編譯

MJPG-Streamer要用到libjpeg,所以首先需要編譯libjpeg。首先訪(fǎng)問(wèn)http://www.ijg.org/下載源代碼,我使用的是最新的9e版本。將源代碼解壓到j(luò )peg-9e目錄后,在該命令下執行configure命令進(jìn)行配置:

1

./configure --host=ARM-linux-gnueabihf --prefix=/mnt/boaled/jpeg-9e/_install/


其中的host是指明所使用的編譯器,prefix是指定編譯后文件安裝的目錄。

然后執行下面的命令:

1

make

2

make install





命令執行完畢,就會(huì )在prefix所指定的目錄下生成4個(gè)目錄,其中include目錄包括所需要的頭文件,而lib目錄下包括庫文件。這些在后面會(huì )用到。


編譯后需要把libjpeg.so.9.5.0拷貝到開(kāi)發(fā)板的 /usr/lib 目錄下,并建立一個(gè)指向該文件的軟連接libjpeg.so.9。


另外,開(kāi)發(fā)板原來(lái)帶有libjpeg.so.8.0.2這個(gè)版本。如果不希望安裝更新版本,也可以在http://www.ijg.org/files/下載和板子對應的歷史版本。


三. MJPG-Streamer的編譯

MJPG-Streamer有兩個(gè)主要版本(建議在PC打開(kāi)鏈接):

1.http://sourceforge.net/projects/mjpg-streamer/這個(gè)是原始版本,不過(guò)原作者已經(jīng)放棄更新了。

2.https://github.com/jacksonliam/mjpg-streamer/

這個(gè)是后續更新的版本。


要在飛凌嵌入式OKA40i-C開(kāi)發(fā)板上使用,只能使用sourceforge那個(gè)版本。因為github的版本雖然更新,但是它對內核的版本有要求,至少3.18以上。


OKA40i-C開(kāi)發(fā)板提供的內核版本是3.10,無(wú)法正確處理新版本的某些V4L2消息。另外,github版本采用CMake進(jìn)行編譯,后面所介紹的編譯方法也不適用。


進(jìn)入下方地址:

https://sourceforge.net/p/mjpg-streamer/code/HEAD/tree/

點(diǎn)右上的“Download Snapshot”下載最新版的mjpg-streamer-code-182。這里可以看到兩個(gè)mjpg-streamer目錄。一般使用mjpg-streamer-experimental這個(gè)版本,它支持的功能更多一些。





在編譯之前,需要先修改plugins/input_uvc目錄下的makefile文件,在其中加入如下兩行:






這兩行的作用就是編譯時(shí)能夠找到我們前面生成的libjpeg庫。如果想修改MJPG-Streamer的插件設置,也可以修改mjpg-streamer-experimental目錄下的makefile:






在本次測試中用不到其他插件,所以就采用默認配置。

然后在命令行執行下面的命令就可以編譯了。

1

make CC=arm-linux-gnueabihf-gcc





編譯成功后把mjpg_streamer和幾個(gè)so文件都拷貝到開(kāi)發(fā)板上并正確設置好權限就可以運行了。


四. 測試結果

在input_testpicture插件中帶有一幅默認圖片,即使你手上沒(méi)有攝像頭,也可以使用該插件測試MJPG-Streamer的功能。

在開(kāi)發(fā)板的終端輸入如下命令:

1

./mjpg_streamer -i "input_testpicture.so"





如果使用USB攝像頭,需要使用input_uvc.so插件,在開(kāi)發(fā)板的終端輸入命令,結果如下圖所示:

1

./mjpg_streamer -i "input_uvc.so -r 800x600" -o "output_http.so"






您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页