樹莓派上安裝MJPG-streamer過程

目的:
實現網絡攝像服務器,目前瞭解開源軟件有 motion 和MJPG-streamer,這裏試驗了後者。
實驗原料:

  1. 樹莓派型號3B+,操作系統 Raspbian;
  2. 樹莓派支持CSI接口的樹莓派攝像頭和USB攝像頭,我買的是樹莓派攝像頭。
  3. 打開連接器扳手,將CSI排線插入,其中CSI排線的襯墊(我的是藍色)對着以太網口,然後按下扳手鎖緊。安裝時注意靜電。

攝像頭配置
執行$ sudo raspi_config,Enable Camera
可使用raspistill 和raspivid 拍照和攝像。如

$sudo raspistill -o imgtest1.jpg  
$sudo raspivid -o video.h264 -t 1000

(注1000的單位毫秒)

安裝MJPG-Streamer

一、更新列表

$sudo apt-get update    # 更新軟件列表,網速慢更新失敗
$sudo apt-get upgrade   # 更新軟件

二、下載安裝文件

$wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip

三、安裝依賴庫

sudo apt-get install libjpeg8-dev   #JPEG支持庫
sudo apt-get install cmake          #下載編譯工具

【1】安裝依賴庫JPEG支持庫

 $ sudo apt-get install libjpeg8-dev

正在讀取軟件包列表… 完成
正在分析軟件包的依賴關係樹
正在讀取狀態信息… 完成
將會同時安裝下列軟件:
libjpeg8
下列【新】軟件包將被安裝:
libjpeg8 libjpeg8-dev
升級了 0 個軟件包,新安裝了 2 個軟件包,要卸載 0 個軟件包,有 0 個軟件包未被升級。
需要下載 313 kB 的歸檔。
解壓縮後會消耗 667 kB 的額外空間。
您希望繼續執行嗎? [Y/n] y
獲取:1 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian stretch/main armhf libjpeg8 armhf 8d1-2 [108 kB]
獲取:2 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian stretch/main armhf libjpeg8-dev armhf 8d1-2 [205 kB]
已下載 313 kB,耗時 10秒 (28.9 kB/s)
正在選中未選擇的軟件包 libjpeg8:armhf。
(正在讀取數據庫 … 系統當前共安裝有 124722 個文件和目錄。)
正準備解包 …/libjpeg8_8d1-2_armhf.deb …
正在解包 libjpeg8:armhf (8d1-2) …
正在選中未選擇的軟件包 libjpeg8-dev:armhf。
正準備解包 …/libjpeg8-dev_8d1-2_armhf.deb …
正在解包 libjpeg8-dev:armhf (8d1-2) …
正在設置 libjpeg8:armhf (8d1-2) …
正在設置 libjpeg8-dev:armhf (8d1-2) …
pi@raspberrypi:~ $

【2】下載編譯工具

pi@raspberrypi:~ $ sudo apt-get install cmake

正在讀取軟件包列表… 完成
正在分析軟件包的依賴關係樹
正在讀取狀態信息… 完成
將會同時安裝下列軟件:
cmake-data libjsoncpp1
建議安裝:
codeblocks eclipse ninja-build
下列【新】軟件包將被安裝:
cmake cmake-data libjsoncpp1
升級了 0 個軟件包,新安裝了 3 個軟件包,要卸載 0 個軟件包,有 0 個軟件包未被升級。
需要下載 3,685 kB 的歸檔。
解壓縮後會消耗 19.0 MB 的額外空間。
您希望繼續執行嗎? [Y/n] Y
獲取:1 http://103.238.48.8/mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian stretch/main armhf cmake-data all 3.7.2-1 [1,216 kB]
獲取:2 http://103.238.48.3/mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian stretch/main armhf libjsoncpp1 armhf 1.7.4-3 [66.2 kB]
獲取:3 http://103.238.48.3/mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian stretch/main armhf cmake armhf 3.7.2-1 [2,402 kB]
已下載 3,685 kB,耗時 26秒 (140 kB/s)
正在選中未選擇的軟件包 cmake-data。
(正在讀取數據庫 … 系統當前共安裝有 124746 個文件和目錄。)
正準備解包 …/cmake-data_3.7.2-1_all.deb …
正在解包 cmake-data (3.7.2-1) …
正在選中未選擇的軟件包 libjsoncpp1:armhf。
正準備解包 …/libjsoncpp1_1.7.4-3_armhf.deb …
正在解包 libjsoncpp1:armhf (1.7.4-3) …
正在選中未選擇的軟件包 cmake。
正準備解包 …/cmake_3.7.2-1_armhf.deb …
正在解包 cmake (3.7.2-1) …
正在設置 cmake-data (3.7.2-1) …
正在處理用於 libc-bin (2.24-11+deb9u3) 的觸發器 …
正在處理用於 man-db (2.7.6.1-2) 的觸發器 …
正在設置 libjsoncpp1:armhf (1.7.4-3) …
正在設置 cmake (3.7.2-1) …
正在處理用於 libc-bin (2.24-11+deb9u3) 的觸發器 …

【3】解壓安裝文件

  • pi@raspberrypi:~ $ unzip master.zip`

    Archive: master.zip
    501f6362c5afddcfb41055f97ae484252c85c912
    creating: mjpg-streamer-master/
    inflating: mjpg-streamer-master/.gitignore
    inflating: mjpg-streamer-master/README.md
    creating: mjpg-streamer-master/mjpg-streamer-experimental/

【4】修改配置文件

cd mjpg-streamer-master/mjpg-streamer-experimental/plugins/input_raspicam
vi input_raspicam.c

在其中找到fps(每秒幀數)、width\height 等屬性進行修改
fps 默認爲5 改爲15. width\height 按50% 減小

【5】編譯
注意,需返回mjpg-streamer-master/,用兩次 cd …

make clean all

【6】5.啓動攝像頭

//啓動普通 USB攝像頭

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"  

//啓動樹莓派專用攝像頭

 ./mjpg_streamer -i "./input_raspicam.so" -o "./output_http.so -w ./www"      // 默認8080 端口
#更改端口爲8090
    ./mjpg_streamer -i "./input_raspicam.so" -o "./output_http.so -p 8090 -w ./www"  

注:兩個.so 爲plugin 插件

//openwrt下啓動,8090端口

mjpg_streamer -i "input_uvc.so -f 10 -r 320*240" -o "output_http.so -p 8090 -w www"

注意,mjpg_streamer 在/mjpg-streamer-master/mjpg-streamer-experimental/ 下,如

pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimental $ ./mjpg_streamer -i "./input_raspicam.so" -o "./output_http.so -w ./www"

MJPG Streamer Version.: 2.0
i: fps…: 15
i: resolution…: 320 x 240
i: camera parameters…:

Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0
Exposure Mode ‘auto’, AWB Mode ‘auto’, Image Effect ‘none’
Metering Mode ‘average’, Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000
o: www-folder-path…: ./www/
o: HTTP TCP port…: 8080
o: HTTP Listen Address…: (null)
o: username:password…: disabled
o: commands…: enabled
i: Starting Camera
Encoder Buffer Size 81920

攝像頭服務啓用

先測試,進入瀏覽器

http://<樹莓派IP>:8080

or

http://<樹莓派IP>:8080/?action=stream

如順利,將看到攝像。
如需與其他html 頁面集成,加入如下語句

```html    
  <img src="http://<樹莓派IP>:8080/?action=stream"> </div>"

#–MJPG 官方文檔---------

https://github.com/jacksonliam/mjpg-streamer
https://github.com/jacksonliam/mjpg-streamer/blob/master/mjpg-streamer-experimental/plugins/output_http/README.md

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章