您的位置:首页 > 其它

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];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: