You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift应用中如何调用Action Mode同款API实现原生级运动视频画质?

iOS原生Action Mode防抖效果的实现方案

Action Mode是苹果原生相机的专属优化,目前没有公开的直接API可以调用,但通过AVCapture框架的高级配置,能够接近其运动拍摄的画质表现:

  • 启用Cinematic扩展防抖模式
    苹果针对运动场景推出了AVCaptureVideoStabilizationMode.cinematicExtended模式,这是目前AVCapture框架中最接近Action Mode的防抖方案。需要先检查设备的当前格式是否支持该模式,再进行配置:

    if let format = cameraDevice.activeFormat, format.isVideoStabilizationModeSupported(.cinematicExtended) {
        do {
            try cameraDevice.lockForConfiguration()
            cameraDevice.activeVideoStabilizationMode = .cinematicExtended
            cameraDevice.unlockForConfiguration()
        } catch {
            print("配置防抖模式失败: \(error)")
        }
    }
    
  • 匹配高帧率与合适分辨率
    Action Mode会自动切换到高帧率+适配的分辨率组合,减少防抖计算的负载。建议设置session预设为1080p或4K(依设备支持),同时锁定60fps帧率:

    // 配置session预设
    captureSession.sessionPreset = .hd1920x1080
    // 锁定60fps帧率
    let desiredFrameRate = CMTimeMake(value: 1, timescale: 60)
    if let format = cameraDevice.activeFormat, format.videoSupportedFrameRateRanges.contains(where: { $0.minFrameDuration <= desiredFrameRate && $0.maxFrameDuration >= desiredFrameRate }) {
        do {
            try cameraDevice.lockForConfiguration()
            cameraDevice.activeVideoMinFrameDuration = desiredFrameRate
            cameraDevice.activeVideoMaxFrameDuration = desiredFrameRate
            cameraDevice.unlockForConfiguration()
        } catch {
            print("设置帧率失败: \(error)")
        }
    }
    
  • 优化对焦与曝光的运动响应
    快速运动场景下,需要让相机的对焦和曝光快速适配环境变化。开启连续自动对焦、连续自动曝光,并设置合适的对焦范围限制:

    do {
        try cameraDevice.lockForConfiguration()
        // 设置对焦范围限制(近距适配运动场景)
        if cameraDevice.isAutoFocusRangeRestrictionSupported {
            cameraDevice.autoFocusRangeRestriction = .near
        }
        cameraDevice.focusMode = .continuousAutoFocus
        cameraDevice.exposureMode = .continuousAutoExposure
        cameraDevice.unlockForConfiguration()
    } catch {
        print("配置对焦曝光失败: \(error)")
    }
    
  • 注意硬件兼容性
    Action Mode的最佳效果仅在A15及以上芯片的iOS设备上实现,旧设备即使配置了上述参数,也无法达到同款画质,建议在代码中加入设备芯片版本的判断逻辑。

内容的提问来源于stack exchange,提问作者Marcus Aurelius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 22:58:19