我想將iOS6中的所有視頻幀都轉換爲NSArray
。 我使用此代碼:獲取視頻IOS的所有幀6
-(void) getAllImagesFromVideo
{
imagesArray = [[NSMutableArray alloc] init];
times = [[NSMutableArray alloc] init];
for (Float64 i = 0; i < 15; i += 0.033) // For 25 fps in 15 sec of Video
{
CMTime time = CMTimeMakeWithSeconds(i, 60);
[times addObject:[NSValue valueWithCMTime:time]];
}
[imageGenerator generateCGImagesAsynchronouslyForTimes:times completionHandler:^(CMTime requestedTime, CGImageRef image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error) {
if (result == AVAssetImageGeneratorSucceeded)
{
UIImage *generatedImage = [[UIImage alloc] initWithCGImage:image];
[imagesArray addObject:generatedImage];
}
}];
}
在iPad上模擬器的延遲是90至100秒,iPad設備,收到存儲器警告和最後崩潰上。
任何想法,解決方案?使用另一個更底層的框架/庫? C++? 對我來說非常重要!幫我! :)
謝謝!!!
您可以使用[ ffmpeg框架](http://www.ffmpeg.org/)來提取幀的視頻 –
是的,我知道,但我不知道如何。任何幫助?謝謝! :) –
我不認爲iPhone內存可以與內存中的400張圖片共存,我建議將圖片保存到文檔目錄中。如果你仍然對一個例子感興趣,讓我知道,我會寫一個答案 – ekeren