根据视频url获取视频首帧图片

2022-01-07  本文已影响0人  leblanc_i
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)
上一篇 下一篇

猜你喜欢

热点阅读