上传视频时截图作为封面上传服务器

公司项目里有一个视频上传的功能,但是上传成功后没有封面,后来百度了一下找到了这个方法截取视频的某一帧作为封面,可以自己设置。剩下的就是普通的图片上传了,很简单的,以下就是方法:

-(UIImage *)assetGetThumImage:(CGFloat)second videoUrl:(NSURL *)videoUrl
{
    AVURLAsset *urlSet = [AVURLAsset assetWithURL:videoUrl];
    AVAssetImageGenerator *imageGenerator =           [AVAssetImageGenerator assetImageGeneratorWithAsset:urlSet];
    NSError *error = nil;
    CMTime time = CMTimeMake(second,1);//缩略图创建时间 CMTime是表示电影时间信息的结构体,第一个参数表示是视频第几秒,第二个参数表示每秒帧数.(如果要获得某一秒的第几帧可以使用CMTimeMake方法)
    CMTime actucalTime; //缩略图实际生成的时间
    CGImageRef cgImage = [imageGenerator copyCGImageAtTime:time actualTime:&actucalTime error:&error];
    if (error) {

    }
    CMTimeShow(actucalTime);
    UIImage *image = [UIImage imageWithCGImage:cgImage];
    //UIImageWriteToSavedPhotosAlbum(image,nil, nil,nil);//将图片保存在相册里,如果需要的话就可以把注释去掉
    CGImageRelease(cgImage);
    return image;  
}

你可能感兴趣的:(上传视频时截图作为封面上传服务器)