How can I get video capture from a virtual webcam?

Hello folks!

Can someone please test this on their system(s):

Processing code (modified one of examples):

/**
 * CustomPipeline 
 * by Andres Colubri. 
 * 
 * Create a Capture object with a pipeline description to 
 * get video from non-standard sources.
 */

// This was modified below by GLV:

import processing.video.*;

Capture cam;

void setup() {
  size(640, 480);
  
  String[] cameras = Capture.list();
  
  if (cameras.length == 0) 
    {
    println("There are no cameras available for capture.");
    exit();
    } 
  else 
    {
    println("Available cameras:");
    printArray(cameras);
    
    // The camera can be initialized directly using an 
    // element from the array returned by list():
    cam = new Capture(this, cameras[7]);   
    cam.start(); 
    }      
  }

void draw() 
  {
  if (cam.available() == true) 
    {
    cam.read();
    }
  image(cam, 0, 0, width, height);
  }

Please provide a detailed list of your hardware and software.

I am using:

  • W10
  • Processing 4.3.1
  • OBS Studio 31.0.0(64 bit)
  • GStreamer 1.24.10

I also opened an issue here:

It works here for me:

Thanks!

:)