ビデオから(URLから)サムネイルを抽出する必要があり、次のコードを使用します:
NSString *stringUrl = video.stringurl;
NSURL *url = [NSURL URLWithString:stringUrl];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:url options:nil];
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
[imageGenerator setRequestedTimeToleranceBefore:kCMTimeZero];
[imageGenerator setRequestedTimeToleranceAfter:kCMTimeZero];
CGImageRef imageRef = [imageGenerator copyCGImageAtTime:playerCurrentTime actualTime:&actualtime error:&error];
UIImage *thumbnail = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
しかし、copyCGImageAtTime でエラーが発生し、サムネイルが生成されないことがあります。エラーは次のとおりです。Error save image Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed"(OSStatus error -12792.)", NSLocalizedFailureReason=An unknown error occurred (-12792)}
ここに私が解決策を読んだリンクがありますが、URLWithString: の代わりに fileURLWithPath: を使用する場合、メソッドは URL の末尾に "-- file://localhost/" を追加して URL を無効にします。だから、何ができるのかわからない。