手机不只负责拍完再导出

我想让手里的 iPhone 直接成为一个网络机位:手机采集画面与声音,电脑上的制作软件接收,省去先拍摄、再导入的步骤。OMTCam 围绕这条链路开发,支持 OMT 与 NDI High Bandwidth 两种输出方式。

做出相机预览只是起点。镜头切换后锁定状态是否正确、手机显示的画面是否和输出一致、声音有没有到达、电脑接收是否连续,都需要分别验证。

从能出画面,到能解释每个状态

相机界面把分辨率、帧率、画质、镜头和输出协议放在一起;对焦、曝光、白平衡可以独立锁定。音频部分保留输入来源、实际采样率与声道信息,并区分“语音”和“原声”两种处理方式。

这些细节来自开发中遇到的具体问题:切换镜头后需要清除旧锁定;设备不支持的格式需要回退;预览与输出应使用同一份处理后的画面;进入温度保护时,需要说明为什么暂时关闭美颜。连接状态也要区分准备、等待接收和正在发送,避免把“已启动”误认为“电脑已经收到”。

这次补拍 / 2026.09.24

上方四张图片是在 iPhone 17 Pro Max 上,重新签名安装现有源码后的真实开发版截图。相机预览、采集输出、美颜和音频设置均直接从设备保存,保留了当前英文界面。拍摄时没有开始推流,也没有重新测量接收端表现。

补拍中仍观察到预览倒置,画面还提示设备温暖。音频设置显示“开始推流后查看活动输入”,没有填入示意读数。下面的方向修复是 9 月 8 日特定测试条件下的历史结果;这次出现的现象说明,当前运行条件下的方向处理仍需复核。

开发记录 / 2026.09.08

下面按当时保存的 QA 与排查文档整理。它们是有日期的开发记录,不代表这次重新跑过全部测试。

01 / 把基础能力放到真机上验证

当时的 Release 构建完成归档,并以开发签名安装到 iPhone 上运行。iPhone 17 Pro Max / iOS 27 beta 的测试记录为 28 项通过、0 项失败、0 项跳过,包括编解码、协议、画面处理与可靠性检查。

其中一项硬件集成测试实际使用摄像头和麦克风,检查独立 AF / AE / AWB 锁定、前后摄像头切换后重置、OMT / NDI 启动、处理后的相机帧,以及语音与原声音频模式。它通过应用方法触发暂停和恢复,不能代替真实来电、锁屏等系统中断测试。

02 / 截图发现了一个“画面是横着的”问题

早期使用固定旋转角度,连接的相机输出出现方向错误。调整为根据界面与传感器方向处理后,手机截图和独立 NDI 接收端都确认了 1080 × 1920 的竖屏画面。

这次修正提醒我:预览看起来合理,还要检查最终接收的尺寸与方向。接收端也在短时测试中收到视频和非零 Float32 音频,并在发送端重建后继续收到画面;这些结果仍不等于长时间稳定性验收。

03 / 手机流畅,电脑却仍然卡顿

同一天的后续使用中,手机显示 1080p30、约 9 ms 处理耗时,但电脑接收画面仍有顿挫。手机的帧率只是本机处理与提交指标,不能代替接收帧率。

排查因此转向接收时序:OBS 日志出现音频迟到与来源重启;另外用官方 NDI SDK 做了一个只订阅音频的独立探针,观察数据到达节奏,没有录制声音内容。

当时观察到的内容能说明什么
90 秒收到 901 包,共 90.1 秒音频这段采样收到了持续的音频数据
音频采集 timecode 连续,SDK 报告队列丢包为 0未观察到明显采集时间缺口或该队列丢包
相邻音频包最大到达间隔 348.4 ms到达节奏有抖动,仍需区分发送、网络与接收调度

这些是音频观察,不能替代视频帧时序测量,也不能据此断言 Wi-Fi 就是根因。

04 / 保留没有改善的对照结果

保持手机推流参数、网络、接收带宽与延迟设置不变,只切换 OBS 的同步方式,各观察 45 秒。“来源定时”记录到 8 次音频迟到并重启,“网络”模式为 11 次;观看反馈是“差不多”。

这轮短时对照没有显示明确改善,也不足以从 8 次和 11 次判断哪个模式更好。随后恢复了原来的来源定时设置。接收卡顿仍是待解决问题,这个结果也应该留在作品记录里。

我和 AI 怎么一起推进

我提出真实使用中的问题,并在手机和电脑上观察结果;AI 协助拆解采集、处理、传输与接收之间的边界,补充检查项、整理日志和对照记录。每次修改之后,再回到实际画面和接收端验证。

这件作品的进展不只是一张完成的界面,也包括发现输出方向不对、分清手机帧率与接收帧率,以及记录一次没有改善的试验。

下一步

继续做有线网络或较低接收带宽的单变量对照,同时记录视频与音频的时间戳、到达间隔和发送耗时。还需要补上不同接收软件的兼容性、实际系统中断、重连和 30–60 分钟持续运行验证。

OMTCam 仍是开发中的作品,已有真机验证记录,尚未正式上架。技术上结合 Swift、原生音视频采集、Metal 图像处理、VMX 编码和局域网传输。NDI® 是 Vizrt NDI AB 的注册商标。

过程依据:项目内《OMTCam QA status — 2026-09-08》与《NDI 接收卡顿排查 — 2026-09-08》。这里整理了观察条件和结论,不公开设备标识、网络地址或私人原始日志。