首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在iOS13中无法从url视频生成缩略图

在iOS13中,无法直接从URL视频生成缩略图。这是因为iOS13中的AVFoundation框架对视频缩略图生成方法进行了更改。

在iOS13之前,我们可以使用AVAssetImageGenerator类来生成视频缩略图。但在iOS13中,AVAssetImageGenerator的生成方法已被弃用,取而代之的是新的方法。

新的方法是使用AVAsset的AVAssetImageGenerator生成CGImage。以下是一个示例代码,展示了如何在iOS13中从URL视频生成缩略图:

代码语言:txt
复制
import AVFoundation

func generateThumbnail(from url: URL, completion: @escaping (UIImage?) -> Void) {
    let asset = AVAsset(url: url)
    let generator = AVAssetImageGenerator(asset: asset)
    generator.appliesPreferredTrackTransform = true
    
    let time = CMTime(seconds: 1, preferredTimescale: 1)
    generator.generateCGImagesAsynchronously(forTimes: [NSValue(time: time)]) { _, image, _, _, _ in
        if let cgImage = image {
            let thumbnail = UIImage(cgImage: cgImage)
            completion(thumbnail)
        } else {
            completion(nil)
        }
    }
}

在上述代码中,我们首先创建了一个AVAsset对象,然后使用该对象创建AVAssetImageGenerator。我们将appliesPreferredTrackTransform属性设置为true,以便根据视频的方向生成正确的缩略图。

接下来,我们使用generateCGImagesAsynchronously方法异步生成缩略图。在这个方法中,我们可以指定要生成缩略图的时间点。在示例代码中,我们选择了视频的第1秒作为时间点。

生成缩略图的过程是异步的,因此我们使用completion闭包来接收生成的缩略图。如果生成成功,我们将缩略图作为UIImage对象传递给completion闭包;如果生成失败,我们将传递nil。

这是一个简单的示例代码,可以帮助你在iOS13中从URL视频生成缩略图。如果你需要更多高级的视频处理功能,可以考虑使用第三方库,如FFmpeg或GPUImage。

腾讯云提供了一系列与视频处理相关的产品和服务,例如云点播(Cloud VOD),可以帮助你在云端进行视频处理和存储。你可以通过以下链接了解更多关于腾讯云云点播的信息:腾讯云云点播

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 产品动态 | 加个「尾巴」告别转圈圈,1分钟搞定图片批量处理

    导语 | 腾讯云点播媒资管理新增图片即时处理功能,改写原始图片URL便可简单高效地实现图片缩放、剪裁等各种高频处理任务,快速满足客户批量处理视频封面缩略图、头像裁切、电商商品图调整等需求,帮助客户降本增效。 高清视频多,封面加载慢? 接触过在线视频管理平台的读者,恐怕都经历过这种糟心的体验:视频列表缩略图加载一两分钟都出不来,让人抓狂。 造成这种糟糕体验的一大原因便是直接拉取高清视频的封面做缩略图。直接由高清视频截取产生的封面,一张的大小就可能超过 1MB 。一个列表20+的类似图片自然会导致加载速度

    04

    产品动态 | 加个「尾巴」告别转圈圈,1分钟搞定图片批量处理!

    导语 | 腾讯云点播上线图片即时处理功能,通过图片即时处理模板进行实时的图片处理,添加URL便能快速、批量获得处理后的图片。本文将详细介绍云点播图片即时处理功能的应用场景、能力优势及操作流程。 高清视频多,封面加载慢? 接触过在线视频管理平台的读者,恐怕都经历过这种糟心的体验:视频列表缩略图加载一两分钟都出不来,让人抓狂。 造成这种糟糕体验的一大原因便是直接拉取高清视频的封面做缩略图。直接由高清视频截取产生的封面,一张的大小就可能超过1MB。一个列表20+的类似图片自然会导致加载速度缓慢,影响用户体

    03
    领券