Repolode
YunzeChU

YunzeChU/DualCamSync

An iOS app that records from two cameras at once using AVCaptureMultiCamSession, with split-screen or picture-in-picture preview and a Liquid Glass UI.

Stars
108
Forks
10
Open issues
0
Last commit
yesterday

What is it?

DualCamSync is a native iOS app written in SwiftUI that records from two cameras simultaneously, such as wide and ultra-wide, wide and telephoto, or front and back. It detects at runtime which camera pairs and resolutions the device supports and greys out unsupported options.

The app offers split-screen or picture-in-picture preview with a draggable small window. Recording has two modes: mode A composites both feeds into a single HEVC MP4 with stereo AAC audio, and mode B writes two separate MP4 files started at the same moment on a shared session clock. Each camera has its own focus lock, exposure lock, exposure compensation and stabilization toggle.

The interface uses the iOS 26 native glassEffect material for its controls. The project is built with XcodeGen and includes a GitHub Actions workflow that compiles an unsigned IPA on a macOS 26 runner. Minimum deployment target is iOS 26, requiring Xcode 26.

Key features

  • 01Records two cameras at once with runtime detection of supported lens pairs and resolutions.
  • 02Split-screen or draggable picture-in-picture preview, switchable with one tap.
  • 03Mode A merges both feeds into one MP4; mode B saves two independent MP4 files.
  • 04Per-camera focus lock, exposure lock, exposure compensation and stabilization.
  • 05Spatial audio (First Order Ambisonics) in dual-file mode, with stereo fallback.
  • 06Saves recordings to the system photo library and can embed location metadata.

Use cases

  • Filming a scene from two angles, such as a wide shot with a close-up, in one take.
  • Recording a performance or vlog with front and back cameras together.
  • Capturing wide and telephoto footage side by side for later editing.
  • Studying how iOS multi-camera capture works, as a reference implementation.

Quick start

  1. 1

    Install XcodeGen (macOS with Xcode 26 required)

    brew install xcodegen
  2. 2

    Generate the Xcode project

    xcodegen generate
  3. 3

    Open the project in Xcode and run it on an iOS 26 device

    open DualCamSync.xcodeproj

Things to know

  • Requires iOS 26 and Xcode 26, so it cannot run on earlier iOS versions.
  • Needs a physical iPhone with a multi-camera setup; the simulator is not a practical target.
  • Dolby Vision is unavailable with every camera combination because multi-cam sessions lack a 10-bit format.
  • Free Apple ID signing expires after 7 days and must be reinstalled.

In collections

Topics

FAQ

What is DualCamSync?
An iOS app that records from two cameras at once using AVCaptureMultiCamSession, with split-screen or picture-in-picture preview and a Liquid Glass UI. DualCamSync is a native iOS app written in SwiftUI that records from two cameras simultaneously, such as wide and ultra-wide, wide and telephoto, or front and back. It detects at runtime which camera pairs and resolutions the device supports and greys out unsupported options.
Is DualCamSync free to use? What license does it have?
DualCamSync is open source under the MIT license. Check the license terms before using it in commercial products.
Is DualCamSync still maintained?
Actively maintained. The last commit to DualCamSync was on Nov 6, 2026.
What can I use DualCamSync for?
Filming a scene from two angles, such as a wide shot with a close-up, in one take. Recording a performance or vlog with front and back cameras together. Capturing wide and telephoto footage side by side for later editing. Studying how iOS multi-camera capture works, as a reference implementation.
How do I install DualCamSync?
Install XcodeGen (macOS with Xcode 26 required): brew install xcodegen Generate the Xcode project: xcodegen generate Open the project in Xcode and run it on an iOS 26 device: open DualCamSync.xcodeproj
Where can I get DualCamSync?
The source code and installation instructions are on GitHub: https://github.com/YunzeChU/DualCamSync

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects