Video streaming MJPG流媒体,带有覆盆子Pi和网络摄像头

Video streaming MJPG流媒体,带有覆盆子Pi和网络摄像头,video-streaming,webcam,raspberry-pi,Video Streaming,Webcam,Raspberry Pi,所以我需要一个使用树莓圆周率的网络摄像机,并遵循了教程。该设备正在为测试流页面提供服务,但是所有应该嵌入流的地方都是空白的。我使用的是PS3 eyetoy相机和Raspbian哮喘病发行版。这是我在启动服务器时收到的日志: 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:

所以我需要一个使用树莓圆周率的网络摄像机,并遵循了教程。该设备正在为测试流页面提供服务,但是所有应该嵌入流的地方都是空白的。我使用的是PS3 eyetoy相机和Raspbian哮喘病发行版。这是我在启动服务器时收到的日志:

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

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

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"

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

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

大概是这样的:

./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n" -o "./output_http.so -p 8090"
将在raspberry pi的ip地址的端口8090上开始流式传输

要访问本地网络上的流,请转到
xxx.xxx.xxx.xxx:8090/?action=stream
或将
插入可访问的html页面。用raspberry pi的本地IP地址替换
xxx.xxx.xxx


要在远程位置(与pi不在同一个本地网络上)访问流,请将
xxx.xxx.xxx.xxx
替换为raspberry pi所在网络的外部IP(并编辑路由器设置以将请求转发到端口
8090
到raspberry pi的本地IP地址).

-n完全解决了我的问题-也很有意义。我连接了一个基本的logitech网络摄像头,当然它不支持平移/倾斜等。