通过 gstreamer 和 v4l2sink 提供的虚拟摄像头的 WebRTC 视频冻结
WebRTC video freezes for virtual camera provided through gstreamer and v4l2sink
我正在尝试使用 WebRTC 在我的网页中使用我的 IP 摄像头 (Vstarcam C7837WIP) 捕获的视频。
网络摄像头通过以太网电缆直接连接到我的电脑,我设法在 linux 14.04 上使用 cheese
应用程序使用 gstreamer
和 [=14 访问视频=] 使用此命令
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
我在浏览器中只看到一张图片,但看不到视频流 - 尽管在 cheese 中可以。
知道如何获得可用于 WebRTC 的视频流吗?
编辑:
我从 https://github.com/umlaeute/v4l2loopback 下载了 v0.10.0 并使用 modprobe v4l2loopback exclusive_caps=0
创建了虚拟视频设备
编辑2:
如果我使用
也会发生同样的情况
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
我已经设法使用
解决了我的问题
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 版本将在某个时候被弃用)?
我正在尝试使用 WebRTC 在我的网页中使用我的 IP 摄像头 (Vstarcam C7837WIP) 捕获的视频。
网络摄像头通过以太网电缆直接连接到我的电脑,我设法在 linux 14.04 上使用 cheese
应用程序使用 gstreamer
和 [=14 访问视频=] 使用此命令
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
我在浏览器中只看到一张图片,但看不到视频流 - 尽管在 cheese 中可以。
知道如何获得可用于 WebRTC 的视频流吗?
编辑:
我从 https://github.com/umlaeute/v4l2loopback 下载了 v0.10.0 并使用 modprobe v4l2loopback exclusive_caps=0
编辑2:
如果我使用
也会发生同样的情况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
我已经设法使用
解决了我的问题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 版本将在某个时候被弃用)?