Also, was ich versuche zu tun, kann ein wenig kompliziert sein, indem ich meinen Weg finde.
Lassen Sie mich die Grundlagen erklären:
1 - Ich habe eine DSLR-Kamera und möchte sie als Webcam verwenden (aber mit v4l2 kann kein / dev / videoX-Gerät erstellt werden, sodass keine Internetanwendung darauf zugreifen kann, nur bestimmte Anwendungen wie Darktable)
2 - Ich kann über gphoto2 Live-Bilder von der Kamera abrufen (aber ich bin mir nicht sicher, wie ich sie weiterleiten soll und ob ich sie skalieren und codieren / decodieren muss)
3 - Ich kann v4l2loopback verwenden, um ein gefälschtes Webcam-Gerät (wie / dev / video1) zu erstellen, und ich kann gst-launch verwenden, um Daten dorthin zu übertragen (aber ich bin nicht sicher, wie ich Frames dorthin weiterleiten kann)
Und was ich darüber weiß:
1 - Ich kann die Bilder wie folgt von der Kamera an stdout senden:
gphoto2 --capture-movie --stdout
2 - Ich kann wie folgt Daten von einer Video-Testquelle an das gefälschte Webcam-Gerät senden:
gst-launch-0.10 videotestsrc ! v4l2sink device=/dev/video1
3 - das von gphoto2 verwendete Format ist mjpg (JPEG-Format)
Können Sie mir dabei helfen?
Wie kann ich die Frames von gphoto2 nach gst-launch leiten und mit v4l2sink an / dev / video1 senden (damit ich sie als Webcam verwenden kann)?
Vielen Dank!
libv4l2: error getting pixformat: Invalid argument
mir , wenn ich wähle/dev/video1
statt/dev/video0
und mit mehr Fehlern bei/dev/video0
.