通视频URL截取第一帧图片

为了方便直接给UIImage加个类别,以后什么时候使用可以直接调用。

#import <UIKit/UIKit.h>

 

@interface UIImage (Video)

 

/**

 通过视频URL获取视频的第一帧图片

 

 @param videoURL 视频连接

 @return 第一帧图片

 */

+ (UIImage *)interceptFirstTimeVideoPicture:(NSURL *)videoURL;

 

@end

 

-----------------------------------分割线------------------------

#import "UIImage+Video.h"

#import <AVFoundation/AVFoundation.h>

 

@implementation UIImage (Video)

 

 

+ (UIImage *)interceptFirstTimeVideoPicture:(NSURL *)videoURL{

    

    // 根据视频的URL创建AVURLAsset

    AVURLAsset *asset = [[AVURLAsset allocinitWithURL:videoURL options:nil];

   

    // 根据AVURLAsset创建AVAssetImageGenerator对象

     AVAssetImageGenerator* gen = [[AVAssetImageGenerator allocinitWithAsset: asset];

    

     gen.appliesPreferredTrackTransform = YES;

    

    // 定义获取0帧处的视频截图

    CMTime time = CMTimeMake(010);

    

    NSError *error = nil;

    

    CMTime actualTime;

    

    // 获取time处的视频截图

    CGImageRef  image = [gen  copyCGImageAtTime: time actualTime: &actualTime error:&error];

    

    // CGImageRef转换为UIImage

    UIImage *thumb = [[UIImage allocinitWithCGImage: image];

    

    CGImageRelease(image);

    

    return  thumb;

    

}

 

 

@end

 

注意点:

使用AVAssetImageGenerator这个类是要记得导入#import <AVFoundation/AVFoundation.h>头文件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值