v145 · Web APIs · Migration Guide

Migration Guide

Which virtual camera APIs work in Chrome 145, which are removed, and how virtual camera software vendors can migrate to the modern macOS camera extension API.

API compatibility matrix

Virtual camera API macOS support Chrome 144 Chrome 145
CoreMediaIO DAL plug-in (legacy) Removed in macOS 13 Visible Removed
macOS camera extension (modern) macOS 12.3+ Visible Visible
Continuity Camera (iPhone as webcam) macOS 13+ Visible Visible

popular apps migration status

App Modern API available Notes
OBS Studio Yes (v30+) Update to OBS 30+ for macOS camera extension virtual camera
Camo Yes Fully migrated to macOS camera extension
mmhmm Yes Updated for macOS Ventura
Snap Camera Discontinued Snap Camera shut down in Jan 2023; use alternatives

vendor migration steps

// Virtual camera software vendors: migrate from DAL plug-in to camera extension
//
// 1. Register a Camera Extension in your macOS app:
//    - Target: com.apple.system-extension.camera
//    - Implement CMIOExtensionProvider protocol
//    - Deliver CMIOExtensionStream for video output
//
// 2. Request Camera Extension entitlement from Apple:
//    - com.apple.developer.system-extension.install
//    - Required for distribution outside TestFlight
//
// 3. Install the extension:
//    let manager = OSSystemExtensionManager.shared
//    manager.submitRequest(OSSystemExtensionRequest.activationRequest(
//        forExtensionWithIdentifier: "com.example.MyCameraExtension",
//        queue: .main
//    ))
//
// 4. Stream video:
//    - Push CMSampleBuffer frames to CMIOExtensionStream
//    - App appears as a standard camera in enumerateDevices()

see also

scenario focus

Select a scenario to focus its rendered example and summary.