(iOS,iPhone,Objective-C)動画からサムネイル高速生成

動画からサムネイルを生成する際に以下のようにAVAssetImageGenerator:copyCGImageAtTimeを使用しているのですが、1枚の画像を切り出すのに0.2秒ほどかかってしまいます。これを高速化する方法はないでしょうか?iMovieなどは一瞬でサムネイルが表示されのですが、これと同等のことがしたいです。

他にはAVAssetReaderのcopyNextSampleBufferでバッファの読み出しからUIImageに変換する処理も試してみましたが、こちらはcopyNextSampleBufferのバッファ読み出しに時間がかかってしまう状況でした。


AVAssetImageGenerator *imageGen = [[AVAssetImageGenerator alloc] initWithAsset:_mutablComposition];
imageGen.maximumSize = CGSizeMake(210, 210);

NSError* error = nil;
CMTime actualTime;
CMTime midpoint;
Float64 step = 0;
midpoint = kCMTimeZero;

for(UIImageView *imageView in _scrollView.subviews ){

if( imageView.tag ){

midpoint = CMTimeMake(step, 600);

CGImageRef halfWayImageRef = [imageGen copyCGImageAtTime:midpoint actualTime:&actualTime error:&error];
if ( halfWayImageRef != nil ){
}
step += 1200;
CGImageRelease(halfWayImageRef);
}
}

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2014/11/29 00:40:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:dilutionist No.1

回答回数154ベストアンサー獲得回数51

id:ankomoti3260

有り難うございます。
generateCGImagesAsynchronouslyForTimesを試したところ、サムネイル生成の高速化が出来るようになりました。

2014/11/29 16:23:02

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません