Motion Detection - Chrome Browser Crashes or No Image

I found some code… I have adapted it slightly (following watching a Dan Shiffman Processing video) - but can’t get it to work.

Here is the page I’ve created: https://nessify.co.uk/p5js/webcam/webcam.html

In the Shiffman video online - we see an outline of the ‘mover’ on the screen (the pixels turning black) but on mine - we never see any movement. In fact we only see a blank page.

The update I made was to introduce the distNew() function instead of using the dist() function (I kept getting an advisory message saying:

p5.js says: dist() was expecting at least 4 arguments, but received only 3.

and after a while - the browser crashes and my Chromebook shuts down.)

Any suggestions?

// Variable for capture device
var video;
// Previous Frame
var prevFrame;
// How different must a pixel be to be a “motion” pixel
var threshold = 50;

function setup() {
createCanvas(300, 150);
//frameRate=(10); // just trying to slow it down!
pixelDensity(1);
video = createCapture(VIDEO);
vw=video.width;// just seeing what the values are
vh=video.height;// just seeing what the values are
video.size(width, height);
video.hide();
// Create an empty image the same size as the video
prevFrame = createImage(video.width, video.height);
}

function draw() {
//image(prevFrame, 0, 0);

loadPixels();
video.loadPixels();
prevFrame.loadPixels();

// Begin loop to walk through every pixel
for (var x = 0; x < video.width; x++) {
for (var y = 0; y < video.height; y++) {

  // Step 1, what is the location into the array
  var loc = (x + y * 200) * 4;

  // Step 2, what is the previous color
  var r1 = prevFrame.pixels[loc];
  var g1 = prevFrame.pixels[loc + 1];
  var b1 = prevFrame.pixels[loc + 2];

  // Step 3, what is the current color
  var r2 = video.pixels[loc];
  var g2 = video.pixels[loc + 1];
  var b2 = video.pixels[loc + 2];

  // Step 4, compare colors (previous vs. current)
  var diff = distNew(r1, g1, b1, r2, g2, b2);
  // Step 5, How different are the colors?
  // If the color at that pixel has changed, then there is motion at that pixel.
  if (diff > threshold*threshold) {
    // If motion, display black
    pixels[loc] = 0;
    pixels[loc+1] = 0;
    pixels[loc+2] = 0;
    pixels[loc+3] = 0;
    
  } else {
    // If not, display white
    pixels[loc] = 255;
    pixels[loc+1] = 255;
    pixels[loc+2] = 255;
    pixels[loc+3] = 255;
    
  }
}

}
updatePixels();

// Save frame for the next cycle
//if (video.canvas) {
prevFrame.copy(video, 0, 0, video.width, video.height, 0, 0, video.width, video.height); // Before we read the new frame, we always save the previous frame for comparison!
//}

}

function distNew(x1,y1,z1,x2,y2,z2){
var d= (x2-x1)(x2-x1)+(y2-y1)(y2-y1)+(z2-z1)*(z2-z1);
return d;
}