我通过AVAssetImageGenerator接收远程视频的高/中质量缩略图,但仍需要10到15秒才能获得缩略图。
有没有办法立即获得低质量的缩略图?
下面的代码我用来获取远程视频的缩略图
奇怪的是,当我下载此视频时,它的大小为1.1 MB,创建的缩略图大小为1.8 MB。
let assetForThumbnail = AVAsset(URL: videoURL)
let durationSeconds = CMTimeGetSeconds(assetForThumbnail.duration)
let generator = AVAssetImageGenerator(asset: assetForThumbnail)
generator.appliesPreferredTrackTransform = true
let time = CMTime(seconds: durationSeconds/3.0, preferredTimescale: 600)
generator.generateCGImagesAsynchronouslyForTimes([NSValue(CMTime: time)]) { (requestedTime: CMTime, thumbnail: CGImage?, actualTime: CMTime, result: AVAssetImageGeneratorResult, error: NSError?) in
print("error: \(error)")
print("status: \(result)")
if let thumbnailC = thumbnail {
let image = UIImage(CGImage: thumbnailC)
}
}
答案 0 :(得分:1)
尝试设置AVAssetImageGenerator
的{{1}}属性,如下所示:
generator.maximumSize = CGSize(宽度:320,高度:320)