2010-02-15 2 views

답변

1

나는 명백한 진술하고 있지만, 여기에 설명 된대로이 같은 방법으로 달성 할 수 있어야하는 경우 :

Export every frame as image from a Movie-File (QuickTime-API)

을 또는이 아닌 상호 작용하는 방법으로이 작업을 수행해야합니까?

편집

비 대화식으로 영화 수출을 사용하여 WAVE하는 동영상 파일의 오디오 미디어를 내보내려면 다음 코드를 사용합니다

"include "QuickTimeComponents.h" 
... 
// aquire Movie 
... 
ComponentDescription desc; 
MovieExportComponent exporter; 
char filename[255]; 
FSSpec fsspec; 
int flags; 

// first we have to find a Movie Exporter capable of eporting the format we want 
desc.componentType   = MovieExportType; 
desc.componentSubType  = kQTFileTypeWave; // 'WAVE' 
desc.componentManufacturer = SoundMediaType; 
desc.componentFlags   = 0; 
desc.componentFlagsMask  = 0; 

// and create an instance of it 
exporter = OpenComponent(FindNextComponent(0, &desc)); 

// then set up a FSSpec for our output file 
sprintf(outfilename, "C:/test.wav"); 
c2pstr(outfilename); 
FSMakeFSSpec(0, 0L, (ConstStr255Param)outfilename, &fsspec); 
// if you do error handling take care to ignore fnfErr being returned 
// by FSMakeFSSpec - we're about to create a new file after all 

// then finally initiate the conversion 
flags= createMovieFileDeleteCurFile | movieToFileOnlyExport; 
ConvertMovieToFile(movie, 0, &fsspec, kQTFileTypeWave, 'TVOD', 0, 0, flags, exporter); 

CloseComponent(exporter); 

... 
// Clean up 
... 
+0

비대화 형 방식이 더 좋을 것이다. – Berschi

+0

나는이 방법을 시도하고 QuickTime도 WAV 파일을 만들지 만 크기는 84kb 뿐이므로 ... 거기에 데이터가 없다는 것을 말할 수 있습니다 ... 왜? – Berschi

+0

ConvertMovieToFile()의 반환 값을 확인하는 경우 - 값을 반환합니까? = noErr? 반환 값은이 경우 잘못되었을 때의 힌트를 줄 수 있습니다 ... – Bjoern

0

ffmpeg은 쉽게 사용할 수 있으며 상업용 소프트웨어에 필요한 경우 LGPL으로 컴파일 할 수 있습니다. 사용자 정의 가능한 후크가 필요한 경우 같은 프로젝트에서 libavcodec 및 libavformat을 사용할 수 있습니다. 죄송합니다

+0

나는 Quicktime-API가 필요하다고 말했다. – Berschi

0

에 mplayer와를

mplayer.exe -ao pcm:file=output.wav -vo null -vc dummy input.mov 
+0

나는 Quicktime-API가 필요하다고 말했다. – Berschi

관련 문제