问题标签 [avassetimagegenerator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - AVAssetImageGenerator 无法复制图像
我正在使用AVAssetImageGenerator
从视频的最后一帧创建图像。这通常可以正常工作,但时不时会copyCGImageAtTime
因错误而失败
我正在验证 AVAsset 不是 nil 并且我直接从资产中提取 CMTime,所以我不明白为什么这种情况会一直发生。这仅在尝试获取最后一帧时发生,如果我改用kCMTimeZero
它,它似乎可以工作。
这似乎是相关的,但它并没有解决我的问题。
ios - 为什么 AVAssetImageGenerator generateCGImagesAsynchronouslyForTimes 会使应用程序崩溃
我正在尝试使用generateCGImagesAsynchronouslyForTimes
. 但是我的应用程序崩溃了。我正在监视内存使用情况,但它不会超过 14 mb。
这是代码:
ios - 异步生成 CGImage 的输入内容
在我的应用程序中,我想生成视频的多个缩略图,最好是质量好的缩略图。我的旧方法是执行 15 次循环,并在不同时间复制 CGImage。如下所示
但是,在做了更多研究之后,我发现使用异步生成缩略图更合乎逻辑
但是,我真的不知道我应该在 [NSValue] 和完成处理程序中输入什么。
我只需要解释如何以这种方式生成缩略图,看看这是否更好。
stream - 无法在collectionView Swift 4中使用来自实时流(m3u8)的图像缩略图
这是我的代码(用 Swift 4,xcode 9.2 编写)的一部分,我想在其中执行此操作。
和 getThumnailImage 函数
当我运行它时,我得到这个错误:
Error Domain=AVFoundationErrorDomain Code=-11850 "Operation Stopped" UserInfo={NSLocalizedFailureReason=服务器配置不正确。, NSLocalizedDescription=Operation Stopped, NSUnderlyingError=0x61c00044fbd0 {Error Domain=NSOSStatusErrorDomain Code=-12939 "(null)"}}
time - AVAssetImageGenerator 使图像远离所需时间
我正在尝试将视频拆分为多张照片,但是当我使用 AVAssetImageGenerator 时,我只能获取 0.0s、0.5s、0.1s 等的照片
但是我怎样才能每秒获得例如 10 张照片呢?
结果帧时间
ios - AVAssetImageGenerator.generateCGImagesAsynchronously 的帧不正确
根据文档,generateCGImagesAsynchronously
接收一个数组NSValue
并从视频和给定时间生成帧,并将其作为回调返回。
我使用以下代码生成值列表
正如您在上面的代码中看到的,我使用同步方法交叉检查了结果,我可以确认values
数组持有正确的时间参考。
但是当相同的数组传递给generateImageAsynchronously
方法时,我会为不同的时间戳重复 10 次相同的帧。也就是说,如果我的视频是 10 秒,那么我会得到 300 帧(30 fps),但第一秒的帧每个重复 10 次。当请求 1 秒时,它类似于以 0.1 秒的时间返回帧。
PS:虽然同步方法工作正常,但它所花费的时间是异步方法的两倍。可能是因为它返回相同的帧。但我需要它来检查实际的时间使用情况。
objective-c - AVAssetImageGenerator copyCGImageAtTime:actualTime:error: 从 10 位视频生成 8 位图像
我的 Mac 上有一个 10 位视频,我想提取完整的 10 位/通道数据中的帧。我加载我的资产,并验证它是 10 位的:
bitDepth
许多视频是 8,但这个视频是 10(我知道我无论如何都是以 10 位录制的),因此AVFoundation
可以正确识别通道位深度。
AVAssetImageGenerator
但是,我想使用'scopyCGImageAtTime:actualTime:error:
方法从视频中生成单帧:
图像成功生成,没有错误,但是当我检查它时,我发现它是 8 位/通道:
如何从 10 位视频生成完整、无损的 10 位(或为了兼容性,16 位或 32 位)帧?
我在 macOS 10.14 上。
ios - 如何在毫秒的视频中获取帧
我正在尝试获取以毫秒为单位的视频帧。但是当我得到 24 fps 的 10 秒视频帧时,我每秒得到相同的 24 帧。但我实际上需要以毫秒为单位获取帧,而不是 24 个相同的帧。
我每秒有 24 帧,但 24 帧与第一帧相同。我需要 24 个不同的帧。如何以毫秒为单位选择帧?
以下是我的审查代码: