I am a big fan of aforge
AVIReader reader2 = new AVIReader();
System.Drawing.Bitmap[] readArray = new System.Drawing.Bitmap[10000];
reader3.Open(@"E:\myvideo.avi");
int count = reader3.Length - 1;
for (int i = 0; i < reader3.Length - 1; i++)
{
readArray[i] = reader3.GetNextFrame();
pictureBox2.Image = (System.Drawing.Image)readArray[i];
pictureBox2.Refresh();
}
totalFrames = reader3.Length - 1;
reader.Close();