如何获取从相机胶卷或相机本身导入的视频的缩略图?
以前曾经问过,并且已经回答了。但是,答案对我来说很糟糕。
此帖子iphone sdk > 3.0 . Video Thumbnail?有一些选项可归结为:
真的没有别的办法吗?这对SDK来说似乎是一个巨大的疏忽。我的意思是视频选择器中有缩略图,所以Apple必须做某些东西来生成那些,但不允许我们这样做?
答案 0 :(得分:12)
-(void)testGenerateThumbNailDataWithVideo {
NSString *path = [[NSBundle mainBundle] pathForResource:@"IMG_0106" ofType:@"MOV"];
NSURL *url = [NSURL fileURLWithPath:path];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:url options:nil];
AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset];
NSError *err = NULL;
CMTime time = CMTimeMake(1, 60);
CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:NULL error:&err];
[generate release];
NSLog(@"err==%@, imageRef==%@", err, imgRef);
UIImage *currentImg = [[UIImage alloc] initWithCGImage:imgRef];
static BOOL flag = YES;
if (flag) {
NSData *tmpData = UIImageJPEGRepresentation(currentImg, 0.8);
NSString *path = [NSString stringWithFormat:@"%@thumbNail.png", NSTemporaryDirectory()];
BOOL ret = [tmpData writeToFile:path atomically:YES];
NSLog(@"write to path=%@, flag=%d", path, ret);
flag = NO;
}
[currentImg release];
}
答案 1 :(得分:3)
我发现的最佳方法... MPMoviePlayerController thumbnailImageAtTime:timeOption
没关系......请参阅下面的第一条评论。这就是答案。
答案 2 :(得分:1)
我们使用ffmpeg,您可以浏览我们的网站以获取有关如何操作的提示,最后我想提出一个教程。
但是现在我更专注于让ffmpeg去看电影。 了解一旦拥有该代码,生成缩略图的代码只是其中的一部分。 http://sol3.typepad.com/tagalong_developer_journa/
这里的教程帮助了我们,也许是大多数使用ffmpeg开发的开发人员。 dranger.com/ffmpeg/“
最后,
Apple可能在使用摄像机生成的缩略图时可能没有任何问题,我认为它不在私人文件夹中,但只是由相机创建而不是从图像选择器中挑选的视频。< / p>