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>头文件。

  • 相关阅读:
    对Request.Url片段解析
    Php学习之路四
    解析bmp图像(某年全国软件大赛题目)
    工信部软件大赛(解析bmp)
    Php学习之路三(字符串操作)
    C++二维数组做形参
    php学习之路五(表单验证)
    PHP(学习之路一)
    PHp学习之路二(数组练习)
    解析网页(KMP算法实现部分)
  • 原文地址:https://www.cnblogs.com/huanghaipo/p/7061459.html
Copyright © 2011-2022 走看看