Basé sur la réponse @The Eye
J'ai d'abord installé les packages 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
Je n'ai qu'une webcam sur mon ordinateur portable / dev / video0 et je voulais obtenir 2 flux à partir 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éé en supposant que /dev/video0
c'était le seul appareil 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 onglets de plus
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
MISE À JOUR
Même si j'utilise le même /dev/video1
appareil plusieurs fois, cela 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 flux.