当然,我可以使用此代码从第一帧获取视频缩略图。
func generateThumbImage() -> UIImage{
let assetImgGenerate : AVAssetImageGenerator = AVAssetImageGenerator(asset: self)
assetImgGenerate.appliesPreferredTrackTransform = true
let time : CMTime = CMTimeMake(1, 30)
let img : CGImage = try! assetImgGenerate.copyCGImage(at: time, actualTime: nil)
let frameImg : UIImage = UIImage(cgImage: img)
return frameImg
}
有人可以建议解决方案吗?
答案 0 :(得分:0)
我不确定iOS是否具有自动执行此操作的功能,但通常在其他平台或流式视频文件上执行此操作的方式是缩略图是在整个视频中定期生成的,例如每个2分钟视频的10秒,这些是您突出显示的区域中显示的内容。
您可以使用上面的代码自行完成此操作,但循环并移动生成缩略图的时间 - 但如果存在iOS功能,那么显然会更容易。
对于流式视频服务,缩略图生成通常在视频转码的同时完成,因为它更有效,并且缩略图文件包含在视频的清单或“索引”文件中它正在流式传输。