2017-10-26 17 views
1

Ich versuche, Bild von einem USB-Gerät mit Aforge (directShow) zu bekommen. Das Gerät (USB3HDCAP) hat 3 verschiedene Eingänge (HDMI, DVI und S-Video). Mit dem obigen Code kann ich auf das Standardeingabebild zugreifen (nur von HDMI). Wenn ich jedoch den physischen Eingang des Geräts (von HDMI zu DIV, Beispiel) ändere, ist das Bild schwarz. Was kann ich tun, um Videos von anderen Eingängen (DVI oder S-Video) zu erhalten?Wählen Sie eine andere Quelle von USB-Gerät mit DirectShow

LocalWebCamsCollection = new FilterInfoCollection(FilterCategory.VideoInputDevice); 
    LocalWebCam = new VideoCaptureDevice(LocalWebCamsCollection[0].MonikerString); 
    LocalWebCam.NewFrame += new NewFrameEventHandler(Cam_NewFrame); 
    LocalWebCam.Start(); 

Antwort

1

Ihr Code-Snippet ist, was gerade Video erfasst. Um die Eingänge der Videoaufnahme-Hardware zu wechseln, müssen Sie das Gerät mithilfe der Crossbar neu konfigurieren.

Im Klardirectshow ist es wie sein:

Mit AForge.NET sollten Sie sich für ein ähnliches Verfahren aufzublicken, z.B. siehe:

... VideoCaptureDivece.AvailableCrossbarVideoInputs gibt Array von verfügbaren Videoeingänge. VideoCaptureDivece.CrossbarVideoInput akzeptiert was? - Ja Videoeingang. Kombinieren Sie diese beiden zusammen:

VideoKaynagi.CrossbarVideoInput = CrossbarVideoInput.AvailableCrossbarVideoInputs[0]; 

Natürlich müssen Sie 0 mit einem Index des S-Video-Eingangs ändern.

+0

Ich werde versuchen, die erste (DirectShow), weil die zweite, ich bereits versucht, und ich werde kein Ergebnis von - AvailableCrossbarVideoInputs - Array war leer. –

Verwandte Themen