FFMPEG获取视频截图和时长,需要导入kxmovie库
2014-04-27 11:29
281 查看
#pragma mark - 获取视屏缩略图和时长 #import "KxMovieDecoder.h" -(void)getVideoDuartionAndThumb:(NSString *)videoURL { //decoder = [[KxMovieDecoder alloc] init]; [decoder openFile:videoURL error:nil]; NSArray *ar = [decoder decodeFrames:1.0f]; KxMovieFrame *frame; for (KxMovieFrame *frames in ar) { if (frames.type == KxMovieFrameTypeVideo) { frame = ar.lastObject; break; } } KxVideoFrameRGB *rgbFrame = (KxVideoFrameRGB *)frame; UIImage *imageKX = [rgbFrame asImage]; float videoDuartion = decoder.duration; [decoder closeFile]; NSData *imageData = UIImageJPEGRepresentation(imageKX, 0.2f); NSString *dic = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0]; //创建视频文件夹 NSString *str = [dic stringByAppendingPathComponent:@"thumbs"]; str = [str stringByAppendingString:[NSString stringWithFormat:@"/%@.jpg",[[videoURL lastPathComponent] stringByDeletingPathExtension]]]; NSFileManager *fileManager = [NSFileManager defaultManager]; BOOL existed = [fileManager fileExistsAtPath:str]; if (!existed) { [imageData writeToFile:str atomically:NO]; } NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:str,@"image",[NSNumber numberWithFloat:videoDuartion],@"duration",nil]; [dictArray addObject:dict]; }
相关文章推荐
- rownum与row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
- 串口设置
- Using MSYS with MinGW
- Android布局中的常用属性小结
- 离散数学:验证P,Q两个逻辑表达式是否逻辑等价(C语言实现)
- 数据库的读写分离
- Quartz 框架 教程(中文版)2.2.x 之第八课 调度监听器
- 对网页游戏《卧龙吟》的分析3-----预登陆flash的源代码分析
- 工作6年后的我
- <java——基础(一)>
- 项目延期原因及应对之道
- 2014 华工校赛总结
- Ubuntu下实现gedit支持nesC语法高亮
- UVA 1530 - Floating Point Numbers(数论)
- 变量交换
- 一个例子明白 javascript 中 for 与 for in 的区别
- 在sql里面String转int(相互)~~~~要详细描述
- Maven安装及配置 (windows)
- Maven安装及配置 (windows)
- linux中查询dns示例