Highlight
Apple Immersive Video 直播制作采用 ProRes 编码视频、ASAF 空间音频和 JSON 元数据的 SMPTE 2110 IP 网络传输标准,通过 AVFoundation、VideoToolbox 和 Immersive Media Support 框架实现无损耗的录制与回放工作流。
核心内容
传统 2D 直播和沉浸式直播的差异,本质上是”在家看比赛”和”置身现场”的体验差距。
今年早些时候,Apple 通过 Spectrum SportsNet 和 NBA 应用,首次在 Apple Vision Pro 上实现了 LA Lakers 比赛的实时沉浸式直播。观众可以坐在场边”不可及的座位”,观看真实比赛,感受现场人群的呐喊。
实现这种体验,背后是一套全新的制作流程。
传统 2D 广播的视频分辨率是 4K,而沉浸式视频需要达到 8K 立体分辨率——大约是传统信号的 32 倍。帧率也需要翻倍。音频方面,传统立体声或 5.1 环绕声已不够用,Apple Spatial Audio Format (ASAF) 可以支持 64 个或更多声道,将观众完全包裹在空间音频中。
这些巨大的数据量,让传统广播工具和传输方式无法胜任。Apple 重新设计了整个工作流:
制作领域:摄像机、麦克风、图形生成器等设备采集内容,通过视频切换台完成实时制作。
传输领域:编码后的内容通过 IP 网络实时传输给观众。
传统广播常用未压缩视频,但这对沉浸式视频不现实——数据量太大。Apple 选择 ProRes 作为编码格式。ProRes 在图像质量和带宽之间取得了平衡,更重要的是 Apple Silicon 对 ProRes 处理有硬件加速优化。
传输层采用 SMPTE 2110 标准。这是专业媒体 IP 传输的行业标准,用 RTP 协议在网络上传输媒体。2110-22 标准传输压缩视频,2110-30 标准传输音频,2110-41 标准传输用户自定义元数据(如镜头校准数据、创意事件、运动数据)。
这套标准带来的最大优势是”无损工作流”。传统 2D 制作中,视频编码、解码、再编码会导致代际质量损失。而沉浸式视频全程使用 ProRes,录制到文件时无需额外编码,直接将 ProRes 帧复制到 MOV 容器中,回放时再读出传输,全程保持原始质量。
详细内容
媒体格式组成
Apple Immersive Live Video (02:53)
Apple Immersive Live Video 完全由流式 ProRes 帧组成。与传统广播摄像机使用未压缩视频帧不同,ProRes 在保持高保真度的同时将信号压缩到实用尺寸。
视频分辨率为 8K 立体,是传统 2D 广播的 32 倍,帧率是传统制作的两倍。这些数字直接服务于一个目标:匹配人类视觉敏锐度,让观众感觉”真的在那里”。
ASAF 空间音频 (02:45)
Apple Spatial Audio Format (ASAF) 混音由标准未压缩 PCM 音轨组成,携带高阶 ambisonic 基底和空间音频对象。ASAF 混音可包含 64 个或更多声道,将观众沉浸在丰富的空间音频体验中。
元数据格式 (02:41)
元数据以每帧 JSON 对象形式传递,包含描述相关视频和音频馈送的属性:镜头校准、创意事件、空间音频行为等。
SMPTE 2110 传输标准
2110-22:压缩视频传输 (03:05)
沉浸式 ProRes 视频以 2110-22 流形式在网络上传输,这是 IP 压缩媒体的标准。这个 2110-22 流同时包含沉浸式内容的左右眼,作为两个独立的数据本质,但包含在单个流中。
这意味着无需将每只眼睛帧打包成单个图像光栅,或为每只眼睛产生单独的 IP 流。这消除了制作架构中独立左右眼视频馈送的复杂管理。
2110-30:音频传输 (03:46)
ASAF 音频以标准 2110-30 流形式在网络上传输。这些包含组成 ASAF 空间音频混音的高阶 ambisonic 和音频对象通道。
2110-41:元数据传输 (04:11)
JSON 对象通过 2110-41 每帧传输,这是 IP 用户自定义元数据传输的标准。它携带重要的元数据信息——如镜头校准、创意事件和运动数据——与 -22 视频和 -30 音频馈送实时并行传输。
无损耗录制与回放
ProRes 的优势 (04:25)
在传统 2D 工作流中,将实时视频录制到文件时,编码、解码、再编码会导致视觉质量损失。在 Apple Immersive Video 中,即使是很小的质量下降也会显著影响客户体验,特别是随着压缩和解压缩多次循环导致的代际损失随时间复合。
沉浸式格式解决了这个问题:一切都是 ProRes。
录制到文件 (04:47)
因为实时媒体原生生成为文件友好的 ProRes 有效载荷,录制到磁盘不需要额外的编码或解码步骤。相同的 ProRes 帧只是直接复制到 MOV 文件中,并在播放期间读回实时 2110 流——未经任何处理。
实际上,这意味着实时内容可以由摄像机生成,在设备之间传输,录制到磁盘,编辑,并重复播放输出,整个过程对质量没有影响。
写入 MOV 视频轨 (06:47)
使用 AVFoundation 的 AVAssetWriter 将视频馈送保存到 QuickTime MOV 视频轨:
import VideoToolbox
let compressionProperties: [String: Any] = [
// ...
kVTCompressionPropertyKey_ProjectionKind as String: kVTProjectionKind_AppleImmersiveVideo
// ...
]
关键点:
kVTProjectionKind_AppleImmersiveVideo是新增的 VideoToolbox 属性- 它会向文件添加正确的 VEXU (Video Extended Usage) 静态元数据
- 这个元数据向其他应用标识该文件为沉浸式内容
- 生成的 MOV 文件包含与实时流相同的未修改分辨率、帧率和立体图像数据
写入音频轨 (06:30)
音频馈送以通常方式保存——2110 流中的未压缩 PCM 使用 AVAssetWriter 直接写入 MOV 的音频轨。
写入元数据轨 (06:41)
流式 JSON 数据使用 AVAssetWriter 写入 MOV 容器内的 Metadata Box Exchange format (MEBX) 轨道。存储前,流式 JSON 数据必须反序列化、解析,然后使用 Immersive Media Support (IMS) 框架创建镜头校准对象、摄像机 ID 和其他元数据对象,这些对象与视频和音频同步写入 MOV。
Immersive Media Support 框架
IMS 简介 (07:09)
IMS 首次在 visionOS 26 中引入。它支持读取和写入 Apple Immersive Video 的基本元数据,并为创意工作流中的内容预览提供功能。
虽然沉浸式视频和音频已经由知名技术驱动——如 AVFoundation、VideoToolbox 和 Core Audio——但 IMS 是专为 Apple Immersive Video 构建的强大框架。
文件回放工作流 (07:49)
在文件播放场景中,所有过程都反转。视频、音频和元数据媒体类型直接从 MOV 中的轨道读取,并使用所有相同的框架和库重新传输回 2110 输出流,用于更广泛的生产。
核心启发
1. 实时沉浸式流分析工具
做什么:使用 AVFoundation 解析 2110-22 视频流中的 ProRes 帧,实时监控质量指标(如码率、帧率、立体视差),在制作过程中发现潜在问题。
为什么值得做:8K 立体视频的数据量是传统 2D 的 32 倍,任何质量下降都会显著影响观众体验。实时监控能在问题发生时就发现,而不是等观众投诉后再排查。
怎么开始:用 AVAssetReader 读取 2110-22 流,配合 VideoToolbox 解码器解析 ProRes 帧,提取帧率、码率等元数据做实时监控。入口:AVAssetReader + VideoToolbox 解码器
2. 元数据验证器
做什么:利用 IMS 框架解析 2110-41 流中的 JSON 元数据,验证镜头校准数据的有效性、检查运动数据的一致性,确保传输的元数据符合生产标准。
为什么值得做:元数据与视频、音频实时并行传输,如果镜头校准数据有误,观众的沉浸式体验会立刻出问题(如画面扭曲、空间定位不准)。自动验证能在播出前拦截错误。
怎么开始:用 ImmersiveMediaSupport 框架的元数据解析 API 读取 2110-41 流的 JSON,验证关键字段(如镜头参数、摄像机 ID)的完整性和数值范围。入口:ImmersiveMediaSupport 框架元数据解析 API
3. 即时回放系统
做什么:构建低延迟的即时回放工具,将实时 2110 流直接写入 MOV 文件,然后立即读出回放,整个过程保持 ProRes 无损质量。
为什么值得做:传统录制需要编码再编码,每次循环都损失质量。Apple Immersive Video 全程使用 ProRes,录制时直接将 ProRes 帧复制到 MOV 容器,回放时再读出传输,零质量损失。
怎么开始:用 AVAssetWriter 将 2110 流的 ProRes 帧直接写入 MOV 视频轨,PCM 音频写入音频轨,JSON 元数据通过 IMS 框架解析后写入 MEBX 轨。回放时用 AVAssetReader 读取各轨重新组装成 2110 流。入口:AVAssetWriter 写入 + AVAssetReader 读出
4. 空间音频监控工具
做什么:解析 2110-30 流中的 ASAF 音频,可视化 64+ 声道的空间布局,帮助音频工程师实时调整混音平衡。
为什么值得做:ASAF 混音包含 64 个或更多声道,传统立体声监控工具无法呈现空间分布。可视化工具让音频工程师能直观看到各声道的空间位置和电平,快速发现混音问题。
怎么开始:用 AVAudioEngine 接收 2110-30 流的 PCM 数据,通过 Core Audio 的 ambisonic 解码能力解析 ASAF 格式,将各声道的空间位置渲染成可视化界面。入口:AVAudioEngine + Core Audio ambisonic 解码
5. 网络延迟监控器
做什么:监控 SMPTE 2110 RTP 流的传输时间戳,计算端到端延迟,帮助优化网络配置和设备同步。
为什么值得做:沉浸式直播对同步要求极高,视频、音频、元数据三条流必须严格对齐。RTP 时间戳漂移会导致音视频不同步,直接影响观众体验。
怎么开始:解析 RTP 包头中的时间戳字段,对比发送端和接收端的时间戳差异,计算端到端延迟。设置阈值告警,延迟超标时通知制作团队调整网络配置。入口:RTP 包解析 + 时间戳对比分析
关联 Session
- Learn about Apple Immersive Video technologies — Apple Immersive Video 技术基础和创意原理
- Support immersive video playback in visionOS apps — 在 visionOS 应用中支持沉浸式视频播放
- Immersive environments — 沉浸式环境设计和实现
- RealityKit — RealityKit 框架更新
- Metal — Metal 性能优化
评论
GitHub Issues · utterances