class JCAssetHelper {
/// 获取视频的第一帧
/// - Parameter url: 视频url
/// - Returns: 视频首帧
static func getVideoPreviewImageWithUrl(_ url: URL) -> UIImage {
let asset = AVURLAsset(url: url, options: nil)
let imageGenerator = AVAssetImageGenerator(asset: asset)
// 按正确方向对视频进行截图
imageGenerator.appliesPreferredTrackTransform = true
let time = CMTimeMakeWithSeconds(0.0, preferredTimescale: 600)
let imageRef = try? imageGenerator.copyCGImage(at: time, actualTime: nil)
if let img = imageRef {
let videoPreviewImage = UIImage(cgImage: img)
return videoPreviewImage
}
return UIImage()
}
}
调用
let url = URL(string: "http://clips.vorwaerts-gmbh.de//big_buck_bunny.mp4")
let img = JCAssetHelper.getVideoPreviewImageWithUrl(url!)
let pImg = UIImageView(image: img)
pImg.frame = CGRect(x: 100, y: 100, width: 100, height: 100)
view.addSubview(pImg)
网友评论