CubieTruck上安裝mjpg_streamer

最近手頭項目須要用到一個上位機,須要在上位機上實現遠程訪問及視頻監控。其中視頻監控採用了網上資料較多的mjpg_streamer進行視頻處理。在使用中遇到許多坑也一併記錄下來。html

首先安裝依賴環境和檢測環境,裝全點沒壞處:)  web

sudo apt-get install subversion 
sudo apt-get install libv4l-dev
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
sudo apt-get install fswebcam
sudo apt-get install v4l-utils
sudo apt-get install build-essential make

安裝完成後,開始下載代碼並進行編譯chrome

cd ~/
mkdir code
cd code
svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/
cd mjpg-streamer/mjpg-streamer
make USE_LIBV4L2=true clean all
sudo make DESTDIR=/usr install

執行完sudo make DESTDIR=/usr install 後信息以下:瀏覽器

mjpg-streamer# sudo make DESTDIR=/usr install
install --mode=755 mjpg_streamer /usr/bin
install --mode=644 input_uvc.so output_file.so output_udp.so output_http.so input_testpicture.so input_file.so /usr/lib/
install --mode=755 -d /usr/www
install --mode=644 -D www/* /usr/www   

如遇編譯失敗再裝下面的依賴包,有的人說要下依賴包從新編譯,具體是否好用未測試,發現有這個方法就不用作那麼多事了bash

sudo apt-get install libjpeg-dev

 如今就能夠進行測試了:ide

  • 首先須要檢測攝像頭是否已加載
# ls /dev/video*
/dev/video0
  • 確認攝像頭支持的類型:
# fswebcam -v

 

  • 運行命令
mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 320x240  -f 15" -o "/usr/lib/output_http.so  -w /usr/www"
mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 640x480  -f 15" -o "/usr/lib/output_http.so  -w /usr/www"
mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 640x480  -f 25" -o "/usr/lib/output_http.so  -w /usr/www"
mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 1024x768 -f 15" -o "/usr/lib/output_http.so  -w /usr/www"
mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 1024x768 -f 30" -o "/usr/lib/output_http.so  -w /usr/www"

結果svn

MJPG Streamer Version: svn rev: 3:172
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 15
 i: Format............: MJPEG
。。。。。。
 o: www-folder-path...: /usr/www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled

訪問(注意用FireFox或chrome,其它瀏覽器支持不是很好),看到下面的就對了:測試

http://ip:8080 (這個端口取決於你的設置 -p 若是未設置默認爲8080)ui

  

 

參數:.net

-i : uses input_uvc.so (the USB Webcam) as input
-o : output_http.so for the output (sending the images to a Web server
-w : the directory, which has the HTML, CSS, and JS files:   /usr/local/www
You can cancel the stream by pressing Ctrl+C.  If you want to experiment with some other options, some are listed below:

-b : runs in the background
-p : set a default port instead of the default 8080
-c : prompts for username:password
-yYUYV : enables YUYV format and disables MJPEG mode
-f : framerate (in seconds)

 遇到的問題:

一、CPU居高不下:

兩種緣由:(1)參數內加入了 -y 開啓了 yuv模式,我測試結果是一個CPU跑到了90% ,能夠看到程序啓動後的信息:

       (2)攝像頭不支持mjpeg,這樣的話CPU也會居高不下。採用上面的fswebcam -v進行檢測,若是不支持mjpeg的話就不要用了

       i: Format............: MJPEG 若是不是這個就是有可能你帶Y參數或是攝像頭不支持
測試:使用支持MJPEG攝像頭開啓 -y參數:

關閉-y參數:

 

二、找不到網頁

路徑問題,在參數 -w後面跟的要麼應該指向你創建的code文件夾下的www目錄或是編譯過程結果中的目錄,個人結果顯示的是/var/www

三、其它機器訪問不了默認端口:

檢測系統默認安裝的ufw是否已啓動,啓動的話先關了再試

基本上就這不少了:)

轉載請註明:http://www.cnblogs.com/forrestsun/p/4995083.html

相關文章
相關標籤/搜索