1. 程式人生 > >樹莓派上MJPG-streamer的安裝過程

樹莓派上MJPG-streamer的安裝過程

MJPG-streamer是一個優秀的開源project,它可以通過HTTP的方式訪問linux上面的相容攝像頭,從而做到遠端視訊傳輸的效果。最近導師的一個project和遠端視訊傳輸有關,於是筆者在樹莓派上面搭建視訊傳輸環境的時候直接選擇了MJPG-streamer。現在將整個搭建的過程貼出來,供大家參考。

1.搭建環境以及硬體裝置

樹莓派B+、樹莓派原生的作業系統(官網可下載)、樹莓派的專用攝像頭Raspberry Pi Camera。其實現在市面上可以很容易買到的USB攝像頭會更加方便,但是筆者手頭上暫時只有Raspberry Pi Camera,就將就使用了,並且使用Raspberry Pi Camera由於驅動問題要比USB攝像頭多幾個安裝步驟。

2.Enable樹莓派攝像頭

Raspberry Pi Camera插到正確位置後(注意別插反了),供電開機。用putty進入樹莓派後,enable攝像頭(執行一次即可,無需每次開機都執行):

1

sudo raspi-config

進入後,將camera一項enable,然後重啟:

1

sudo reboot

3.安裝必要的庫

命令列直接敲以下指令:

1

2

3

4

5

6

7

sudo apt-get update

sudo

apt-get install subversion

sudo apt-get install libjpeg8-dev

sudo apt-get install imagemagick

sudo apt-get install libv4l-dev

sudo apt-get install cmake

sudo apt-get install git

4.git開源的project到本地,編譯

1

2

3

4

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

.git

cd mjpg-streamer/mjpg-streamer-experimental

make all

sudo make install

如果是普通的USB攝像頭,這個時候應該可以使用了,在命令列輸入:

1

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

如果是Raspberry Pi Camera,會報錯。 這是因為V4L driver 不支援raspberry pi的camera,所以初始化失敗。

5.解決V4L driver不支援的問題

安裝必要的庫:

1

sudo wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc

修改sources list

1

sudo nano /etc/apt/sources.list

在最後加上一行:

1

2

3

4

5

6

deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main

繼續安裝:

sudo apt-get update

sudo apt-get install uv4l uv4l-raspicam

sudo reboot

重啟之後:

1

2

3

4

5

6

sudo pkill uv4l

sudo apt-get update

sudo apt-get install uv4l-uvc

sudo apt-get install uv4l-xscreen

sudo apt-get install uv4l-mjpegstream

sudo reboot

再一次重啟之後:

1

2

sudo modprobe bcm2835-v4l2

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

然後開啟瀏覽器輸入: http://raspberry-ip-address:8080/?action=stream 應該就可以看到Raspberry Pi Camera採集的動態視訊了,延遲大概不超過0.8秒吧。

注意:

1

sudo modprobe bcm2835-v4l2

這條命令是每一次都要先執行然後才可以開啟攝像頭,不妨把它設為開機啟動執行吧。