ios根据视频地址获取某一帧的图像
2014-12-10 17:30
309 查看
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
//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
相关文章推荐
- ios根据视频地址获取某一帧的图像
- 根据视频地址获取某一帧的图像
- iOS 获取视频的任意一帧图像
- iOS 获取视频某一帧图像
- [zt]OpenCV如何获取视频当前的一帧图像
- (腾讯视频)iOS开发之视频根据url获取第一帧图片,获取任一帧图片
- ios获取视频某一帧
- iOS 获取视频的任意一帧
- OpenCV如何获取视频当前的一帧图像
- iOS 播放视频进行滑动获取每一帧图片并且通过UIImageView展示出来
- Android根据地址获取视频的第一帧
- iOS 视频格式获取第一帧图像
- iOS 获取视频的任意一帧
- iOS开发之视频根据url获取第一帧图片,获取任一帧图片
- iOS 获取视频的任意一帧
- OpenCV如何获取视频当前的一帧图像
- iOS 获取视频的任意一帧
- 实习入职第十三天:根据url获取视频的第一帧图像
- 《随堂小记》 OPENCV+获取视频中某一帧的图像并保存
- OpenCV之从视频获取每一帧图像