2025 年 7 月 17 日

Audio&Video AVFoundation iOS iPadOS Photos&Camera WWDC WWDC25

運用全新 Cinematic Video API 打造專業級攝影 App

已複製到剪貼板


自 iPhone 13 系列推出「電影級」模式(Cinematic mode)以來,這項技術透過淺景深效果與強大的演算法,將行動攝影提升至全新維度。以往這是一項僅限於原生相機應用的功能,但在 iOS 26 中,Apple 正式推出 Cinematic Video API,將「智慧化驅動對焦決策」的核心能力開放給開發者,讓第三方 App 也能實現專業級的移焦(Rack Focus)與追蹤對焦。

WWDC 2025:Capture cinematic video in your app
WWDC 2025:Capture cinematic video in your app

在專業電影製作中,手動調焦(Focus Pulling)是一項極需精確度與經驗的技術。Cinematic Video API 的出現,透過自動感應主體入鏡、轉向或離開並進行平滑對焦,大幅簡化了原本極具挑戰性的拍攝流程。

核心配置:一鍵啟用 isCinematicVideoCaptureEnabled

啟用電影級錄影功能的門檻極低,開發者只需在 AVCaptureDeviceInput 層級進行配置。關鍵在於將 isCinematicVideoCaptureEnabled 屬性設為 true,系統便會自動將整個 Capture Session 設定為輸出電影級影像,使所有輸出端(如 Movie File Output、Video Data Output)皆能獲得電影級處理。

在程式碼實作上,必須先確認設備的 activeFormat 是否支援該功能:

import AVFoundation

let camera = AVCaptureDevice(uniqueID: "XcodeProject")!
let videoInput = try! AVCaptureDeviceInput(device: camera)

// 1. 檢查當前格式是否支援電影級錄影
if videoInput.device.activeFormat.isCinematicVideoCaptureSupported {
    try? videoInput.device.lockForConfiguration()
    // 2. 啟用電影級捕捉
    videoInput.isCinematicVideoCaptureEnabled = true
    videoInput.device.unlockForConfiguration()
}

非破壞性編輯的技術價值

電影級模式產出的影片檔案包含原始影片、視差數據(Disparity data)與元數據(Metadata)。這種架構支援「非破壞性編輯」,開發者可結合 2023 年推出的 Cinematic Framework,在後製階段根據元數據重新計算並渲染散景效果,甚至更改對焦目標。

電影級影片透過智慧驅動對焦決策,大幅簡化了專業攝影中充滿挑戰的拍攝流程。

硬體支援與 Discovery Session 規範

在 iOS 26 中,Cinematic Video API 對硬體與格式有嚴格要求。開發者應使用 AVCaptureDevice.DiscoverySession 來定位支援的設備,包含機背的雙廣角相機(.builtInDualWideCamera)與前置的 TrueDepth 相機。

以下是受支援的影片格式與色彩空間規格:

規格項目 支援參數 備註
解析度 1080p、4K 支援機背與前置鏡頭
幀率 30 fps 固定幀率以確保運算穩定
SDR/EDR 色彩空間 420 Video Range/Full Range 適用於標準動態範圍錄製
10-bit HDR 色彩空間 x420 高動態範圍專用格式
WWDC session slide showing the 1080p/4K 30fps compatibility matrix
WWDC 2025|Capture cinematic video in your app:1080p/4K 30fps compatibility matrix

三種手動對焦模式與視覺反饋

API 模擬了專業調焦師的邏輯,提供 CinematicVideoFocusMode 枚舉,讓開發者精確控制 setCinematicVideoTrackingFocus 的行為:

  1. 強對焦 Strong Focus:強制鎖定主體,即便有更顯眼的主體進入畫面,焦點仍會保持在原目標上。在 UI 上通常以實線(Solid)黃色矩形表示
  2. 弱對焦 Weak Focus:暫時對焦於主體,但將最終控制權交給演算法。當其他主體(如人臉轉向鏡頭)被判定為更重要時,會自動移焦。在 UI 上以虛線(Dashed)矩形表示
  3. 固定對焦 Fixed Focus:使用 setCinematicVideoFixedFocus,透過深度訊號將焦點鎖定在特定的平面上,適合用於忽略前景干擾、專注於背景空間的鏡頭

備註:

None 模式僅用於判斷元數據物件當前是否擁有焦點,不可用於設置對焦。

SwiftUI 整合與座標轉換邏輯

在 SwiftUI 中,需透過 UIViewRepresentable 封裝 AVCaptureVideoPreviewLayer。實現互動對焦的關鍵在於處理元數據。

警告:

電影級演算法需特定的元數據類型才能運作。開發者必須讀取 requiredMetadataObjectTypesForCinematicVideoCapture 並將其賦值給 metadataObjectTypes。若類型不符,系統將拋出異常(Exception)導致崩潰。

座標轉換則需注意座標系差異:AVFoundation 使用左上角為原點,而 SwiftUI 通常以中心點(midX、midY)定義位移。

// 將元數據座標轉換為預覽圖層座標
let transformedRect = previewLayer.layerRectConverted(fromMetadataOutputRect: metadataObject.bounds)

// 轉換為 SwiftUI 座標(以中心點為準)
let centerX = transformedRect.midX
let centerY = transformedRect.midY

為了讓使用者能手動驅動對焦,我們必須為人臉等對焦候選主體提供視覺指示器。

進階功能:光圈、穩定化與環境監測

要打造專業級 App,需處理以下進階細節:

  • 模擬光圈 Simulated Aperture:透過 simulatedAperture 控制散景強度。開發者應讀取格式中的 minmaxdefault 值來設定 UI 滑桿。f 值越小(光圈越大),背景虛化越強烈
  • 專業級穩定化與音訊:建議啟用 cinematicExtendedEnhanced 穩定模式,並將 multichannelAudioMode 設為一階環境立體聲(First-order Ambisonics)以捕捉空間音訊
  • 低光源監測 KVO:電影級演算法需要充足光線。開發者必須使用 Key-Value Observing(KVO)監測 cinematicVideoCaptureSceneMonitoringStatuses。當狀態包含 .notEnoughLight 時,應在 UI 提示使用者

結語

Cinematic Video API 的開放,代表著專業級影像創作工具的門檻再次降低。透過 iOS 26 提供的深度資訊與智慧演算法,第三方應用不再只是單純地「模糊背景」,而是能真正參與到「說故事」的對焦決策中。

這套 API 不僅提升了影片的質感,更為行動端影音創作開闢了自動化與專業化並行的全新路徑。

延伸思考:

在您開發的 App 中,您最期待實作哪種電影級技術?是讓演算法智慧切換的「弱對焦」,還是能精確鎖定空間深度的「固定對焦」?

分享文章

已複製到剪貼板

追蹤網站

透過 Google 追蹤

超級感謝

關於 XcodeProject

XcodeProject 創立於 2023,致力於協助開發者探索 Apple 的創新世界,學習在 iOS、iPadOS、macOS、tvOS、visionOS 與 watchOS 上開發 App,發現眾多技術與框架,讓開發者獲得更多能力。


Contacts

Ricky Chuang

XcodeProject

RickyChuang.xcodeproj@gmail.com

XcodeProject 聯絡

contact.xcodeproj@gmail.com

XcodeProject 的最新文章