ios - 有什么方法可以让我们使用 AVCaptureSession 在 1 秒内捕获固定数量的帧?
问题描述
我在我的应用程序中创建 BOOMERANG 效果,所以我通过设置 1 秒定时器来捕捉图像。目前在 1 秒内,我大部分时间都在 24 到 30 帧左右。
但我想一直在 1 秒内只捕获 28 帧。
任何人都可以帮我实现这一目标吗?
提前致谢。
解决方案
在您的 AVCaptureDeviceInput 上,您将有一个视频输入。
let frameRate = 28
let frameDuration = CMTimeMake(1, frameRate)
do {
try videoDevice.unlockForConfiguration()
videoDevice.activeVideoMaxFrameDuration = frameDuration
videoDevice.activeVideoMinFrameDuration = frameDuration
videoDevice.lockForConfiguration()
} catch {
NSLog("videoDevice lockForConfiguration returned error \(error)")
}
您可以尝试通过帧持续时间设置最小/最大 FPS。
推荐阅读
- c++ - Cuda如何将char**从内核复制到主机
- java - 在 Java 中对 0 和 1 进行排序
- python - 检查函数是否包含 pass
- reactjs - 在查询上遇到子选择,但是存储没有对象引用 Apollo Link State
- django - 自定义迁移上的 Django evert 迁移
- javascript - 如何修复此错误无法调用类型缺少调用签名的表达式
- ruby-on-rails - 纸轨 Rails 控制器中的当前活动上下文
- javascript - 为什么在 ES6 语法中页面加载时会自动调用函数?
- javascript - React Router v4 多个动态路由
- java - 修剪文件名以用作字符串的正确方法?