【发布时间】:2020-05-30 01:15:46
【问题描述】:
在 AVPlayer 中搜索时,我需要显示视频预览缩略图。 就像 youtube 显示它们一样。 (iOS) (也适用于直播)(Wowza/Amazon S3 首选解决方案)
【问题讨论】:
标签: ios amazon-s3 video-streaming video-processing wowza
在 AVPlayer 中搜索时,我需要显示视频预览缩略图。 就像 youtube 显示它们一样。 (iOS) (也适用于直播)(Wowza/Amazon S3 首选解决方案)
【问题讨论】:
标签: ios amazon-s3 video-streaming video-processing wowza
你可以试试这个 Youtube 助手 - https://github.com/youtube/youtube-ios-player-helper
【讨论】:
你可以试试这个:
extension AVAsset {
func getPreviewImage(for timeInSeconds: Int = 0) -> UIImage? {
let imageGenerator = AVAssetImageGenerator(asset: self)
imageGenerator.requestedTimeToleranceBefore = .zero
imageGenerator.requestedTimeToleranceAfter = .zero
imageGenerator.appliesPreferredTrackTransform = true
guard let cgImage = try? imageGenerator.copyCGImage(at: CMTime(value: CMTimeValue(timeInSeconds), timescale: 1), actualTime: nil) else { return nil }
return UIImage(cgImage: cgImage)
}
}
您不应该在主线程中获得预览。
如果需要一系列预览图,可以试试this:
如果您需要一个系列 图像,您可以使用 异步方法, generateCGImagesAsynchronously(forTimes:completionHandler:),其中 采用与播放期间类似的解码效率。
【讨论】:
generateCGImagesAsynchronously。我还没有发现为什么这不适用于扩展“m3u8”。