iOS Camera Development:4K Resolution And High FrameRate Settings

所属分类:ios | 浏览:23 | 发布于 2025-07-16

there are two ways to set 4k resolution.

  • w1: through the sessionPreset of AVCaptureSession
  • w2: through the activeFormat of AVCaptureDevice 

the most important different of them is you can set high frameRate through the activeFormat

1、sessionPreset

A preset value that indicates the quality level or bit rate of the output.

Specify a preset value to configure a capture session’s format and settings. The default preset is high, which produces high-quality video and audio output, but you can specify any preset value that returns true for a call to canSetSessionPreset(_:).

i don't want to talk sessionPreset because i'll need set high frameRate for my app.

2、activeFormat

The currently active media data format of the capture device.

 

我花了一段时间才找到4k和60fps录制视频的答案。我的设置是iphone,Swift 4和iOS 12.3

  • 确保捕获设备设置为AVCaptureDevice.default(for:.video)!不要使用AVCaptureDevice.DiscoverySession,因为它不会返回AVCaptureDevice.Format中的4k和60fps设置。
  • 循环通过格式数组查找和设置所需的格式。4k和60fps所需的格式应该如下所示: AVCaptureDeviceFormat: 0x2820d8700‘vide’/‘420 v’。采购产品3840x2160,{ 3-60 fps}

最后一件事是使用AVOutputSettingsAssistant类在AVAssetWriter中配置输出设置字典。输出设置应该是AVOutputSettingsPresetHEVC3840x2160。如果视频设置为AVOutputSettingsPreset3840x2160,则视频输出将不稳定。

 

文哥博客(https://wenge365.com)属于文野个人博客,欢迎浏览使用

联系方式:qq:52292959 邮箱:52292959@qq.com

备案号:粤ICP备18108585号 友情链接