USB camera not recognized by Processing

Hey guys! I’m a newbie in processing and am trying to do a project based on some tutorials on youtube about “rasterizing” and image. After doing that i wanted to change form image to video. The problem I’m having is that my camera(USB connected camera) seems to not work with the program. Also I tried the same exact code with a built-in camera on a laptop and it kind of worked(all i god is a black screen but at least the camera turned on) Is this a software problem or a hardware one as i know my camera is not really that great.

Also the final goal for the project is to control the tile number, making up the picture, by mapping the brightness levels of the camera (ie getting closer or further away from the camera)

Sorry for the long post, here is my code:

import processing.video.*;
Capture video;

//PImage img;
float scaleVar = 1;

void setup() {
  size(600, 600, P3D);
  //println(Capture.list() );
  video = new Capture(this,0 ,0,15);
  video.start();
  
  printArray(Capture.list());
  
   
  
  //img = loadImage("2.jpg");
  //img = loadImage("BEATH.jpg");
  //img.resize(600, 0);
}

void captureEvent(Capture video){
  video.read();
}

void draw(){
  background(#f1f1f1);
  
  translate(width/2, height/2);
  
  scaleVar = map(mouseY, 0, width, 0.1, 5);
  scale(scaleVar);
  fill(0);
  noStroke();
  sphereDetail(3);
  
  
  
  float tiles = 100;
  float tileSize = width/tiles;
  
  push();
  //translate(width/2, height/2);
  //rotateY(radians(frameCount/2));
  //rotateX(radians(frameCount/2));
  
  for (int x = 0; x < tiles; x++) {
    for (int y = 0; y < tiles; y++) {
      
      color c = video.get(int(x*tileSize), int (y*tileSize));
      float b = map(brightness(c), 0,255,1,0);
      
      float z = map(b,0,1, 70,-70);
      
      push();
      translate(x*tileSize - width/2, y*tileSize - height/2, z);
      sphere(tileSize*b*0.7);
      pop();
      
    }
  }
  
  pop();
}

Try just this and connect and disconnect you camera from usb to see if there is a difference :

import processing.video.*;
Capture video;
void setup() {
   size(600, 600, P3D);
   println(Capture.list());
}

@matheplica thank you!

A weird thing is happening now. The program recognizes the camera only when I am already using it through another application (like zoom or discord and when I dont use these applications it crashes the program) , but even tho’ I get this error massage that from what i see on the screen, the camera is not receiving information. Any idea how to fix this?

BaseSrc: [ksvideosrc0] : Internal data stream error.