Gstreamer 如何从 Windows 上的特定摄像头捕获视频(MultipleCameras)

Gstreamer How to Capture Video from Specific Camera on Windows (MultipleCameras)

我的问题是我必须从摄像头捕捉视频,但我有多个摄像头。第一个是默认笔记本电脑摄像头,第二个是 USB 连接摄像头。

问题是 Windows 上的 gstreamer 源中没有 'device' 属性。

在Linux中,我找到了“gst-launch v4l2src device=/dev/video0\”

在Windows中使用的是autovidesrc和videotestsrc,而不是v412src。但是,它们没有 'device' 属性。

当我在网络上搜索时,人们正在使用 dsvideoshowsrc,但我不知道他们是如何安装它或如何实现它的。其中一些使用了 ksvideosrc。



如果有人能帮助我解决这个问题,我将不胜感激。我知道很多人都遇到过这个问题,并且会遇到这个问题。因此,清晰的解释对我们有很大帮助。

我认为 dshowvideosrc 有点遗留问题,可能对某些仅限 directshow 的设备有帮助 - 我什至不确定它是否被移植到 1.0..

ksvideosrc 应该适合您的网络摄像头。这里的参考代码是: https://github.com/GStreamer/gst-plugins-bad/blob/master/sys/winks/gstksvideosrc.c

在那里您会看到至少有 3 种不同的方式 select 您的设备:

PROP_DEVICE_PATH
PROP_DEVICE_NAME
PROP_DEVICE_INDEX

因此您可以通过名称或路径 select 您的设备 - 这些可能是 GUID 或其他东西 - 我不确定(尝试在代码中检查 ;-))。但是您还有一个索引,这可能是让您入门的最快方法。

ksvideosrc 很好。需要 GStreamer 版本 1.3 或以上。安装或更改为使用所有捕获功能。 windows 上的典型安装不随 ksvideosrc 一起提供。 对于 ksvideosrc device-index 从 0 开始。如果 Webcam 是唯一的视频捕获设备,它将是 device-index 0。

这对我有用

gst-launch-1.0.exe -v ksvideosrc do-stats=TRUE !视频转换!自动视频接收器