Exportar cada fotograma como imagen desde un archivo de película (QuickTime-API)
Quiero abrir un archivo de película existente y exportar cada fotograma de este archivo a una imagen como JPEG o TIFF. Llegué tan lejos hasta ahora:
int main(int argc, char* argv[]) {
char filename[255]; // Filename to ping.
OSErr e; // Error return.
FSSpec filespec; // QT file specification
short filemovie; // QT movie handle.
Movie movie; // QT movie "object".
InitializeQTML(0);
EnterMovies();
// Because of QT's Mac origin, must convert C-string filename
// to Pascal counted string, then use that to make a filespec.
c2pstr(filename);
FSMakeFSSpec(0, 0L, (ConstStr255Param)filename, &filespec);
OpenMovieFile(&filespec, &filemovie, fsRdPerm);
NewMovieFromFile(&movie, filemovie, nil, nil, newMovieActive, nil);
...
Hasta ahora funciona bien (he probado conTimeValue movietime = GetMovieDuration(movie);
e imprimirlo), pero ahora quiero obtener todos los fotogramas de la película y exportarlos a un archivo (primero, luego solo quiero mantener los datos en la memoria para trabajar con ellos, pero debo saber si realmente funciona , por lo que exportar a un archivo de imagen es mejor por ahora).
¿Cómo puedo hacer eso? ¿Necesito un GWorld o un PixMap? ¿Cómo obtengo un GWorld / PixMap de un archivo de película, especialmente cada fotograma?
editar: Mi plataforma es WinXP