Originally posted by: tank171
I dont even know where to start looking for that in the code. I have a pretty basic knowlege of programming.
Might I suggest taking on a little more basic of a problem then? Dealing with images is not for the faint of heart, thus you should be fairly comfortable programming before taking on this endeavor.
The first step I would recommend for a project like this is to pick a language you want to learn and stick with it. For a problem like this just about anything will do, it would probably be nice, though, to have a faster language. For that I recommend C, or C++ (probably more C though).
After you are fairly comfortable with your language (Make a calculator, a prime number finder, a Fibonacci number finder, and maybe a basic game). You should probably learn the Windows API, this is because if you are going to deal with video processing you are going to want to be able to display it on the screen. Get comfortable with GDI and GDI+, MSDN will be your friend for this. (you can draw lines, make a ball roll down the hill, whatever)
Once you have gotten to this point, then I would suggest starting to work with still images and getting them to do some of the things you want to do in your video program. First you will want to work with BMPs as they are the easiest to use with the Windows API then start to learn how to work with different compression types (PNG, JPEG, ect..). This should get you well trained in understanding how images are displayed on screen and how to manipulate them.
After this point, I would pick a Codec and dive right into it. You need to realize that there is quit a bit to videos, they aren't just a file that contains flashing pictures, they have several layers. The first you will have to deal with is the container. AVI, MKV, MP4, ect.. All have different nuances and ways to deal with videos. You will need to learn how to extract video from them.
Once you have dealt with the container, then working with the actual video is in order. I would start out using raw video. It will be, by far, the easiest to deal with. The next will probably be Huffyuv, and finally something like MPEG2, or MPEG4. You need to realize that most of these codecs don't use an RGB color space, instead they commonly use a YV12 color space. You will need to learn how to convert between the two.
I hope this helped. there really isn't any one tutorial that will teach you how to deal with videos in a day because it is fairly complicated. But these areas I have pointed out should have a fair amount of tutorials available to them. Hopefully you will be able to make it from there.