美文网首页视频开发项目开发技巧你可不能输!
iOS获取本地视频和网络URL视频的缩略图方法

iOS获取本地视频和网络URL视频的缩略图方法

作者: Lonely__M | 来源:发表于2015-06-16 11:24 被阅读3876次

首先大家先添加AVFoundation和CoreMedia.framework两个框架

NSString *path = @"www.51ios.net/本地路径"
MPMoviePlayerController *51iosMPMovie = [[MPMoviePlayerController alloc]
initWithContentURL:[NSURL fileURLWithPath:path]];
 UIImage *img = [51iosMPMovie thumbnailImageAtTime:0.0
timeOption:MPMovieTimeOptionNearestKeyFrame];
 
此处的img就是时间在0.0的缩略图
  • 第二种获取网络视频的缩略图
NSString *videoURL = @"http://www.51ios.net/archives/784"
 
MPMoviePlayerController *51iosMPMovie = [[MPMoviePlayerController alloc]initWithContentURL:videoURL]; 51iosMPMovie.shouldAutoplay = NO;
UIImage *thumbnail = [51iosMPMovie thumbnailImageAtTime:time timeOption:MPMovieTimeOptionNearestKeyFrame];
 
此处的thumbnail就是网络视频的缩略图
  • 第三站方法用AVFoundation实现
+(UIImage *)getThumbnailImage:(NSString *)videoURL
 
{
 
 AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL fileURLWithPath:videoURL] options:nil];
 
 AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset];
 
gen.appliesPreferredTrackTransform = YES;
 
 CMTime time = CMTimeMakeWithSeconds(0.0, 600);
 
 NSError *error = nil;
 
 CMTime actualTime;
 
 CGImageRef image = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error];
 
 UIImage *thumb = [[UIImage alloc] initWithCGImage:image];
 
 CGImageRelease(image);
 
 return thumb;
}

注:文章转载自博客

相关文章

网友评论

  • puppySweet:获取网络的缩略图不用播放视频么……请问
  • puppySweet:谁做过视频裁剪。我现在拍的时候分辨率是1280x720,16:9 。然后用边长为屏幕宽的正方形的拍摄画面给用户 ,拍完裁剪才成720x720 。这样裁剪出来的分辨率也是720x720 ,并且裁剪出来的画面和用户拍时候的画面一样是吧。
  • Shelin:正好最近在做视频相关

本文标题:iOS获取本地视频和网络URL视频的缩略图方法

本文链接:https://www.haomeiwen.com/subject/ukhsqttx.html