title: Running two v4l2loopback devices with their individual properties
body: <p>Working with v4l2loopback devices I can run these two virtual devices:</p>
  
  <p>a) running the preview image from a Canon DSLR via USB through v4l2loopback into OBS:</p>
  
  <pre><code>modprobe v4l2loopback
  gphoto2 --stdout --capture-movie | gst-launch-1.0 fdsrc fd=0 ! decodebin name=dec ! queue ! videoconvert ! tee ! v4l2sink device=/dev/video0
  </code></pre>
  
  <p>Found <a href="https://stackoverflow.com/questions/12278688/canon-dslr-video-loop-back-using-v4l2loopback-and-edsdk-liveview">here</a>, and it works.</p>
  
  <p>b) Streaming the output of OBS into a browser based conferencing system, like this:</p>
  
  <pre><code>modprobe v4l2loopback devices=1 video_nr=10 card_label="OBS Cam" exclusive_caps=1
  </code></pre>
  
  <p>Found <a href="https://srcco.de/posts/using-obs-studio-with-v4l2-for-google-hangouts-meet.html" rel="nofollow noreferrer">here</a>, this also works.</p>
  
  <p>However, I need to run <strong>both</strong> a) and b) <strong>at the same time</strong>, which isn't working as expected. They are interfering, it seems they are using the same buffer the video flips back and forth between the two producers.</p>
  
  <p>What I learned and tried:
  A kernel module can only be loaded once. The v4l2loopback module can be unloaded using the command <code>modprobe -r v4l2loopback</code>. I don't know if loading it a second time will be ignored or unload the previous one.</p>
  
  <p>I've tried to load the module with <code>devices=2</code> as an <a href="https://github.com/umlaeute/v4l2loopback/wiki/Faq#q-i-need-to-use-several-loopback-devices-simultaneously-how" rel="nofollow noreferrer">option</a> as well as different video devices, but I can't find the right syntax.</p>