はじめに、映画のエクスポーターに関するこの記事は、あなたが始めるのにかなり役立つはずです:
http://www.mactech.com/articles/mactech/Vol.16/16.05/May00QTToolkit/index.html
MacTechはMacリソースですが、説明されているすべてのAPI関数はQuickTime forWindowsSDKでも使用できるはずです。
時間を見つけたらすぐに、ここで参考としてサンプルコードを一緒に叩きます。
編集
追加情報については、この本の抜粋を参照してください。
QuickTimeToolkit-基本的な映画の再生とメディアタイプ@Googleブックス
編集2-ハイレベルなアプローチ:映画の輸出業者
QuickTimeムービーからすべてのビデオフレームを抽出し、QuickTime APIでサポートされている別の形式に変換するだけの場合は、MovieExporterを使用している場合は低レベルのアクションを実行する必要はありません。
以下のサンプルコードでは、プログラムで呼び出されるムービーエクスポートダイアログを使用して、QuickTimeムービーからすべてのビデオフレームを抽出し、一連のJPEGファイルに変換できます。
ダイアログの[エクスポート]コンボボックスで[動画から画像シーケンス]を選択し、[オプション]をクリックして目的の画像形式を選択するだけです。
注1:これを非対話的に行う必要がある場合は、お知らせください。
注2:わかりやすくするためにエラー処理は省略されています
#include "Movies.h"
#include "QTML.h"
#pragma comment (lib, "QTMLClient.lib")
..。
int flags = createMovieFileDeleteCurFile
| showUserSettingsDialog
| movieToFileOnlyExport;
ItemCount movie_prop_count = 0;
CFStringRef cfpath = 0;
Boolean bool_true = true;
QTNewMoviePropertyElement movie_props[ 2 ];
Movie movie;
// initialize QuickTime API
InitializeQTML( 0 );
EnterMovies();
// set up Core Foundation string for source path (argv[ 1 ]) contains the full path to the MOV file to convert
cfpath = CFStringCreateWithCString( 0, argv[ 1 ], kCFStringEncodingASCII );
movie_props[movie_prop_count].propClass = kQTPropertyClass_DataLocation;
movie_props[movie_prop_count].propID = kQTDataLocationPropertyID_CFStringNativePath;
movie_props[movie_prop_count].propValueSize = sizeof(cfpath);
movie_props[movie_prop_count].propValueAddress = (void*)&cfpath;
movie_props[movie_prop_count].propStatus = 0;
++movie_prop_count;
// make Movie active
movie_props[movie_prop_count].propClass = kQTPropertyClass_NewMovieProperty;
movie_props[movie_prop_count].propID = kQTNewMoviePropertyID_Active;
movie_props[movie_prop_count].propValueSize = sizeof(bool_true);
movie_props[movie_prop_count].propValueAddress = &bool_true;
movie_props[movie_prop_count].propStatus = 0;
++movie_prop_count;
// aquire Movie for our Movie file
NewMovieFromProperties( movie_prop_count, movie_props, 0, 0, &movie );
// invoke conversion dialog
ConvertMovieToFile( movie, 0, 0, 0, 'TVOD', 0, 0, flags, 0 );
// clean up
DisposeMovie( movie );
CFRelease( cfpath );
ExitMovies();
TerminateQTML();
..。