【问题标题】:AVAssetImageGenerator gives image to far away from desired timeAVAssetImageGenerator 使图像远离所需时间
【发布时间】:2018-09-22 15:56:51
【问题描述】:

我正在尝试将视频拆分为多张照片,但是当我使用 AVAssetImageGenerator 时,我只能获取 0.0s、0.5s、0.1s 等的照片

但是我怎样才能得到例如每秒 10 张照片?

let imageGenerator = AVAssetImageGenerator(asset: asset)
        imageGenerator.appliesPreferredTrackTransform = true

        var times = [NSValue]()
        for i in 0..<5 {
            let t = Double(i) / 5 * 60
            times.append(NSValue(time: CMTimeMake(Int64(t), 60)))
        }

        imageGenerator.generateCGImagesAsynchronously(forTimes: times) { (time, imageRef, time2, result, error) in

结果帧时间

time time2
0.0 0.0
0.2 0.0
0.4 0.5005
0.6 0.5005
0.8 1.001

【问题讨论】:

  • 对我来说,您的代码按预期工作。你能提供一些测试视频吗?

标签: time avassetimagegenerator


【解决方案1】:

这是固定的

imageGenerator.requestedTimeToleranceAfter = CMTimeMake(1, 60)
imageGenerator.requestedTimeToleranceBefore = CMTimeMake(1, 60)

【讨论】:

    猜你喜欢
    • 2017-02-17
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2014-07-11
    • 2021-02-17
    • 2017-01-21
    • 2013-02-13
    • 1970-01-01
    相关资源
    最近更新 更多