iOS 11 API 用于 4k @ 60 FPS 视频录制
iOS 11 API To Use For 4k @ 60 FPS Video Recording
我有一个 iPhone X 运行 11.3。我一直在使用 AVFoundation、AVCaptureSession、AVAssetWriter 等,并获得了 h.265 HEVC 4K @ 30 FPS...但是,经过许多小时的谷歌搜索,我没有找到任何文档或 4k @ 60 FPS 的示例捕获。我试图通过诸如 minFrameDuration 之类的属性来强制执行它,但我总是收到错误消息。
我不是要你为我做所有的工作(尽管如果你想给我写一个 4k@60 视图控制器,是的,请!)但是如果你能给我指明正确的方向,特别是,API 在 iPhone X 上支持这一点。如果我知道只有 AVAssetWriter 会这样做,好吧,我可以 bash 我的头脑反对它几个小时:)
我花了一段时间寻找以 4k 和 60fps 录制视频的答案。
我的设置是 iphone X、Swift 4 和 iOS 12.3
- 确保捕获设备设置为 AVCaptureDevice.default(对于:.video)!
不要使用 AVCaptureDevice.DiscoverySession 因为它不会 return
AVCaptureDevice.Format.
中的 4k 和 60fps 设置
- 遍历格式数组以查找并设置所需的格式。
4k 和 60fps 所需的格式应该是这样的:
AVCaptureDeviceFormat:0x2820d8700 'vide'/'420v'。 3840x2160,{ 3-60 帧/秒}...
最后一件事是使用 AVOutputSettingsAssistant class 在 AVAssetWriter 中配置输出设置字典。输出设置应为 AVOutputSettingsPresetHEVC3840x2160。如果视频设置为 AVOutputSettingsPreset3840x2160,视频输出会出现抖动。
我有一个 iPhone X 运行 11.3。我一直在使用 AVFoundation、AVCaptureSession、AVAssetWriter 等,并获得了 h.265 HEVC 4K @ 30 FPS...但是,经过许多小时的谷歌搜索,我没有找到任何文档或 4k @ 60 FPS 的示例捕获。我试图通过诸如 minFrameDuration 之类的属性来强制执行它,但我总是收到错误消息。
我不是要你为我做所有的工作(尽管如果你想给我写一个 4k@60 视图控制器,是的,请!)但是如果你能给我指明正确的方向,特别是,API 在 iPhone X 上支持这一点。如果我知道只有 AVAssetWriter 会这样做,好吧,我可以 bash 我的头脑反对它几个小时:)
我花了一段时间寻找以 4k 和 60fps 录制视频的答案。 我的设置是 iphone X、Swift 4 和 iOS 12.3
- 确保捕获设备设置为 AVCaptureDevice.default(对于:.video)! 不要使用 AVCaptureDevice.DiscoverySession 因为它不会 return AVCaptureDevice.Format. 中的 4k 和 60fps 设置
- 遍历格式数组以查找并设置所需的格式。 4k 和 60fps 所需的格式应该是这样的: AVCaptureDeviceFormat:0x2820d8700 'vide'/'420v'。 3840x2160,{ 3-60 帧/秒}...
最后一件事是使用 AVOutputSettingsAssistant class 在 AVAssetWriter 中配置输出设置字典。输出设置应为 AVOutputSettingsPresetHEVC3840x2160。如果视频设置为 AVOutputSettingsPreset3840x2160,视频输出会出现抖动。