2015-04-08 2 views
1

J'ai deux caméras identiques connectées à mon ordinateur. les caméras sont la vidéologie 21K355usb (si quelqu'un a besoin de cette information). J'utilise Libav ou ffmpeg (testé avec les deux libs) pour attraper les caméras. mes options dans mon programme C++ sont simplement:comment faire la distinction entre des caméras identiques dans Libav/ffmpeg?

format = "dshow" 
input = "video=Videology USB-C Camera" 

mais je ne peux pas les distinguer. si je tente d'imprimer la liste des périphériques, je reçois les éléments suivants: comme vous pouvez le voir, ma caméra Videology apparaît comme le même dispositif, deux fois

$> ffmpeg -list_devices true -f dshow -i dummy 

[dshow @ 02597f60] DirectShow video devices 
[dshow @ 02597f60] "Integrated Camera" 
[dshow @ 02597f60] "Videology USB-C Camera" 
    Last message repeated 1 times 
[dshow @ 02597f60] DirectShow audio devices 
[dshow @ 02597f60] "Microphone (Realtek High Defini" 

. la seule chose que je vois jusqu'à présent, est le port USB diffère dans les propriétés os-matériel. est-il possible de les distinguer entre eux?

Répondre

4

Vous pouvez utiliser:

video_device_number Set numéro de périphérique vidéo pour les appareils avec le même nom (commence à 0, 0 par défaut).

audio_device_number Set numéro de périphérique audio pour les appareils avec le même nom (commence à 0, par défaut à 0).

Exemple:

ffmpeg -f dshow -video_device_number 1 -i video="Camera"

Source: FFmpeg Devices

+0

fonctionne comme un charme. Je vous remercie. – user1810087