Some kind of threshold would be useful, where you compare 1 frame against the other for a change in value above say...25 and when you get it you increase a variable that keeps track of how many +25's there are which you can then use as another threshold.
Here's a simple psuedo example, you'll probably want to read the brightness value instead, this is just to illustrate the sort of thing that might be useful.
Code:
count =0;
for(int i=0; i<pixels.length; i++) {
value = abs(frame1.pixels[i] - frame2.pixels[i]);
if (value>threshold)
count++;
}
if(count>limit) new frame
else { no new frame}
search both forums for video compare as there's a lot about this sort of thing, with more elegant solutions than mine, for instance you might want to test 8*8 grids instead of just marching through the whole image.
modificationJust thinking, that by dividing the screen up and testing would be less cpu intensive, depending on what you want to do with the difference.
you could test every other 16*16 block and this would still be reliable enough for most test purposes, or every other scan line.
010101
101010
010101
101010