List of cameras available but none accessible

Hello @loom,

See:

The camera frame rate is slower than draw() and your print statement will print when it is not available.

This print statement would better reflect the condition:
println("new frame from the device is NOT available to read.");

This will help to visualize when a frame is not available and show a red background between updated cam frames:

void draw() 
  {
  background(255, 0, 0);        // Try with and without this line
  if (cam.available() == true) 
    {
    cam.read();
    image(cam, 0, 0, width, height); // Try with this here or below
    }
  //image(cam, 0, 0, width, height); // Try with this here or below 
  }

Keep in mind that image() is displaying the last frame that was captured and only updated when a new one is available.

This may be of interest:

Another related topic:

It helps to resolve problems if you share which Processing version, Video library and operating system you are using.

I am using:

  • Processing 4.2
  • Video Library for Processing 2.2.2
  • Windows 10

This shows up in the console with your code (else printl() removed):

image

:)