问题标签 [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 - generateCGImages根据实际时间异步产生重复图像
我可以使用 获取视频中的帧AVAssetImageGenerator
,并且使用generateCGImagesAsynchronously
. 每当结果成功时,我都会requestedTime
以秒为单位打印该图像以及actualTime
该图像的 。然而,最后,actualTimes
即使我的步长值和时间帧间隔均匀,两个生成的图像也是相同的并且具有相同的。
这是我为每张图像打印的请求和实际时间的片段(以秒为单位):
在生成对应于视频中 1.1 秒的帧之前似乎一切正常,这会导致两个相同的图像,并且actualTime
在其余过程中被延迟。
我已经尝试调整计算应该生成的帧的方式,但它似乎是正确的。我使用每秒帧数并将其乘以视频持续时间来计算我总共需要多少帧,并且我将总持续时间除以样本计数以确保均匀生成 cgImages。
以及我创建图像的方式(见此):
在调用之前,我还将容差设置为零generateCGImages
:
我希望实际时间与请求的时间一致,并且每个生成的图像都不同。纵观图像,无论正在测试的视频如何,总是存在重复的,并且通常发生在中间到结尾。
编辑:
ios - 是否有每秒获取 10 帧视频的功能?
我正在尝试从imagePickerController
. 我使用这个功能,但从 0.1s -> 1s 的图像是相同的,从 1.1 到 2s 也是。有什么办法吗?这是我的功能:
还是我需要提高视频质量?感谢帮助。
ios - 在 Swift (iOS) 中从视频创建帧
有一个持续时间为 3 秒的视频文件。我需要创建 30 帧 - UIImages。每 0.1 秒捕获一次图像。我尝试使用 AVAssetImageGenerator 和 CMTimeMake,但我总是得到 30 个相似的图像,或者 15 个相似的图像和 15 个相似的图像。
请帮助了解如何从该视频中制作这种幻灯片。或者也许有一些更好的方法来做到这一点。
请看下面的代码:
swift - 仅当功能完成创建它们时才从视频中检索 UIImage - 快速 - 以编程方式快速
我正在使用以下UIImages
视频创建generateCGImagesAsynchronouslyForTimes
:
由于每次创建新图像时都会调用该函数的完成处理程序,因此completion()
会多次调用该函数的完成处理程序。
我想实现completion()
仅在创建所有图像(在本例中为 7)之后才调用它。我该怎么做?
swift - 使用 Metal GPU 在 Swift 中提取视频帧
我正在尝试创建一个小型 macOS 应用程序,该应用程序根据时间因素从视频中抓取一堆帧,视频从用户计算机拖放到应用程序中,类似于电影编辑器(例如 iMovie)
例如:因子 = 5 -> 每 5 秒获取一帧。
目前我正在使用以下代码AVAssetImageGenerator
:
然而,这个功能似乎需要很长时间才能完成,尤其是我从 1 到 6 传递了 6 个不同的因素。
这个计算应该很快,用户不应该等待太多,特别是如果他有 120 分钟的视频:)
问题是,我们可以使用 Metal 在 GPU 上运行上述代码以使其更快吗?以及其他软件如何快速生成帧而没有任何延迟?
thumbnails - 如果视频来自本地库文件夹,则视频缩略图生成失败
使用iOS14.5、Swift5.4、Xcode12.5、
我尝试在 Swift 中创建视频的缩略图。
这一切都适用于源自互联网的视频。
但是,在我的情况下,视频来自应用程序的库文件夹,它预先保存在该文件夹中。由于某种未知原因,这似乎使缩略图创建失败。
这是我的步骤:
- 我首先通过执行以下操作将视频从捆绑包复制到 iPhone 沙盒的库文件夹(videoURL 是本地库文件夹中的某个位置)
- 然后我尝试通过以下代码生成缩略图。
但是此代码总是失败并出现以下错误:
这里是缩略图生成的代码:
ios - 使用 AVAssetImageGenerator 得到了一些 nil CGImages
我想从视频中提取帧作为 UIImage 。这就是我使用AVAssetImageGenerator
.
首先我保存了times
为了获取帧作为图像,我使用了这种方法
在这里,我得到了一些 nil cgImages。我不知道为什么他们是零。但我需要使用时间段将所有帧作为 cgImages 获取。
怎么解决?
我知道还有另一种使用方法的imageGenerator.copyCGImage
方法。但是将所有帧生成为 UIImage 需要太多时间```
deep-learning - 如何从 ImageDataGenerator 获取 x_train?
我正在研究图像分类 CNN,我想知道如何使用 ImageGenerator 获得 x_train 和 y_train 形式。这样做的原因是我想将我的模型拟合为 fit note fit.generator
由于批量大小为 32,print(x_train) 为 (32,28,28,1)。我总共有 5000 个训练数据集,我想为 print(x_train) 获取 (5000,28,28,1)