如何解决我不能总是在 iOS 上以 30.0fps 的速度录制视频吗?
我是初学者。我需要你的帮助!我使用的 Swift 版本是 5。
我总是想以 30.0fps 的速度录制视频。 目前,我的 AVCaptureDevice.activeFormat 如下。 enter image description here
录完视频,然后用opencv打印fps后,发现视频有29.99709、28.9277等fps。 我想以 30.0 fps 的速度修复它。
所以我执行了下面的代码,但fps仍然没有固定在30.0。 下面的代码是在 .addInputWithNoConnection 之后编写的。
- AVCaptureDevice.lockForConfiguration()
- AVCaptureDevice.activeVideoMinFrameDuration = CMTimeMake(value: 1,timescale: 30)
- AVCaptureDevice.activeVideoMaxFrameDuration = CMTimeMake(value: 1,timescale: 30)
- AVCaptureDevice.unlockForConfiguration()
于是我执行了下面的代码来确认代码的执行。
- AVCaptureDevice.lockForConfiguration()
- AVCaptureDevice.activeFormat = AVCaptureDevice.formats[25]//{ 2- 60 fps}
- AVCaptureDevice.activeVideoMinFrameDuration = CMTimeMake(value: 1,timescale: 60)
- AVCaptureDevice.activeVideoMaxFrameDuration = CMTimeMake(value: 1,timescale: 60)
- AVCaptureDevice.unlockForConfiguration()
当我运行上述代码时,fps 值为 60.0 或 60.013。
我想知道是否有任何方法可以完全修复 fps。(例如始终 30.0 fps 的 60.0 fps)
我正在使用 AVCaptureMultiCamSession()。通过 session.canSetSessionPreset 确认只有 .inputPriority 支持预设。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。