缩略图生成在ios中很慢

时间:2017-01-07 09:52:20

标签: ios video thumbnails avasset

我正在努力展示视频的缩略图。 这是我的代码。

override func viewDidLoad() {
    super.viewDidLoad()
 for str in self.imgArray
        {
            let url = NSURL(string: str)
            let movieAsset = AVURLAsset(URL: url!, options: nil)
            let assetImageGemerator = AVAssetImageGenerator(asset: movieAsset)
            assetImageGemerator.appliesPreferredTrackTransform = true
           let frameRef = try! assetImageGemerator.copyCGImageAtTime(CMTimeMake(1, 2), actualTime: nil)
            let image = UIImage(CGImage: frameRef)
            self.imagesArray.append(image)
        }
}

通过使用这个我正确地获得缩略图。问题是生成缩略图图像有大约5-10秒的延迟。无论如何我可以提高这段代码的速度并快速生成缩略图吗?

1 个答案:

答案 0 :(得分:0)

我认为没有办法真正加快代码速度 - 尝试使用CMTimeMake(0, 10)。也许它会使代码更快,因为一些视频文件需要一些时间来寻找。

我认为您需要缓存从代码中获取的图像,并在下次查看缓存的图像,以便整体运行得更快。有很多方法可以缓存图像 - 使用NSCache是一种选择。

作为旁注,它不会花费5-10秒来获取缩略图。通常不到一秒钟。