WebRTC视频冻结通过gstreamer和v4l2sink提供的虚拟摄像头

时间:2017-05-05 15:19:33

标签: webrtc gstreamer v4l2 v4l2loopback

我正在尝试使用WebRTC在我的网页中使用我的IP cam(Vstarcam C7837WIP)捕获的视频。

IP摄像头通过以太网电缆直接连接到我的计算机,我设法使用{14}上的cheese应用程序使用gstreamerv4l2sink使用此命令访问视频< / p>

gst-launch-1.0 -vet  souphttpsrc location='http://10.10.10.10:81/videostream.cgi?user=XXX&pwd=XXX' timeout=5 ! jpegdec ! tee ! v4l2sink device=/dev/video1

不幸的是,我在使用WebRTC的虚拟网络摄像头时遇到了问题(例如在https://webrtc.github.io/samples/src/content/getusermedia/gum/)。在Firefox中选择相机后,视频会显示相机图片并立即冻结。

同样,如果我使用

gst-launch-1.0 videotestsrc ! tee ! v4l2sink device=/dev/video1

我只在浏览器中看到一张图片但没有视频流 - 虽然它在干酪中有效。

有什么线索我可以将视频流用于WebRTC吗?

编辑:

我从https://github.com/umlaeute/v4l2loopback下载了v0.10.0并使用modprobe v4l2loopback exclusive_caps=0

创建了虚拟视频设备

EDIT2:

如果我使用

,也会发生同样的情况
gst-launch-1.0 -vet  rtspsrc user-id='XXX' user-pw='XXX' location='rtsp://10.10.10.10:10554/udp/av0_0' latency=0 ! decodebin ! tee ! v4l2sink device=/dev/video1

1 个答案:

答案 0 :(得分:0)

我已经设法使用

解决了我的问题
gst-launch -vet  rtspsrc user-id='XXX' user-pw='XXX' location='rtsp://10.10.10.10:10554/udp/av0_0' latency=0 ! decodebin2 ! v4l2sink device=/dev/video1

剩下的问题是,如何使用gst-launch-1.0获得解决方案(我假设最终gst-launch-1.0将成为默认值,而版本0.10将在某个时候被弃用)?