使用哪种方法从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中的视频中提取帧?的主要内容,如果未能解决你的问题,请参考以下文章

从 iPhone 中的视频帧中获取图像

手机录像怎么提取一帧照片

如何从视频中提取某一帧的图像

如何将视频的每一帧提取出来

如何使用 Tesseract OCR 从视频帧中提取数字?

ActionScript:从视频/NetStream 中提取/修改帧