在iphone中使用哪种方法从视频中提取帧?
问题描述:
我正在应用程序中,我应该提取视频的帧。所以在做了很多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分钟)
由于提前。 :)
答
您将遇到一些法律问题来处理尝试使用编译到iOS应用程序的ffmpeg,有关更多信息,请参阅compatibility-between-the-iphone-app-store-and-the-lgpl。我以前没有听说过AVAssetImageGenerator,但copyCGImageAtTime方法看起来就像您想要的小缩略图一样,应该很容易创建UIImage并传入返回的CGImageRef,然后将结果保存为PNG。 requestThumbnailImagesAtTimes API可能只是调用AVAssetImageGenerator。
你打算如何处理图像,他们需要全分辨率? – Wain
不,我必须使用它作为缩略图。 –