Thanks for the reply.
I have found a way to look at each frame with ffmpeg-php. "$frame->toGDImage()".
Now I understand that bit, but like you said, comparing that image to another is difficult. If they were exact matches, then I can think of ways to do it easily, but obviously since it is a compressed video, the images are not going to be 100% the same.
Also, I want to find an image which is not the same size as the full frame. For example, if I were looking for the Facebook logo (http://www.apse.org/images/fb.png), the video might include this logo in the corner of the video as a small icon - so it needs to be able to search for any match within a frame, even if the full frame doesn't match.
Somehow, Google does this here:
Click for search results
From a video frame, we convert it to an image, and then we could cut it up into a number of pieces by cropping it. At this point, we could have a piece that matches our image, but still it will not be a 100% match. How would I compensate for compression artifacts, color-loss, size difference, etc?