美文网首页关爱小白
ios 获取视频帧图片/保存视频到本地

ios 获取视频帧图片/保存视频到本地

作者: thinkwick | 来源:发表于2017-11-03 15:29 被阅读40次

获取视频帧图片

- (UIImage*)thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time {

AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil];

NSParameterAssert(asset);

AVAssetImageGenerator *assetImageGenerator =[[AVAssetImageGenerator alloc] initWithAsset:asset];

assetImageGenerator.appliesPreferredTrackTransform = YES;

assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;

CGImageRef thumbnailImageRef = NULL;

CFTimeInterval thumbnailImageTime = time;

NSError *thumbnailImageGenerationError = nil;

thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60)actualTime:NULL error:&thumbnailImageGenerationError];

if(!thumbnailImageRef)

NSLog(@"thumbnailImageGenerationError %@",thumbnailImageGenerationError);

UIImage*thumbnailImage = thumbnailImageRef ? [[UIImage alloc]initWithCGImage: thumbnailImageRef] : nil;

return thumbnailImage;

}

保存视频到本地

- (void)saveVideo:(NSString *)videoPath{

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(videoPath)) {

//保存相册核心代码

UISaveVideoAtPathToSavedPhotosAlbum(videoPath, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);

}

});

}

#pragma mark 视频保存完毕的回调

- (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInf{

if (error) {

[SVProgressHUD showErrorWithStatus:@"保存失败!"];

[SVProgressHUD dismiss];

NSLog(@"保存视频过程中发生错误,错误信息:%@",error.localizedDescription);

}else{

[SVProgressHUD dismiss];

[SVProgressHUD showSuccessWithStatus:@"保存成功!"];

int64_t delayInSeconds = 1.0;      // 延迟的时间

/*

*@parameter 1,时间参照,从此刻开始计时

*@parameter 2,延时多久,此处为秒级,还有纳秒等。10ull * NSEC_PER_MSEC

*/

dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);

dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

// do something

[SVProgressHUD dismiss];

});

}

}

相关文章

网友评论

    本文标题:ios 获取视频帧图片/保存视频到本地

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