问题标签 [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.

0 投票
1 回答
1447 浏览

ios - AVAssetImageGenerator 无法复制图像

我正在使用AVAssetImageGenerator从视频的最后一帧创建图像。这通常可以正常工作,但时不时会copyCGImageAtTime因错误而失败

我正在验证 AVAsset 不是 nil 并且我直接从资产中提取 CMTime,所以我不明白为什么这种情况会一直发生。这仅在尝试获取最后一帧时发生,如果我改用kCMTimeZero它,它似乎可以工作。

似乎是相关的,但它并没有解决我的问题。

0 投票
0 回答
458 浏览

ios - 从视频中提取图像,图像颜色不同swift

AVCaptureSession我使用会话预设捕获视频是

并使用此代码从视频中提取图像

现在您可以检查视频上方的图像,以便检查色差。

在此处输入图像描述

现在我想要的是从视频中提取准确的图像。怎么做?

0 投票
1 回答
343 浏览

ios - AVAssetImageGenerator 使用动画工具和视频合成生成带有绿色像素的图像

我正在从我设置的可变组合生成动画AVMutableVideoCompositiongif AVVideoCompositionCoreAnimationTool。问题在于核心动画工具,当它设置生成的图像在最右边有 1 列绿色像素。如果我不添加核心动画工具,它会完美运行。

生成的 gif 示例如下:

在此处输入图像描述

这就是我创建AVVideoCompositionCoreAnimationTool带有图层的对象的方式。

我发现如果我让视频层宽 2 个像素,使绿色像素不在屏幕上,它就会起作用。但这是肮脏的黑客。

有谁知道为什么我有绿色专栏以及我做错了什么?

0 投票
0 回答
548 浏览

ios - 为什么 AVAssetImageGenerator generateCGImagesAsynchronouslyForTimes 会使应用程序崩溃

我正在尝试使用generateCGImagesAsynchronouslyForTimes. 但是我的应用程序崩溃了。我正在监视内存使用情况,但它不会超过 14 mb。

这是代码:

0 投票
1 回答
977 浏览

ios - 异步生成 CGImage 的输入内容

在我的应用程序中,我想生成视频的多个缩略图,最好是质量好的缩略图。我的旧方法是执行 15 次循环,并在不同时间复制 CGImage。如下所示

但是,在做了更多研究之后,我发现使用异步生成缩略图更合乎逻辑

但是,我真的不知道我应该在 [NSValue] 和完成处理程序中输入什么。

我只需要解释如何以这种方式生成缩略图,看看这是否更好。

0 投票
0 回答
456 浏览

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)"}}

0 投票
1 回答
56 浏览

time - AVAssetImageGenerator 使图像远离所需时间

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

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

结果帧时间

0 投票
2 回答
933 浏览

ios - AVAssetImageGenerator.generateCGImagesAsynchronously 的帧不正确

根据文档,generateCGImagesAsynchronously接收一个数组NSValue并从视频和给定时间生成帧,并将其作为回调返回。

我使用以下代码生成值列表

正如您在上面的代码中看到的,我使用同步方法交叉检查了结果,我可以确认values数组持有正确的时间参考。

但是当相同的数组传递给generateImageAsynchronously方法时,我会为不同的时间戳重复 10 次相同的帧。也就是说,如果我的视频是 10 秒,那么我会得到 300 帧(30 fps),但第一秒的帧每个重复 10 次。当请求 1 秒时,它类似于以 0.1 秒的时间返回帧。

PS:虽然同步方法工作正常,但它所花费的时间是异步方法的两倍。可能是因为它返回相同的帧。但我需要它来检查实际的时间使用情况。

0 投票
1 回答
327 浏览

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 上。

0 投票
0 回答
519 浏览

ios - 如何在毫秒的视频中获取帧

我正在尝试获取以毫秒为单位的视频帧。但是当我得到 24 fps 的 10 秒视频帧时,我每秒得到相同的 24 帧。但我实际上需要以毫秒为单位获取帧,而不是 24 个相同的帧。

我每秒有 24 帧,但 24 帧与第一帧相同。我需要 24 个不同的帧。如何以毫秒为单位选择帧?

以下是我的审查代码: