ios - 如何使用 AVAssetImageGenerator 立即获取远程视频的低质量缩略图

标签 ios objective-c swift swift3 swift2

我通过 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)
     }

}

最佳答案

尝试设置 AVAssetImageGeneratormaximumSize 属性,如下所示:

generator.maximumSize = CGSize(width: 320, height: 320)

关于ios - 如何使用 AVAssetImageGenerator 立即获取远程视频的低质量缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42410892/

相关文章:

ios - 在 UIPageViewController 中嵌入 UIScrollView 并禁用 pageView 滑动?

ios - TableView 中的单元格和行有什么区别?

iphone - 统计应用程序在 xcode 中被打开的次数

objective-c - CocoaLumberjack 文件和控制台的详细程度不同

ios - 从 indexPath 获取 UITableViewCell 不工作

ios - 使用 Swift 4.2 编译框架时 Xcode 9.4 中的 Swift 兼容性问题

ios - APNS注册及其生命周期

ios - 如何使用 Core Image Framework 为 iOS 创建简单的自定义过滤器?

ios - 使用 Xcode 中的部分从数组的数组中分配一个值

iphone - iOS、iPhone - 弹出图像查看器