0

我正在开发应该提取视频帧的应用程序。所以在做了很多研发之后,我发现了以下方法。

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

所以我很困惑使用哪种方法来选择。请任何人通过列出其他方法的缺点告诉我正确的方法。

我已经提取了所有的视频帧(最多可以是 2 分钟)

提前致谢。:)

4

1 回答 1

1

尝试使用编译到 iOS 应用程序中的 ffmpeg 时,您将遇到一些法律问题,请参阅compatibility-between-the-iphone-app-store-and-the-lgpl了解更多信息。我之前没有听说过 AVAssetImageGenerator,但是 copyCGImageAtTime 方法似乎正是您想要的小缩略图,创建 UIImage 并传入返回的 CGImageRef 然后将结果保存为 PNG 应该很容易。requestThumbnailImagesAtTimes API 可能只是调用 AVAssetImageGenerator 。

于 2013-07-06T06:12:28.230 回答