2013-07-02 121 views
0

我正在應用程序中,我應該提取視頻的幀。所以在做了很多R後,我發現了以下方法。在iphone中使用哪種方法從視頻中提取幀?

1)使用iFrameExtractor,它使用ffmpeg框架https://github.com/lajos/iFrameExtractor

2)使用內置的財產的MPMoviePlayerController

MPMoviePlayerController *movie = [[MPMoviePlayerController alloc] initWithContentURL: [NSURL URLWithString:@"Video.mp4"]]; 
NSNumber t1 = 10; 
NSNumber t2 = 11; 
NSArray *TimeStamp = [NSArray arrayWithObjects:t1,t2,nil]; 
[movie requestThumbnailImagesAtTimes:TimeStamp timeOption:MPMovieTimeOptionExact]; 

3)使用AVAssetImageGenerator

所以我很困惑利用到choose.Any其中一個方法請列出的缺點告訴我正確的方法其他方法。

我有提取視頻的所有幀(其可以是最大2分鐘)

由於提前。 :)

+0

你打算如何處理圖像,他們需要全分辨率? – Wain

+0

不,我必須使用它作爲縮略圖。 –

回答

1

您將遇到一些法律問題來處理嘗試使用編譯到iOS應用程序的ffmpeg,有關更多信息,請參閱compatibility-between-the-iphone-app-store-and-the-lgpl。我以前沒有聽說過AVAssetImageGenerator,但copyCGImageAtTime方法看起來就像您想要的小縮略圖一樣,應該很容易創建UIImage並傳入返回的CGImageRef,然後將結果保存爲PNG。 requestThumbnailImagesAtTimes API可能只是調用AVAssetImageGenerator。