首页 > 解决方案 > 如何在 python 中获取计算机上存在的网络摄像头的名称?

问题描述

我有个问题。我需要在 python 中使用带有子进程的 ffmpeg 进行视频捕获。

为此,我需要识别计算机中存在的摄像机的名称,以便能够将此参数传递给 ffmpeg 进程。

到目前为止,我已经使用了 WMI 模块,但它只适用于 windows,并且不是很容易使用。

有没有更简单的方法来提取计算机上网络摄像头的名称并将它们保存到数组中?也许还使用 ffmpeg list-devices 并过滤结果?你能帮助我吗?

我不想再使用 WMI 模块,因为我想要一个适用于 windows 或 linux 的通用解决方案,可能使用 subprocess 和 ffmpeg list_devices 命令。谢谢

标签: pythonffmpegsubprocesswebcam

解决方案


视窗

在 Windows 中使用dshow

ffmpeg -list_devices true -f dshow -i dummy

Linux

在 Linux 中使用v4l2-ctl

v4l2-ctl --list-devices

然后使用FFmpeg video4linux2/v4l2 demuxer连接。

另见


推荐阅读