获取远程视频的预览图像

时间:2018-11-20 11:28:45

标签: ios swift xcode avkit

我有一个视频链接(例如:http://example.com/video.mp4)。我需要获取视频的第一帧。 我使用:

func getPreviewImage(_ url: URL) -> UIImage? {
    let asset = AVURLAsset(url: url)
    let generator = AVAssetImageGenerator(asset: asset)
    generator.appliesPreferredTrackTransform = true
    do {
        let cgImage = try generator.copyCGImage(at: CMTimeMake(0, 1), actualTime: nil)
        return UIImage(cgImage: cgImage)
    } catch {
        print(error)
    }
    return nil
}

但是,这不起作用。 我在日志中收到以下错误:

  

Code = -1102“您无权访问所请求的   资源。

告诉我如何获得第一帧?

1 个答案:

答案 0 :(得分:1)

尝试一下。

func getThumbnailImageFromVideoURL(fromUrl url: URL) -> UIImage? {
    let asset: AVAsset = AVAsset(url: url)
    let imageGenerator = AVAssetImageGenerator(asset: asset)

    do {
        let thumbnailImage = try imageGenerator.copyCGImage(at: CMTimeMake(value: 1, timescale: 60) , actualTime: nil)
        return UIImage(cgImage: thumbnailImage)
    } catch let error {
        print(error)
    }

    return nil
}