0
我有服务器应用程序,它服务于服务器上的视频信息。其中一个请求是URL:PORT/video /:id /:time ...我分析并获取视频文件,准备时间并询问方法以生成缩略图。它在第一个5分钟内工作非常快(在200ms下生成图像),然后图像生成过程突然需要10秒钟...[AVFoundation]:稍后生成缩略图生成
你知道为什么吗?使用的代码:
-(NSImage *)thumbnailAt: (CMTime) time
withSize: (NSSize) size
error: (NSError **) error {
@autoreleasepool {
if (self.assetChanged) {
self.generate = [[AVAssetImageGenerator alloc] initWithAsset:_asset];
self.generate.appliesPreferredTrackTransform = TRUE;
self.assetChanged = NO;
}
self.generate.maximumSize = NSSizeToCGSize(size);
CGImageRef imageReference = [self.generate copyCGImageAtTime:time actualTime:NULL error:error];
if (imageReference != nil) {
NSImage* ret = [[NSImage alloc] initWithCGImage:imageReference size:size];
CGImageRelease(imageReference);
return ret;
}
return nil;
}
}
任何想法我做错了什么或任何建议如何做不同(例如使用AVAssetReader)?