¿Cómo verificar las cámaras web disponibles desde la línea de comandos?

28

¿Existe un comando de terminal que enumera todas las cámaras web conectadas a mi computadora, incluida la nativa? Tal vez usando el paquete ffmpeg?

marcelosalloum
fuente
<<<<< lsusb >>>>
Qasim

Respuestas:

33

Para enumerar todos los dispositivos de video recogidos por el kernel

ls -ltrh /dev/video*

Para enumerar todos los dispositivos conectados al uso de USB lsusb; para enumerar todos los dispositivos conectados al uso de PCIlspci

connie nueva
fuente
1
$ ls -ltrh / dev / video * ls: no se puede acceder a '/ dev / video *': No existe tal archivo o directorio
Mona Jalal
@MonaJalal Eso significa que no pudo encontrar ningún dispositivo.
JMY1000
esto no funciona en mi Surface Pro 3. Puedo usar cheese y detecta mi cámara muy bien, pero lspci y el comando anterior no muestran información sobre el hardware de la cámara web. Esto es especialmente importante porque quiero usar Kamera que pide seleccionar de una larga lista.
Joshua Robison
22

v4l2-ctl --list-devices

sudo apt-get install v4l-utils
v4l2-ctl --list-devices

Salida de muestra con una sola cámara:

Integrated Camera (usb-0000:00:1a.0-1.6):
        /dev/video0

Probado en Ubuntu 16.04.

Puede encontrar más detalles aquí: /programming/4290834/how-to-get-a-list-of-video-capture-devices-web-cameras-on-linux-ubuntu-c

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
fuente
44
El 16.04.1 error:Failed to open /dev/video0: No such file or directory
Xaqron
@Xaqron también intente instalar libv4l-devsi aún no está instalado. También proporcione el modelo de computadora si puede. Aclamaciones.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
1
El hecho de que guardo de nuevo a esta respuesta que viene, que es ahora: v4l2-ctl --list-devices. Eso es inferior en la respuesta, pero la parte superior en negrita no tiene el 2.
ksclarke
1
$ v4l2-ctl --list-devices Error al abrir / dev / video0: No existe tal archivo o directorio
Mona Jalal
1
Esta es la respuesta correcta correcta. Gracias.
Joshua Robison
1

Para Windows puede usar la biblioteca pygrabber: https://github.com/bunkahle/pygrabber

Para verificar los nombres fáciles de usar de las cámaras web conectadas:

from __future__ import print_function
from pygrabber.dshow_graph import FilterGraph

graph = FilterGraph()
print(graph.get_input_devices())
bunkus
fuente