Je reçois une miniature de haute/moyenne qualité de la vidéo distante grâce à AVAssetImageGenerator, mais cela prend quand même 10 à 15 secondes pour en obtenir la miniature.
Y a-t-il un moyen d'obtenir une miniature de basse qualité instantanément?
Voici le code que j'ai utilisé pour obtenir la miniature de la vidéo distante.
Ce qui est étrange, c'est que lorsque j'ai téléchargé cette vidéo, sa taille était de 1,1 Mo et la taille de la miniature créée est de 1,8 Mo.
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)
}
}