Repolode
YunzeChU

YunzeChU/DualCamSync

基于 AVCaptureMultiCamSession 的 iOS 原生双摄同时录制 App,支持分屏与画中画预览。

Star
108
Fork
10
未关闭 Issue
0
最近提交
昨天

这是什么?

DualCamSync 是一款用 SwiftUI 编写的 iOS 原生应用,可同时使用两个摄像头录制,例如广角加超广角、广角加长焦,或前置加后置。运行时会探测设备支持的镜头组合与分辨率,不支持的选项自动置灰。

预览支持分屏和画中画两种布局,画中画小窗可拖动。录制提供两种模式:模式 A 将两路画面合成为一条 HEVC MP4 并附带立体声 AAC 音频;模式 B 输出两条独立 MP4,二者在同一会话时钟下同时启动。每路镜头可单独锁定对焦与曝光、调节曝光补偿,并开关视频防抖。

界面控件使用 iOS 26 原生 glassEffect 液态玻璃材质。项目使用 XcodeGen 管理工程,并附带 GitHub Actions 工作流,可在 macOS 26 runner 上云端编译未签名 IPA。最低部署版本为 iOS 26,需要 Xcode 26 编译。

核心功能

  • 01同时使用两个摄像头录制,运行时探测可用的镜头组合与分辨率。
  • 02分屏或可拖动的画中画预览,一键切换。
  • 03模式 A 将两路合成为一条 MP4,模式 B 分别保存两条独立 MP4。
  • 04每路镜头可独立锁定对焦与曝光、调节曝光补偿。
  • 05双文件模式支持空间音频(一阶 Ambisonics),并附带立体声兼容轨。
  • 06录制完成后自动存入系统相册,可选写入拍摄地点元数据。

适用场景

  • 一次拍摄中同时获取广角与特写两种视角的画面。
  • 用前置与后置摄像头同时拍摄 vlog 或表演。
  • 并排录制广角与长焦画面,便于后期剪辑。
  • 作为 iOS 多摄采集的参考实现进行学习。

快速上手

  1. 1

    安装 XcodeGen(需要装有 Xcode 26 的 macOS)

    brew install xcodegen
  2. 2

    生成 Xcode 工程

    xcodegen generate
  3. 3

    在 Xcode 中打开工程,并在 iOS 26 真机上运行

    open DualCamSync.xcodeproj

使用前须知

  • 需要 iOS 26 和 Xcode 26,无法在更早的 iOS 版本上运行。
  • 需要支持多摄的真实 iPhone,模拟器基本不可用。
  • 多摄会话不提供 10-bit 采集格式,因此所有镜头组合都无法使用杜比视界。
  • 免费 Apple ID 签名 7 天后失效,需要重新安装。

收录于专题

标签

常见问题

DualCamSync 是什么?
基于 AVCaptureMultiCamSession 的 iOS 原生双摄同时录制 App,支持分屏与画中画预览。 DualCamSync 是一款用 SwiftUI 编写的 iOS 原生应用,可同时使用两个摄像头录制,例如广角加超广角、广角加长焦,或前置加后置。运行时会探测设备支持的镜头组合与分辨率,不支持的选项自动置灰。
DualCamSync 可以免费使用吗?用的什么许可证?
DualCamSync 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
DualCamSync 还在维护吗?
活跃维护中。DualCamSync 最近一次提交是在 2026年11月6日。
DualCamSync 适合用来做什么?
一次拍摄中同时获取广角与特写两种视角的画面。 用前置与后置摄像头同时拍摄 vlog 或表演。 并排录制广角与长焦画面,便于后期剪辑。 作为 iOS 多摄采集的参考实现进行学习。
DualCamSync 怎么安装和运行?
安装 XcodeGen(需要装有 Xcode 26 的 macOS): brew install xcodegen 生成 Xcode 工程: xcodegen generate 在 Xcode 中打开工程,并在 iOS 26 真机上运行: open DualCamSync.xcodeproj
在哪里获取 DualCamSync?
源代码和安装说明在 GitHub 上:https://github.com/YunzeChU/DualCamSync

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目