6

所以我需要一个使用 Raspberry pi 的网络摄像头,并按照教程进行操作。该设备正在为测试流页面提供服务,但是应该嵌入流的所有位置都是空白的。我正在使用带有 Raspbian Wheezy 发行版的 PS3 eyetoy 相机。这是我在启动服务器时收到的日志:

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

我没有找到这个错误的任何解释,也不知道它可能指的是什么问题。

4

2 回答 2

11

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"
于 2013-01-02T12:04:27.420 回答
7

根据我的经验,您列出的错误与 Linux-UVC 驱动程序的 dynctrls 有关,与图像格式 mjpeg 或 yuyv 无关。

看起来您的相机确实支持 mjpeg 格式,但是,您当前的相机/驱动程序缺乏对列出的 dynctrls 的支持(即您的相机不具备平移/倾斜/对焦/等功能,或者 mjpeg 在尝试访问/设置列出的控件),您可以禁用 dynctrls(因此可以消除您-n在启动 mjpg-streamer 时使用该标志收到的错误。

像这样的东西:

./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为树莓派所在网络的外部 IP(并编辑路由器设置以将请求转发到8090树莓派的本地 IP端口)地址)。

于 2013-12-15T23:43:14.400 回答