zoukankan      html  css  js  c++  java
  • 通视频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 alloc] initWithURL:videoURL options:nil];

       

        // 根据AVURLAsset创建AVAssetImageGenerator对象

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

        

         gen.appliesPreferredTrackTransform = YES;

        

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

        CMTime time = CMTimeMake(0, 10);

        

        NSError *error = nil;

        

        CMTime actualTime;

        

        // 获取time处的视频截图

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

        

        // CGImageRef转换为UIImage

        UIImage *thumb = [[UIImage alloc] initWithCGImage: image];

        

        CGImageRelease(image);

        

        return  thumb;

        

    }

     

     

    @end

     

    注意点:

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

  • 相关阅读:
    22 element-ui之Form表单el-form标签
    21 Vue的section组件
    21 Vue2.0 的transition组件
    Spring注解之组件注册
    Mybatis自动提交失败:Setting autocommit to false on JDBC Connection
    用STM32定时器测量信号频率——测频法和测周法[原创cnblogs.com/helesheng]
    mac ssh 总是自动断开
    cmake 简易教程
    mac 安装 mongodb
    新手程序员一般有如下特点
  • 原文地址:https://www.cnblogs.com/huanghaipo/p/7061459.html
Copyright © 2011-2022 走看看