2012-11-18 100 views
5

所以我需要一個使用樹莓派的網絡攝像頭,並遵循this教程。該設備正在提供測試流媒體頁面,但是應該嵌入流的所有位置均爲空白。我正在使用Raspbian Wheezy發行版的PS3 eyetoy相機。這是啓動服務器時,我收到日誌:MJPG流與樹莓派和網絡攝像頭

MJPG Streamer Version: svn rev: 3:165 
i: Using V4L2 device.: /dev/video0 
i: Desired Resolution: 640 x 480 
i: Frames Per Second.: 5 
i: Format............: MJPEG 
Adding control for Pan (relative) 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
Adding control for Tilt (relative) 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
Adding control for Pan Reset 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
Adding control for Tilt Reset 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
Adding control for Pan/tilt Reset 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
Adding control for Focus (absolute) 
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device 
mapping control for Pan (relative) 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Tilt (relative) 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Pan Reset 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Tilt Reset 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Pan/tilt Reset 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Focus (absolute) 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for LED1 Mode 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for LED1 Frequency 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Disable video processing 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
mapping control for Raw bits per pixel 
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device 
o: www-folder-path...: ./www/ 
o: HTTP TCP port.....: 8080 
o: username:password.: disabled 
o: commands..........: enabled 

我還沒有發現這個錯誤的任何解釋,也不知道它可能指的是什麼問題。

回答

10

ps3相機似乎不支持mjpeg,但它確實支持YUYV格式。嘗試使用-y標誌初始化流。例如:

mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -y -r 320x240 -f 15" -o "/usr/lib/output_http.so -p 8090 -w ./www" 
5

以我的經驗,你已經列出的錯誤都與Linux的UVC驅動的dynctrls,而不是圖像格式MJPEG或YUYV。

看起來好像您的相機確實支持mjpeg格式,但是,您當前的相機/驅動程序不支持列出的dynctrls(例如,您的相機無法進行平移/傾斜/聚焦/等等,或者mjpeg試圖訪問時遇到了錯誤/集)中列出的控件,您可以禁用dynctrls(因此消除您使用-n標誌開始MJPG纜時收到錯誤

事情是這樣的:

./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n" -o "./output_http.so -p 8090" 

將在樹莓派的ip地址的端口8090上開始流式傳輸。

要訪問本地網絡上的流,請轉至xxx.xxx.xxx.xxx:8090/?action=stream或將<img src="xxx.xxx.xxx.xxx:8090/?action=stream">插入可訪問的html頁面。將xxx.xxx.xxx.xxx替換爲樹莓派的本地IP地址。

要訪問遠程位置的流(與pi不在同一個本地網絡上),請將xxx.xxx.xxx.xxx替換爲樹莓派駐留的網絡的EXTERNAL IP(並編輯您的路由器設置以將請求轉發到端口8090到樹莓派的本地IP地址)。

+0

-n完全解決了我的問題 - 也很有意義。我有一個基本的Logitech網絡攝像頭連接,當然它不支持雲臺等。 –