首页 > 解决方案 > 在 Windows 机器上用 python 获取视频设备列表

问题描述

我正在开发一个使用 USB 视频设备的软件。我在软件中使用库中的功能cv2.VideoCapture()openCV该功能需要获取视频设备的索引,但我的 USB cam 有时索引 0,有时索引 1 或索引 7。因为软件必须是用户友好的,所以我想获取所有可用 USB 视频设备的列表并让用户选择他想要的设备。最好的方法是获取设备的名称和地址。我尝试搜索较旧的问题,但如果有答案,则用户使用了 c++,我不知道如何在 python 中执行此操作。解决方案应该简单而优雅非常感谢您的帮助,我希望这个问题是可以理解的。

标签: pythonwindowsopencvvideodevice

解决方案


有一个解决方案https://github.com/pvys/CV-camera-finder

from pymf import get_MF_devices
device_list = get_MF_devices()
for i, device_name in enumerate(device_list):
    print(f"opencv_index: {i}, device_name: {device_name}")

=> opencv_index: 0, device_name: Integrated Webcam

使用 get_MF_devices 函数,您可以接收设备列表(opencv 索引和友好名称)。但是,如果您有多个具有相同友好名称的相机,则此库无法解决您的问题。


推荐阅读