Baseado na resposta do @The Eye
Instalei os pacotes gstreamer pela primeira vez no 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
Recebi uma mensagem de aviso, como aqui no Ubuntu 18.04 LTS https://github.com/umlaeute/v4l2loopback/issues/139 (mas isso não me impediu de carregar o driver v4l2loopback)
$ sudo depmod -a
Eu só tenho uma webcam no meu laptop / dev / video0 e queria obter 2 fluxos do mesmo hardware. Com base em https://github.com/umlaeute/v4l2loopback/blob/master/README.md
$ modprobe v4l2loopback devices=2
Agora deveria haver /dev/video1
e /dev/video2
criado assumindo que /dev/video0
era o único dispositivo de vídeo.
Agora eu corro o seguinte em uma janela do terminal
gst-launch-1.0 v4l2src device=/dev/video0 ! tee name=t ! queue ! v4l2sink device=/dev/video1 t. ! queue ! v4l2sink device=/dev/video2
Eu abro mais 2 abas
Na primeira aba
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
Na segunda aba
gst-launch-1.0 v4l2src device=/dev/video2 ! videoconvert ! ximagesink
Agora deve-se ver 2 transmissões de vídeo
ATUALIZAR
Mesmo se eu usar o mesmo /dev/video1
dispositivo várias vezes, tudo isso me dará muitos fluxos. exemplo.
Na primeira aba
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
Na segunda aba
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
Na terceira guia
gst-launch-1.0 v4l2src device=/dev/video1 ! videoconvert ! ximagesink
me dá três fluxos.