Basado en la respuesta de @The Eye
Primero instalé paquetes gstreamer en 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
Recibí un mensaje de advertencia como aquí en Ubuntu 18.04 LTS https://github.com/umlaeute/v4l2loopback/issues/139 (pero no me impidió cargar el controlador v4l2loopback)
$ sudo depmod -a
Solo tengo 1 cámara web en mi computadora portátil / dev / video0 y quería obtener 2 transmisiones del mismo hardware. Basado en https://github.com/umlaeute/v4l2loopback/blob/master/README.md
$ modprobe v4l2loopback devices=2
Ahora debería haber /dev/video1
y /dev/video2
creado asumiendo que /dev/video0
era el único dispositivo de video.
Ahora ejecuto lo siguiente en una ventana de terminal
gst-launch-1.0 v4l2src device=/dev/video0 ! tee name=t ! queue ! v4l2sink device=/dev/video1 t. ! queue ! v4l2sink device=/dev/video2
Abro 2 pestañas más
En la primera pestaña
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
En la segunda pestaña
gst-launch-1.0 v4l2src device=/dev/video2 ! videoconvert ! ximagesink
Ahora uno debería ver 2 transmisiones de video
ACTUALIZAR
Incluso si uso el mismo /dev/video1
dispositivo varias veces, todo me da tanta transmisión. ejemplo.
En la primera pestaña
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
En la segunda pestaña
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
En la tercera pestaña
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
me da tres corrientes