uv4l服务器URL问题

时间:2018-08-10 07:50:12

标签: raspberry-pi webcam uv4l

我在raspi上安装了uv4l服务器,该服务器提供无名称的网络摄像头。它正在使用uvc驱动程序。服务器内置的网页大部分都可以工作。我可以将Webrtc从pi流式传输到笔记本电脑浏览器,但是mjpeg按钮将显示一个残破的图像图标。

最重要的是,似乎没有直接在服务器上运行的网址,例如http://raspberrypi:8080/stream/video.mjpeg

使用该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 

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

一个可能的原因是您的基于UVC的网络摄像头本身不支持MJPEG视频格式,因此您会从UV4L中获得空白页。作为uv4l-uvc用户空间驱动程序的替代方法,您可以告诉UV4L使用uvcvideo内核驱动程序。例如,假设uvcvideo创建了/dev/video0,则命令将类似于:

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

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

答案 1 :(得分:0)

我已经在Google上进行了广泛的搜索,即使我找不到任何明确的解释,我也想知道发生了什么。 raspicam驱动程序具有很多功能/选项,包括编码。 uvc驱动程序除了通过网络摄像头流之外什么也不做。 uv4l服务器也不进行编码。

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

我使用的是ffserver程序而不是uv4l服务器,因为我只提供http服务,因此非常适合ffmpeg。