Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Raspberry pi uv4l服务器URL的问题_Raspberry Pi_Webcam_Uv4l - Fatal编程技术网

Raspberry pi uv4l服务器URL的问题

Raspberry pi uv4l服务器URL的问题,raspberry-pi,webcam,uv4l,Raspberry Pi,Webcam,Uv4l,我在我的raspi上安装了一个uv4l服务器,它提供一个无名网络摄像头。它正在使用uvc驱动程序。服务器内置的web页面主要工作正常。我可以将webrtc从pi传输到我的笔记本电脑浏览器,但是mjpeg按钮会显示一个损坏的图像图标 最重要的是,似乎没有URL直接从服务器工作,例如 使用该url上的chrome检查窗口,我可以看到返回200,但服务器随后关闭连接。VLC也无法打开连接 这是我的uv4l命令 /usr/bin/uv4l -k --sched-rr --mem-lock --confi

我在我的raspi上安装了一个uv4l服务器,它提供一个无名网络摄像头。它正在使用uvc驱动程序。服务器内置的web页面主要工作正常。我可以将webrtc从pi传输到我的笔记本电脑浏览器,但是mjpeg按钮会显示一个损坏的图像图标

最重要的是,似乎没有URL直接从服务器工作,例如

使用该url上的chrome检查窗口,我可以看到返回200,但服务器随后关闭连接。VLC也无法打开连接

这是我的uv4l命令

/usr/bin/uv4l -k --sched-rr --mem-lock --config-file=/etc/uv4l/uv4l-uvc.conf     \
             --driver uvc --driver-config-file=/etc/uv4l/uv4l-uvc.conf       \
             --server-option=--editable-config-file=/etc/uv4l/uv4l-uvc.conf  \
             --device-id=1908:2310 

有什么想法吗?

一个可能的原因是基于UVC的网络摄像头不支持本机的
MJPEG
视频格式,因此您可以从
UV4L
获得一个空白页面。作为
uv4l uvc
userspace驱动程序的替代,您可以告诉
uv4l
使用
uvcvideo
内核驱动程序。例如,假设
uvcvideo
创建
/dev/video0
,命令如下:

modprobe uvcvideo
uv4l --external-driver --device-name=video0 --server-option '--port=9000'

但是,如果
uvcvideo
没有提供
MJPEG
,您的问题仍然存在。

一个可能的原因是,基于UVC的网络摄像头本机不支持
MJPEG
视频格式,因此您可以从
UV4L
获得一个空白页面。作为
uv4l uvc
userspace驱动程序的替代,您可以告诉
uv4l
使用
uvcvideo
内核驱动程序。例如,假设
uvcvideo
创建
/dev/video0
,命令如下:

modprobe uvcvideo
uv4l --external-driver --device-name=video0 --server-option '--port=9000'

但是,如果
uvcvideo
没有提供
MJPEG
,您的问题仍然会存在。

我已经在谷歌上搜索了很多次,我想我明白发生了什么,尽管我找不到任何明确的解释。raspicam驱动程序有很多功能/选项,包括编码。uvc驱动程序除了传递网络摄像头流外,什么都不做。uv4l服务器也不进行编码

我的网络摄像头只有原始yuyv,所以我需要一个真正的编码解决方案。我经常使用ffmpeg,所以我选择了它。它可以使用broadcom h.264硬件进行编码,因此只需使用20%的cpu


我使用的是ffserver程序,而不是uv4l服务器,因为我只提供http服务,而且它与ffmpeg非常匹配。

我在谷歌上搜索了大量内容,我想我明白发生了什么,尽管我找不到任何清楚的解释。raspicam驱动程序有很多功能/选项,包括编码。uvc驱动程序除了传递网络摄像头流外,什么都不做。uv4l服务器也不进行编码

我的网络摄像头只有原始yuyv,所以我需要一个真正的编码解决方案。我经常使用ffmpeg,所以我选择了它。它可以使用broadcom h.264硬件进行编码,因此只需使用20%的cpu


我使用的是ffserver程序,而不是uv4l服务器,因为我只提供http服务,它与ffmpeg非常匹配。

网络摄像头绝对不支持mjpeg。只有YUYV 640x480。但是webrtc发出的是什么?它来自哪里?我将尝试分析webrtc流,并尝试您的建议尝试uvcvideo。webrtc使用vp8或h264,因此必须从yuyv进行转码。但是,在您的问题中,您询问的是video.mjpeg,只要没有延迟问题,没有yuyv->mjpeg转码存在就可以了。再加上你对外部驱动程序的建议,我可能在做生意。我试试看。网络摄像头绝对不支持mjpeg。只有YUYV 640x480。但是webrtc发出的是什么?它来自哪里?我将尝试分析webrtc流,并尝试您的建议尝试uvcvideo。webrtc使用vp8或h264,因此必须从yuyv进行转码。但是,在您的问题中,您询问的是video.mjpeg,只要没有延迟问题,没有yuyv->mjpeg转码存在就可以了。再加上你对外部驱动程序的建议,我可能在做生意。我试试看。