Существует очень простой способ получить кадры из видео с помощью MPMoviePlayerController
. Следующий код получает изображение в time:5
MPMoviePlayerController *movie = [[MPMoviePlayerController alloc]
initWithContentURL:[NSURL URLWithString:@"someVideo.mp4"]];
UIImage *singleFrameImage = [movie thumbnailImageAtTime:5
timeOption:MPMovieTimeOptionExact];
Для получения нескольких изображений из видео, после реализации может быть использовано.
1) Зарегистрируйтесь для уведомления, чтобы получать изображение при каждом запросе.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MPMoviePlayerThumbnailImageRequestDidFinishNotification:) name:MPMoviePlayerThumbnailImageRequestDidFinishNotification object:moviePlayer];
2) Инициализировать MPMoviePlayerController
с изображениями, чтобы получить требуемое время в.
MPMoviePlayerController *movie = [[MPMoviePlayerController alloc]
initWithContentURL [NSURL URLWithString:@"someVideo.mp4"]];
NSNumber time1 = 15;
NSNumber time2 = 16;
NSNumber time3 = 17;
NSArray *times = [NSArray arrayWithObjects:time1,time2,time3,nil];
[movie requestThumbnailImagesAtTimes:times timeOption:MPMovieTimeOptionExact];
3) Селектор получить изображение
-(void)MPMoviePlayerThumbnailImageRequestDidFinishNotification: (NSNotification*)note
{
NSDictionary * userInfo = [note userInfo];
UIImage *image = (UIImage *)[userInfo objectForKey:MPMoviePlayerThumbnailImageKey];
}
Вы хотите создать эскиз этого видео или нескольких изображений из видео? –
Несколько изображений видео – remyr3my