在 Swift 中设置高帧率录制

Setting high frame rate recording in Swift

我正在尝试创建一个应用程序以 120fps 的速度录制视频,但我遇到了麻烦。

首先,当 print(device.activeFormat) 时,我在日志中得到了这个

AVCaptureDeviceFormat: 0x13fe49890 'vide'/'420v' 1920x1080, { 2- 30 fps}, fov:58.080, supports vis, max zoom:104.38 (upscales @1.55), AF System:1, ISO:34.0-544.0, SS:0.000024-0.500000

但是我的设备是iPhone5s,支持120fps,不知道为什么这里的范围是2-30fps。

其次,当我 device.activeVideoMaxFrameDuration = CMTimeMake(1, 120) 将最大帧速率更改为 120 fps 时,我在日志中收到此错误:

[AVCaptureVideoDevice setActiveVideoMaxFrameDuration:] - the passed activeVideoMaxFrameDuration 1:120 is not supported by the device.

我做错了什么?

谢谢!

正如您从打印 (device.activeFormat) 中看到的那样,给定 {2- 30 fps} 时最大支持 fps 为 30。因此,不支持使用 device.activeVideoMaxFrameDuration = CMTimeMake(1, 120) 设置 120 fps。