使用哪种方法从iphone中的视频中提取帧?
Posted
技术标签:
【中文标题】使用哪种方法从iphone中的视频中提取帧?【英文标题】:Which method to use to extract frames from the video in iphone? 【发布时间】:2013-07-02 05:35:46 【问题描述】:我正在开发应该提取视频帧的应用程序。所以在做了很多研发之后,我发现了以下方法。
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 分钟)
提前致谢。 :)
【问题讨论】:
你打算如何处理这些图像,它们需要全分辨率吗? 不,我必须把它用作缩略图.. 【参考方案1】:在尝试将 ffmpeg 编译到 ios 应用程序中时,您将遇到一些法律问题,请参阅compatibility-between-the-iphone-app-store-and-the-lgpl 了解更多信息。我之前没有听说过 AVAssetImageGenerator,但是 copyCGImageAtTime 方法似乎正是您想要的小缩略图,创建 UIImage 并传入返回的 CGImageRef 然后将结果保存为 PNG 应该很容易。 requestThumbnailImagesAtTimes API 可能只是调用 AVAssetImageGenerator。
【讨论】:
以上是关于使用哪种方法从iphone中的视频中提取帧?的主要内容,如果未能解决你的问题,请参考以下文章