Wie erstelle ich ein Duplikat von / dev / video0?

17

Ich habe 1 Webcam an meinen Computer angeschlossen, möchte sie jedoch in mehreren Programmen verwenden.
Das Problem ist, wenn ich ein zweites Programm starte, wird mir mitgeteilt, dass die Webcam bereits verwendet wird.

Die Programme, die die Webcam verwenden, sind: motion, pam_face_authentification und einige Kommunikationssoftware wie Skype, Google Hangout ...

Wie kann ich den Fluss meiner Webcam duplizieren, um eine zweite Webcam zu simulieren?

user244552
quelle
Ich verstehe nicht, was du mir erzählst?
user244552
in eine Datei und auf die Anzeige streamen. Sie könnten dies mit VLC tun, möglicherweise Käse. Sobald Sie einen Stream haben, kann alles damit umgehen.
5.
Warum nicht beim Starten des Betriebssystems? Durch "Startup Applications".
Gtx

Antworten:

9

Meine ersten Gedanken waren, ich frage mich, ob jemand eine Möglichkeit gefunden hat, ein Video als Webcam anzuzeigen (z. B. skype ich mit jemandem, aber das Video und Audio, das sie sehen, ist ein Video, das ich stattdessen ausgewählt habe). Nach einigem Suchen sieht es so aus, als hätten die Leute dieses Video-Piping durchgeführt (siehe Manipulieren von Dev-Video und Fälschen einer Webcam mit einem Video-Loopback-Gerät beschrieben).

Wie in Ihrem Kommentar erwähnt, gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1können Sie video0 auf video1 duplizieren , und video1 kann von einer bestimmten Software gelesen werden .

Damit dies beim Starten Ihres Computers ausgeführt wird, können Sie dem UbuntuBootupHowto folgen, um Folgendes zu finden:

# /etc/init/videocloner.conf
description "VideoCloner"
start on runlevel [2345]
stop on runlevel [06]
respawn
exec gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1

Dieses Skript sollte beim Booten des Computers gestartet werden und Sie können es auch ausführen. sudo service videocloner start|stop (Hinweis: Wenn mein Beispielskript nicht funktioniert, gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1wechseln Sie in ein Shell-Skript und ändern Sie die execZeile, um stattdessen Ihr Shell-Skript aufzurufen .)

Dolan Antenucci
quelle
1
Ich möchte etwas zu Dolans Antwort hinzufügen. Sie müssen auch das v4l2loopback-dkmsPaket installieren und das v4l2loopbackModul ausführen : sudo apt-get install v4l2loopback-dkmsund dannsudo modprobe v4l2loopback
Tarek Loubani
Ich habe dies versucht, aber das Ergebnis ist, dass ich eine verwendbare / dev / video1, aber eine nicht verwendbare / dev / video0 habe, sodass ich nicht zwei Programme haben kann, die dieselbe physische Webcam verwenden. Ich habe versucht, den Befehl zu ändern, um / dev / vidoe1 und / dev / video2 zu erstellen, sodass ich 2 Endpunkte habe, aber kein Glück.
unfa