gpt4 book ai didi

ios - 从 iPhone SDK 中的视频 url 创建缩略图

转载 作者:IT王子 更新时间:2023-10-29 07:52:09 27 4
gpt4 key购买 nike

我正在尝试从视频网址获取缩略图。视频是 m3u8 格式的流 (HLS)。我已经从 MPMoviePlayerController 尝试过 requestThumbnailImagesAtTimes,但是没有用。有没有人能解决这个问题?如果是的话,你是怎么做到的?

最佳答案

如果你不想使用MPMoviePlayerController,你可以这样做:

    AVAsset *asset = [AVAsset assetWithURL:sourceURL];
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
CMTime time = CMTimeMake(1, 1);
CGImageRef imageRef = [imageGenerator copyCGImageAtTime:time actualTime:NULL error:NULL];
UIImage *thumbnail = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef); // CGImageRef won't be released by ARC

这是一个 Swift 中的例子:

func thumbnail(sourceURL sourceURL:NSURL) -> UIImage {
let asset = AVAsset(URL: sourceURL)
let imageGenerator = AVAssetImageGenerator(asset: asset)
let time = CMTime(seconds: 1, preferredTimescale: 1)

do {
let imageRef = try imageGenerator.copyCGImageAtTime(time, actualTime: nil)
return UIImage(CGImage: imageRef)
} catch {
print(error)
return UIImage(named: "some generic thumbnail")!
}
}

MPMoviePlayerController 相比,我更喜欢使用 AVAssetImageGenerator,因为它是线程安全的,并且一次可以实例化多个。

关于ios - 从 iPhone SDK 中的视频 url 创建缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7501413/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com