Je voudrais essayer d'utiliser Cheese dans Google+ Hangouts et dans des configurations similaires. J'aimerais également savoir s'il est possible que la webcam soit utilisée par deux processus simultanément. Je ne l'ai pas encore essayé, mais auparavant, je pensais le demander.
Alors, est-ce possible?
Eh bien je viens d'essayer. Des résultats intéressants.
J'ai skype, du fromage, des jouets webcam et des lieux de rencontre (qui fonctionnent tous) et je les ai essayés ensemble.
Résultats:
Vous ne pouvez pas utiliser la même webcam sur 2 choses à la fois.
Fromage (travail) + Webcam Toy (ne fonctionne pas) + Skype (petit, en haut à droite. Ne fonctionne pas).
Vous pouvez utiliser 2 webcams sur 2 choses cependant. (Fromage + jouet webcam).
Hangouts (ne fonctionne pas) + fromage (travail)
Hangouts (travailler sur son propre).
Fromage cassé lorsque j'ai ouvert Hangouts en premier. Il a fait la même chose avec les autres, mais mon internet est trop lent pour télécharger chaque capture d'écran (et je doute que vous apprécieriez plus de 30 captures d'écran) ...
J'ai même essayé de créer un lien symbolique vers /dev/video0
et de l'enregistrer dans /dev
sous le nom de video2
. Ça n'a pas marché.
Je ne peux pas non plus exécuter deux processus de fromage à la fois.
Une photo de mon jardin, pour vous remonter le moral, car la réponse est non. C'est très cool en ce moment: je peux me balancer (sur la balançoire) et sauter et atterrir dans la pataugeoire. Pris avec du fromage.
Si vous deviez le faire, je vous conseillerais de le faire en plein écran et de faire 2 enregistrements d'écran. Je doute que cela fonctionnerait pour ce que vous voulez bien.
Il existe actuellement un projet sur GitHub qui peut afficher non seulement deux, mais un nombre infini (limité par la capacité du système) de périphériques vidéo provenant d'une source unique.
Le projet s'appelle v4l2loopback
. (Consultez le lien et faites défiler l'écran pour afficher le README pour obtenir des instructions.)
Vous pouvez installer _v4l2loopback
_ en clonant son GitHub et en exécutant les commandes suivantes:
_$ git clone https://github.com/umlaeute/v4l2loopback.git
$ cd v4l2loopback
$ make
$ Sudo make install
_
Pour des exemples d'utilisation de GStreamer, FFmpeg, MPlayer et Skype, consultez leur petit wiki . J'espère que vous pourrez trouver les bons réglages pour répondre à vos besoins.
Profitez de tweaking autour!
La réponse est non avec peut-être ... La bibliothèque, "Video 4 Linux" détecte si un périphérique est en cours d'utilisation et ne s'initiera pas. Pourtant; si vous souhaitez télécharger libv4l-dev et le modifier manuellement, vous pouvez modifier le code pour supprimer ce contrôle, puis le recompiler. J'imagine que cela pourrait fonctionner, mais ce serait extrêmement instable. Peut être intéressant de vérifier si.
TLDR: Tout est possible si vous êtes programmeur avec de la graisse au coude à portée de main. Vous ne voulez pas aller aussi loin? Alors non; ce n'est pas possible.
Basé sur la réponse @The Eye
J'ai d'abord installé les paquets gstreamer sur Ubuntu 18.04 https://gstreamer.freedesktop.org/documentation/installing/on-linux.html
$ git clone https://github.com/umlaeute/v4l2loopback.git
$ cd v4l2loopback
$ make
$ Sudo make install
J'ai reçu un message d'avertissement comme ici sur Ubuntu 18.04 LTS https://github.com/umlaeute/v4l2loopback/issues/139 (mais cela ne m'a pas empêché de charger le pilote v4l2loopback)
$ Sudo depmod -a
J'ai juste 1 webcam sur mon ordinateur portable/dev/video0 et je voulais obtenir 2 flux du même matériel. Basé sur https://github.com/umlaeute/v4l2loopback/blob/master/README.md
$ modprobe v4l2loopback devices=2
Il devrait maintenant y avoir /dev/video1
et /dev/video2
créés en supposant que /dev/video0
était le seul périphérique vidéo.
Maintenant, je lance ce qui suit dans une fenêtre de terminal
gst-launch-1.0 v4l2src device=/dev/video0 ! tee name=t ! queue ! v4l2sink device=/dev/video1 t. ! queue ! v4l2sink device=/dev/video2
J'ouvre 2 autres onglets
Dans le premier onglet
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
Dans le deuxième onglet
gst-launch-1.0 v4l2src device=/dev/video2 ! videoconvert ! ximagesink
Maintenant, on devrait voir 2 flux vidéo
UPDATE
Même si j'utilise le même périphérique /dev/video1
plusieurs fois, tout me donne autant de flux. exemple.
Dans le premier onglet
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
Dans le deuxième onglet
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
Dans le troisième onglet
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
me donne trois ruisseaux.