iOS将视频录像切成一张张缩略图
本文实例为大家分享了iOS视频录像切成缩略图的具体代码,供大家参考,具体内容如下
记得导入系统库
#import<MediaPlayer/MediaPlayer.h>
代码:
/**
*获取网络视频的全部缩略图方法
*
*@paramvideoURL视频的链接地址
*
*@return视频截图
*/
+(UIImage*)ihefe_previewImageWithVideoURL:(NSURL*)videoURL
{
AVAsset*asset=[AVAssetassetWithURL:videoURL];
AVAssetImageGenerator*generator=[AVAssetImageGeneratorassetImageGeneratorWithAsset:asset];
generator.appliesPreferredTrackTransform=YES;
CGImageRefimg=[generatorcopyCGImageAtTime:CMTimeMake(1,asset.duration.timescale)actualTime:NULLerror:nil];
UIImage*image=[UIImageimageWithCGImage:img];
CGImageRelease(img);
returnimage;
}
/**
*获取本地视频的全部缩略图方法
*
*@paramfileurl视频的链接地址
*
*@return视频截图
*/
+(UIImage*)ihefe_getScreenShotImageFromVideoURL:(NSString*)fileurl
{
UIImage*shotImage;
//视频路径URL
NSURL*fileURL=[NSURLURLWithString:fileurl];
AVURLAsset*asset=[[AVURLAssetalloc]initWithURL:fileURLoptions:nil];
AVAssetImageGenerator*gen=[[AVAssetImageGeneratoralloc]initWithAsset:asset];
gen.appliesPreferredTrackTransform=YES;
CMTimetime=CMTimeMakeWithSeconds(0.0,600);
NSError*error=nil;
CMTimeactualTime;
CGImageRefimage=[gencopyCGImageAtTime:timeactualTime:&actualTimeerror:&error];
shotImage=[[UIImagealloc]initWithCGImage:image];
CGImageRelease(image);
returnshotImage;
}
/**
*获取视频的某一帧缩略图方法
*
*@paramvideoURL视频的链接地址帧时间
*@paramtime帧时间
*
*@return视频截图
*/
+(UIImage*)ihefe_thumbnailImageForVideo:(NSURL*)videoURLatTime:(NSTimeInterval)time
{
AVURLAsset*asset=[[AVURLAssetalloc]initWithURL:videoURLoptions:nil];
NSParameterAssert(asset);
AVAssetImageGenerator*assetImageGenerator=[[AVAssetImageGeneratoralloc]initWithAsset:asset];
assetImageGenerator.appliesPreferredTrackTransform=YES;
assetImageGenerator.apertureMode=AVAssetImageGeneratorApertureModeEncodedPixels;
CGImageRefthumbnailImageRef=NULL;
CFTimeIntervalthumbnailImageTime=time;
NSError*thumbnailImageGenerationError=nil;
thumbnailImageRef=[assetImageGeneratorcopyCGImageAtTime:CMTimeMake(thumbnailImageTime,60)actualTime:NULLerror:&thumbnailImageGenerationError];
if(!thumbnailImageRef)NSLog(@"thumbnailImageGenerationError%@",thumbnailImageGenerationError);
UIImage*thumbnailImage=thumbnailImageRef?[[UIImagealloc]initWithCGImage:thumbnailImageRef]:nil;
returnthumbnailImage;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。