您的位置:首页 > 移动开发 > IOS开发

ios取出视频的每一帧图片(关键帧,AVAssetImageGenerator)

2014-11-06 18:01 537 查看
[html] view
plaincopy

[mImageGenerator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:CMTimeMakeWithSeconds(time, NSEC_PER_SEC)]] completionHandler:  

    ^(CMTime requestedTime, CGImageRef image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error)  

    {  

   

        NSLog(@"actual got image at time:%f", CMTimeGetSeconds(actualTime));  

        if (image)  

        {  

            [CATransaction begin];  

            [CATransaction setDisableActions:YES];  

            [layer setContents:(id)image];  

   

            //UIImage *img = [UIImage imageWithCGImage:image];  

            //UIImageWriteToSavedPhotosAlbum(img, self, nil, nil);  

   

            [CATransaction commit];  

        }  

    }];  

   

如何取得第一帧

AVFoundationframework 

 CoreMediaframework

[html] view
plaincopy

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

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

    NSParameterAssert(asset);  

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

    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] autorelease] : nil;  

  

    return thumbnailImage;  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  视频帧 IOS视频