【问题标题】:Get preview image for remote video获取远程视频的预览图像
【发布时间】:2018-11-20 11:28:45
【问题描述】:

我有一个视频链接(例如: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 "您无权访问请求的 资源。

告诉我如何获得第一帧?

【问题讨论】:

    标签: ios swift xcode avkit


    【解决方案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
    }
    

    【讨论】:

    • 同样的问题(您无权访问请求的资源。)
    • @КузинДмитрий,此代码工作正常。请分享视频网址,以便我进行测试。
    • @КузинДмитрий,问题出在那个链接上。我建议您尝试使用不同的视频链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 2015-12-17
    • 2020-02-25
    • 2011-01-03
    • 1970-01-01
    相关资源
    最近更新 更多