52 votes

Comment puis-je découvrir les résolutions de webcam prises en charge ?

J'ai une webcam sur mon Thinkpad T500. J'aimerais connaître les résolutions supportées. Existe-t-il un moyen de le savoir via un logiciel (et sans avoir à consulter la documentation) ?

54voto

Prithvi Ravvarapu Points 641

Si vous avez video4linux installé, essayez ceci :

v4l2-ctl -d /dev/video0 --list-formats-ext

Spécifiez votre périphérique de caméra avec l'argument -d, cependant il peut être omis si vous êtes convaincu qu'il n'y a qu'un seul périphérique vidéo connecté.

Vous devriez obtenir quelque chose comme :

    ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture

    [0]: 'JPEG' (JFIF JPEG, compressé)
            Taille : Discrete 320x240
            Taille : Discrete 640x480

Source : Comment puis-je lister les modes vidéo disponibles pour une webcam USB sous Linux ?

46voto

chronitis Points 11442

Deux approches possibles:

Utiliser un logiciel qui peut interagir avec la webcam (par exemple, cheese), enregistrer une image et regarder la résolution.

Examiner la sortie de lsusb dans un terminal, pour trouver une ligne décrivant une webcam:

$ lsusb
Bus 001 Device 002: ID 5986:0241 Acer, Inc BisonCam, NB Pro
...

Ensuite, utiliser les numéros de Bus et de Device pour obtenir plus d'informations sur ce périphérique:

$ lsusb -s 001:002 -v | egrep "Width|Height"
    wWidth    640
    wHeight   480
    wWidth    1280
    wHeight   1024
...

Cela devrait afficher les paires hauteur, largeur que la caméra est capable de prendre en charge - dans ce cas, 1280x1024 et quelques plus petites.

25voto

sebix Points 413

Il est également possible avec ffmpeg, qui donne également des informations sur le codage vidéo (par exemple brute vs mjpeg).

ffmpeg -f video4linux2 -list_formats all -i /dev/video0

Exemple de sortie :

...
[video4linux2,v4l2 @ 0x7fa3a8000b40] Brut       :     yuyv422 :           YUYV 4:2:2 : 640x480 320x240 800x600 1024x600 1024x768 1280x800 1280x1024
[video4linux2,v4l2 @ 0x7fa3a8000b40] Compressé:       mjpeg :          Motion-JPEG : 640x480 320x240 800x600 1024x600 1024x768 1280x800 1280x1024
...

9voto

Ivan Talalaev Points 191

Si vous avez installé GStreamer avec le plugin gstreamer1.0-plugins-base-apps, vous pouvez utiliser la commande binaire gst-device-monitor-1.0.

$ gst-device-monitor-1.0

exemple de sortie :

Périphérique trouvé :

    nom  : FHD Camera
    classe : Video/Source
    caractéristiques  : video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 5/1, 3/1 };
            video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)5/1;
            video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)20/1;
            video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
            image/jpeg, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1, 1/1 };
            image/jpeg, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
            image/jpeg, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
            image/jpeg, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
    propriétés :
        udev-probed = true
        device.bus_path = platform-70090000.xusb-usb-0:2.1:1.0
        sysfs.path = /sys/devices/70090000.xusb/usb1/1-2/1-2.1/1-2.1:1.0/video4linux/video0
        device.bus = usb
        device.subsystem = video4linux
        device.vendor.id = 1bcf
        device.vendor.name = "Sunplus\\x20IT\\x20Co\\x20"
        device.product.id = 2286
        device.product.name = "FHD\ Camera"
        device.serial = Sunplus_IT_Co_FHD_Camera
        device.capabilities = :capture:
        device.api = v4l2
        device.path = /dev/video0
        v4l2.device.driver = uvcvideo
        v4l2.device.card = "FHD\ Camera"
        v4l2.device.bus_info = usb-70090000.xusb-2.1
        v4l2.device.version = 264588 (0x0004098c)
        v4l2.device.capabilities = 2216689665 (0x84200001)
        v4l2.device.device_caps = 69206017 (0x04200001)
    gst-launch-1.0 v4l2src ! ...

ceci est particulièrement intéressant car cela montre les résolutions possibles, les FPS et le format vidéo requis (par exemple MJPEG/YUY2) pour atteindre ces FPS.

2voto

William N Irwin Points 21

Cela a fonctionné pour moi:

Obtenez d'abord le Bus et l'ID du périphérique:

lsusb

Ce qui affichera quelque chose comme ce qui suit:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 011: ID 0ac8:3420 Z-Star Microelectronics Corp. Venus USB2.0 Camera
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Dans mon cas, j'ai la caméra USB2.0 Venus attachée. Donc maintenant, j'exécute cette commande:

lsusb -s 001:011 -v | grep -E "Width|Height"

Ce qui produit la liste suivante:

wWidth                            640
wHeight                           480
wWidth                            352
wHeight                           288
wWidth                            320
wHeight                           240
wWidth                            176
wHeight                           144
wWidth                            160
wHeight                           120
wWidth                            800
wHeight                           600
wWidth                           1280
wHeight                           960
wWidth                           1280
wHeight                          1024
wWidth                           1600
wHeight                          1200
wWidth( 0)                       1600
wHeight( 0)                      1200
wWidth( 1)                        352
wHeight( 1)                       288
wWidth( 2)                        320
wHeight( 2)                       240
wWidth( 3)                        176
wHeight( 3)                       144
wWidth( 4)                        160
wHeight( 4)                       120
wWidth( 5)                        800
wHeight( 5)                       600
wWidth( 6)                       1280
wHeight( 6)                       960
wWidth( 7)                       1280
wHeight( 7)                      1024
wWidth( 8)                        640
wHeight( 8)                       480

Source: raymii.org

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X