VLC显示了可用网络摄像机的列表,比如v4l2:///dev/video0
和v4l2:///dev/video1
,我想知道有什么方法可以获得可用的网络摄像机列表吗?他们的默认决议呢?
我试过了,但是md.MediaList
是空的。
var mds = libVlc.MediaDiscoverers(MediaDiscovererCategory.Devices);
if (mds.Any(x => x.LongName == "Video capture"))
{
var devices = mds.First(x => x.LongName == "Video capture");
var md = new MediaDiscoverer(libVlc, devices.Name);
foreach (var media1 in md.MediaList)
{
// Nothing ...
}
}
发布于 2021-10-12 21:36:34
您的MediaDiscoverer是空的,因为您从不调用md.Start()。要了解更多信息,我发现这个非常有用:/LibVLCSharp/MediaDiscoverer.cs
尽管如此,我没有成功地使用MediaDiscoverer来寻找自己的网络摄像头。
如果您不坚持使用LibVLC,您可以在没有第三方软件的情况下列出所有相机设备:如何从我的PC C#中获得照相机设备的列表?
Francesco Bonizzi:
public static List<string> GetAllConnectedCameras()
{
var cameraNames = new List<string>();
using (var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity WHERE (PNPClass = 'Image' OR PNPClass = 'Camera')"))
{
foreach (var device in searcher.Get())
{
cameraNames.Add(device["Caption"].ToString());
}
}
return cameraNames;
}
https://stackoverflow.com/questions/69510044
复制相似问题