zoukankan      html  css  js  c++  java
  • 根据视频地址获取某一帧的图像

    http://blog.fuckbugs.me/category/ios/

     
    //CatchImage.h
     
    #import <Foundation/Foundation.h>
     
    @interface CatchImage : NSObject
     
    /*
     *videoURL:视频地址(本地/网络)
     *time      :第N帧
     */
    + (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time;
    @end
     
    //CatchImage.m
     
    #import "CatchImage.h"
    #import <AVFoundation/AVFoundation.h>
    #import <AVFoundation/AVAssetImageGenerator.h>
    #import <AVFoundation/AVAsset.h>
     
    @implementation CatchImage
     
    + (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time {
        
        AVURLAsset *asset = [[[AVURLAsset alloc] initWithURL:videoURL options:nil]autorelease];
        NSParameterAssert(asset);
        AVAssetImageGenerator *assetImageGenerator =[[[AVAssetImageGenerator alloc] initWithAsset:asset]autorelease];
        assetImageGenerator.appliesPreferredTrackTransform = YES;
        assetImageGenerator.apertureMode =AVAssetImageGeneratorApertureModeEncodedPixels;
        
        CGImageRef thumbnailImageRef = NULL;
        CFTimeInterval thumbnailImageTime = time;
        NSError *thumbnailImageGenerationError = nil;
        thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60)actualTime:NULL error:&thumbnailImageGenerationError];
        
        if(!thumbnailImageRef)
            NSLog(@"thumbnailImageGenerationError %@",thumbnailImageGenerationError);
        
        UIImage*thumbnailImage = thumbnailImageRef ? [[[UIImage alloc]initWithCGImage:thumbnailImageRef] autorelease] : nil;
        
        return thumbnailImage;
    }
    @end
  • 相关阅读:
    caffe中的前向传播和反向传播
    net_->ForwardBackward()的大致梳理
    caffe Solve函数
    GA求解TSP
    BP网络中的反向传播
    Python模块路径查找
    Jupyter 美化
    不重装anaconda升级base中的Python版本
    查看谷歌浏览器保存在本地的密码
    爬取腾讯视频
  • 原文地址:https://www.cnblogs.com/q403154749/p/3928118.html
Copyright © 2011-2022 走看看