comment créer un doublon de / dev / video0?

17

J'ai 1 webcam connectée à mon ordinateur mais je veux l'utiliser dans plusieurs programmes.
Le problème est que lorsque je lance un deuxième programme, il me dit que la webcam est déjà utilisée.

Les programmes qui utiliseront la webcam sont: motion, pam_face_authentification, et certains logiciels de communication comme skype, google hangout ...

Comment dupliquer le flux de ma webcam pour simuler une seconde webcam?

user244552
la source
Je ne comprends pas ce que tu me dis?
user244552
diffuser dans un fichier et sur l'écran. vous pouvez le faire avec du vlc, éventuellement du fromage. une fois que vous avez un flux, tout peut l'utiliser.
j0h
Pourquoi ne pas le faire au démarrage du système d'exploitation? Via "Applications de démarrage".
Gtx

Réponses:

9

Mes premières réflexions ont été, je me demande si quelqu'un a trouvé un moyen de faire apparaître une vidéo sous forme de webcam (par exemple, je skype avec quelqu'un, mais la vidéo et l'audio qu'ils voient sont des vidéos que j'ai choisies à la place). Après avoir cherché un peu, il semble que les gens aient fait ce piping vidéo (comme indiqué sur Manipuler la vidéo de développement et truquer une webcam en utilisant un périphérique de bouclage vidéo?

Comme mentionné dans votre commentaire, gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1vous permet de dupliquer video0 en video1 , et video1 est lisible par certains logiciels.

Pour que cela s'exécute au démarrage de votre ordinateur, vous pouvez suivre le UbuntuBootupHowto pour trouver quelque chose comme:

# /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

Ce script doit démarrer au démarrage de l'ordinateur et vous permet également de l'exécuter sudo service videocloner start|stop (Remarque: si mon exemple de script ne fonctionne pas, essayez de passer gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1à un script shell et de modifier la execligne pour appeler votre script shell à la place) .

Dolan Antenucci
la source
1
Je veux ajouter quelque chose à la réponse de Dolan. Vous devez également installer le v4l2loopback-dkmspackage et exécuter le v4l2loopbackmodule: sudo apt-get install v4l2loopback-dkmspuissudo modprobe v4l2loopback
Tarek Loubani
J'ai essayé cela, mais le résultat est que j'ai un / dev / video1 utilisable, mais un / dev / video0 inutilisable, donc cela ne me permet pas que deux programmes utilisent la même webcam physique. J'ai essayé de modifier la commande pour créer / dev / vidoe1 et / dev / video2 donc j'ai 2 points de terminaison, mais pas de chance.
unfa