mjpg-stream 視頻服務 (1)| 簡介與配置樹莓派使用


      源碼地址為:https://github.com/jacksonliam/mjpg-streamer

Mjpg簡介:

      (1)mjpg-streamer是一個命令行應用程序,它將JPEG幀從一個或多個輸入插件復制到多個輸出插件。它可用於通過基於IP的網絡將JPEG文件從網絡攝像頭流式傳輸到各種類型的查看器,如Chrome,Firefox,Cambozola,VLC,mplayer和其他能夠接收MJPG流的軟件。

      (2)它最初是為嵌入式設備編寫的,在RAM和CPU方面資源非常有限。其前身“uvc_streamer”的創建是因為Linux-UVC兼容相機直接生成JPEG數據,即使是運行OpenWRT的嵌入式設備,也可以實現快速和流暢的M-JPEG流。輸入模塊“input_uvc.so”從連接的網絡攝像頭捕獲這樣的JPG幀。mjpg-streamer現在支持各種不同的輸入設備

 源碼樹為:

└─mjpg-streamer
    └─mjpg-streamer-experimental
        ├─cmake
        ├─plugins
        │  ├─input_control
        │  ├─input_file
        │  ├─input_http
        │  ├─input_opencv
        │  │  └─filters
        │  │      ├─cvfilter_cpp
        │  │      └─cvfilter_py
        │  │          └─cmake
        │  ├─input_ptp2
        │  ├─input_raspicam
        │  │  └─mmal
        │  │      ├─core
        │  │      ├─util
        │  │      └─vc
        │  ├─input_testpicture
        │  │  └─pictures
        │  ├─input_uvc
        │  ├─output_autofocus
        │  ├─output_file
        │  │  └─examples
        │  ├─output_http
        │  ├─output_rtsp
        │  ├─output_udp
        │  ├─output_viewer
        │  └─output_zmqserver
        ├─scripts
        └─www

其中:

下載后如圖所示,主要是  plugins, www, mjpg_streamer.h 頭文件跟mjpg_streamer.c源碼

其他都是一些打包方式,讓我覺得滿意的是有了ros_mjpg ,以及Dockerfile,真的是應用很廣。

解釋一下這些文件大概含義:

plugins目錄: 一些usb攝像頭的數據采集和傳輸的功能子函數,主要是input和output方式

www目錄:主要是在使用瀏覽器瀏覽時,html界面上一些功能。

mjpg-streamer.c & .h:主要實現命令參數的解析及調用相關線程運行功能子函數

有了上文大概了解,使用也很方便;

這里,通過Raspberry  3B+ 進行介紹:(暫時使用局域網內進行圖像傳輸,其實后面可以通過配置完成全網可視)

 

1.更新樹莓派

sudo apt-get update  && sudo  apt-get  upgrade -y

更新很快,如果您的鏡像使用國可能有點慢-->> 可以跟我一樣換成國內鏡像。

 

2.開啟攝像頭

sudo raspi-config    (必須sudo ) 然后選擇 ‘5 interfacing options’中的‘camera’然后enable,之后樹莓派將重啟(需要重啟)(步驟如下圖)

 

 3.查看是否配置好攝像頭

ls  /dev

此命令,通過ls /dev 查外設,若出現 video0  可證明攝像頭已經被樹莓派檢測到

 

 

4.安裝必要庫

sudo apt-get update
sudo apt-get install subversion
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev
sudo apt-get install cmake
sudo apt-get install git

 

5.下載開源包

sudo git clone https://github.com/jacksonliam/mjpg-streamer.git

 

 

 6.編譯安裝

sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
make all
sudo  make install

編譯安裝過程可能有一點慢,建議不使用多線程編譯,可能出錯

 

7.運行

./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y -f 25 -r 640x480" -o "./output_http.so -n -w /usr/local/www"

出現上圖,可證明已經運行成功

 

 8.打開網頁  瀏覽器輸入‘樹莓派的ip:8080’即可進入mjpg-streamer界面(如下圖)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM