I am working in C# and have the need to capture individual frames of video files. As quickly as possible (faster than real-time), I wish to seek to a specific frame number and capture every nth frame to a graphic file format such as BMP or JPEG. It is highly desired that the frame that is captured be predictable and repeatable, i.e. do not drop frames.
I have some experience with DirectShow, but do not know if this technology is the best to use for this problem in a modern Windows .NET environment. Ideally, I would like to find a .NET or COM-based library to abstract away as much as possible. I have no need to actually display the video file on screen, and in fact would prefer not to have a Windows user interface for video playback.
Does anyone have suggestions for technologies or specific products to look into? They would need to be compatible with MPEG-2 and MPEG-4 based video files, including DivX. QuickTime support would be a nice bonus.