IOS批量截取视频截图 UIImage mp4 IOS Video
2014-10-09 09:33
211 查看
IOS批量截取视频截图
//生成截图
NSString *path = [NSHomeDirectory() stringByAppendingString:@"/Documents"];
NSLog(@"path %@", path);
for (int i =
0; i<[mItems count]; i++) {
NSMutableDictionary *info = (NSMutableDictionary *)mItems[i]; //视频信息
NSString *mediaPath;
mediaPath = [[NSBundle mainBundle] pathForResource:[info objectForKey:@"mediaName"]
ofType:[info objectForKey:@"type"]];
UIImage *image = [self getImage:mediaPath];
[UIImageJPEGRepresentation(image, 1) writeToFile:[path stringByAppendingPathComponent:[NSString stringWithFormat:@"file%d.jpg", i]] atomically:YES];
}
// 获取指定位置的视频的截屏
-(UIImage *)getImage:(NSString *)videoURL{
AVURLAsset *asset = [[AVURLAsset
alloc] initWithURL:[NSURL
fileURLWithPath:videoURL] options:nil];
AVAssetImageGenerator *gen = [[AVAssetImageGenerator
alloc] initWithAsset:asset];
gen.appliesPreferredTrackTransform =
YES;
CMTime time =
CMTimeMakeWithSeconds(20.5,
600); // 参数( 截取的秒数, 视频每秒多少帧)
NSError *error = nil;
CMTime actualTime;
CGImageRef image = [gen
copyCGImageAtTime:time actualTime:&actualTime
error:&error];
UIImage *thumb = [[UIImage
alloc] initWithCGImage:image];
CGImageRelease(image);
return thumb;
}
//生成截图
NSString *path = [NSHomeDirectory() stringByAppendingString:@"/Documents"];
NSLog(@"path %@", path);
for (int i =
0; i<[mItems count]; i++) {
NSMutableDictionary *info = (NSMutableDictionary *)mItems[i]; //视频信息
NSString *mediaPath;
mediaPath = [[NSBundle mainBundle] pathForResource:[info objectForKey:@"mediaName"]
ofType:[info objectForKey:@"type"]];
UIImage *image = [self getImage:mediaPath];
[UIImageJPEGRepresentation(image, 1) writeToFile:[path stringByAppendingPathComponent:[NSString stringWithFormat:@"file%d.jpg", i]] atomically:YES];
}
// 获取指定位置的视频的截屏
-(UIImage *)getImage:(NSString *)videoURL{
AVURLAsset *asset = [[AVURLAsset
alloc] initWithURL:[NSURL
fileURLWithPath:videoURL] options:nil];
AVAssetImageGenerator *gen = [[AVAssetImageGenerator
alloc] initWithAsset:asset];
gen.appliesPreferredTrackTransform =
YES;
CMTime time =
CMTimeMakeWithSeconds(20.5,
600); // 参数( 截取的秒数, 视频每秒多少帧)
NSError *error = nil;
CMTime actualTime;
CGImageRef image = [gen
copyCGImageAtTime:time actualTime:&actualTime
error:&error];
UIImage *thumb = [[UIImage
alloc] initWithCGImage:image];
CGImageRelease(image);
return thumb;
}
相关文章推荐
- IOS批量截取视频截图 UIImage mp4 IOS Video
- iOS截取视频预览图,截图方向错误的解决
- 写了个html5播放视频的video控件,只支持mp4和3gp(android和ios默认支持的格式就写了这个)
- ios截取视频缩略图
- UIImage截图 截取指定大小图片
- html5 Video控件视频播放,电脑和手机上都能兼容。(mp4格式 电脑和android、ios都能播放)
- ios 关于UIImageView的显示问题——居中显示或者截取图片的中间部分显示
- iOS 截图 截取屏幕
- 使用ffmpeg截取视频(包括截图)
- iOS截取屏幕(屏幕截图)
- iOS截取视频某一帧图片(关键帧,AVAssetImageGenerator)
- iOS开发截取视频任意帧图片——MPMoviePlayerController
- 验证是否支持html5的Video标签及MP4视频播放
- [iOS代码] 视图view如何截图 生成UIImage图片
- [Gstreamer][Bash Script]转换任意视频到ios支持的mp4文件格式
- 一个html5播放视频的video控件只支持android的默认格式mp4和3gp
- 【lizhi125】免费且实用的软件截图+屏幕视频录像工具——Free Screen Video Recorder
- 验证是否支持html5的Video标签及MP4视频播放
- iOS 使用 AVCaptureVideoDataOutputSampleBufferDelegate获取实时拍照的视频流
- iOS截图 ,图片合成,画纯色UIimage