获取缩略图的视频快照

时间:2012-02-05 00:45:12

标签: ios xcode video avfoundation

我正在使用Apple提供的AVCam代码从iPhone相机录制视频。

录制视频后,会将其保存到照片库中。

然后加载一个新视图,这里我需要有一个视频的图像缩略图。

我有一条视频路径:

file://localhost/private/var/mobile/Applications/ED45DEFC-ABF9-4A5E-9102-21680CC1448E/tmp/output.mov

我似乎无法想象如何将视频的第一帧用作缩略图。

非常感谢任何帮助,感谢您的时间。


修改

我最终使用了这个,我不确定为什么它会将图像侧向返回?

- (UIImage*)loadImage {

    AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:vidURL options:nil];
    AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset];
    NSError *err = NULL;
    CMTime time = CMTimeMake(1, 60);
    CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:NULL error:&err];
    NSLog(@"err==%@, imageRef==%@", err, imgRef);

    return [[UIImage alloc] initWithCGImage:imgRef];

}

1 个答案:

答案 0 :(得分:45)

修复缩略图方向集appliesPreferredTrackTransform设置为YES实例中的AVAssetImageGenerator。如果您添加自己的视频合成,则需要包含正确的转换以根据需要旋转视频。

generate.appliesPreferredTrackTransform = YES;

请记住使用CGImageRelease释放获得的图像参考。

要请求多个缩略图,最好与generateCGImagesAsynchronouslyForTimes:completionHandler:异步进行。