-
为 Apple 沉浸视频构建实时制作工具
深入了解 Apple 沉浸视频实时制作的幕后过程。探索如何打包沉浸视频、空间音频和场景元数据,以便使用 SMPTE 2110 标准通过 IP 网络传输内容。借助 Apple 推出的 Immersive Media Support、Video Toolbox 和 AVFoundation 框架,实现 Apple 沉浸视频的实时制作流程。为了充分从这个讲座中获益,建议你观看 WWDC25 视频“了解 Apple 沉浸视频技术”。
章节
- 0:00 - Introduction
- 2:08 - Live production overview
- 5:16 - What makes immersive live different
- 7:05 - Immersive live format
- 9:09 - Real-time media transport
- 11:25 - Recording and playback
资源
- kVTCompressionPropertyKey_ProjectionKind
- CMVideoCodecType
- Apple ProRes RAW White Paper
- Apple ProRes White Paper
- Immersive Media Support
相关视频
WWDC25
WWDC20
-
搜索此视频…
欢迎收看 "Build Live Production Tools for Apple Immersive Video" 我是 Jared King 负责带领 Apple Immersive Video 直播工程团队 Apple Immersive Video 是极为 令人兴奋的媒体形式 直播 为用户体验体育 音乐 开辟了全新方式 以及娱乐活动!
今年早些时候 Apple 做了一件非凡的事 球迷们首次被带到现场 观看洛杉矶湖人队精选比赛—— 通过 Spectrum SportsNet 和 NBA 应用在 Apple Vision Pro 上实时直播 真实的比赛和球场 仿佛身临其境! 现场沉浸式摄像机让球迷 体验到无法触及的视角 数据驱动的图形 增强了赛事动态 空间音频将用户 沉浸在震耳欲聋的人群中 幕后是 Apple 构建的 直播广播平台 为赛事提供支持 并传递了这一独特体验 给世界各地的用户
我的目标是激励你 构建下一代沉浸式工具 工作流程与直播体验 对很多人来说 直播广播技术可能较为陌生 这些系统较为复杂 但在这一领域构建应用 机遇十分巨大 因此 为了打好基础…… 首先 我将概览构成 现代直播制作流程的各类系统 以及演播室 制作车辆 和全球广播设施中 用于创作内容的创意工具 理解这些基础 将大有裨益 当你开始构建 自己的沉浸式制作工具时
其次 我将介绍 现场沉浸式广播 与传统 2D 制作的区别 将用户从家中 直接带入活动现场—— 带来了全新的 一系列技术挑战 媒体格式 制作工具 以及内容在工具间的流转方式 在制作工作流程中 均已进行了重构 今天我将先进行顶层回顾 介绍直播制作流程 无论你是为沉浸式 还是传统 2D 广播而构建 理解端到端系统的 基本组成部分 至关重要
直播制作流程是一套系统 视频 音频和数据在其中被采集 并在一端进行创意制作—— 即我所说的制作域 然后编码并直播给观众 通过我所说的分发域
广播可以是大规模制作 如电视演播室和广播车 负责管理多路直播摄像机 音频源以及体育或 娱乐活动中的图形
也可以是小规模系统 如播客演播室 剧院 或本地音乐场馆 其中只会用到 部分制作要素 无论如何 最终目标相同: 直播内容在制作域中被采集和制作 在制作域完成 再经编码和传输 送达分发域中的观看者 将活动实时广播 给全体观众 但为了聚焦重点 我将主要关注 制作域的独特之处 在构建沉浸式直播时 无论规模大小 大多数直播流程 在工作流程中 依赖相同的创意工具 只是在数量和复杂度上 有所不同 取决于制作规模
直播摄像机用于 采集现场或活动的视频 通常一次制作 会使用多台摄像机 以捕捉不同的角度 或视角
例如 在本次制作中 这是摄像机 1 这是摄像机 2 那是摄像机 3 可以生成图形并叠加到视频上 以提供额外的背景信息 为制作增添创意亮点 这些元素可以是:名字—— 如刚才出现的底部字幕 显示在右上角的计分板 或复杂的视频动画 例如下方的那个 回放系统用于录制媒体 并在需要时回放素材 作为直播制作 的一部分 也可以将其存档备用 用于后期制作和剪辑
为了整合所有这些元素 视频切换台让操作员 在摄像机之间进行切换 叠加图形 制作出 观众看到的最终创意流
在音频方面 麦克风用于 采集解说员 采访 音乐元素以及制作中 的其他音源 调音台接收所有这些音源! 将它们艺术地融合 成最终成品 即观众听到的"混音"! 最后 所有这些工具 需要相互交换媒体 例如:摄像机信号—— 接入视频切换台输入 或麦克风信号—— 接入调音台 为此 每个工具通过 集中式媒体路由器互联 处理工具之间的 内容交换 可以将其视为统一的网络层 让每台设备相互 发送和接收信号 彼此互联 现在你已掌握了 直播制作的基础知识 接下来是沉浸式技术 开始分化的地方 真正的故事由此展开!
在这种形式中 保真度和临场感 在工作流程的每一步 都要加以保持 这是核心所在 当你带领用户 置身于内容之中时 这意味着 真正庞大的数字!
视频分辨率高出 32 倍 超过 2D 广播制作 通常所用的规格—— 以匹配人类 视觉敏锐度 并以两倍的 帧率进行制作! 支持 Apple Immersive Live 的音频混音 比传统立体声音频 分辨率高得多 甚至超过 5.1 环绕声
Apple Spatial Audio Format(即 ASAF 混音) 可包含 64 个或更多声道 以将观众沉浸在 丰富的空间音频体验中 这些庞大的格式和质量要求 贯穿于制作流程的每个部分 影响整个制作流程 遗憾的是 并非所有传统工具 传输方法和格式 都支持这一规模的媒体 因此 沉浸式直播需要 构建全新的工作流程 我将介绍三个关键概念 帮助你 开始在生态系统中构建工具 和激动人心的新工作流程! 首先 媒体格式标准—— 旨在提供所需的质量 同时保持高效 且切实可用 在构建直播制作工具时 其次 实时传输 沉浸式内容的方法 在制作设备之间传输 基于一项重要标准 即 SMPTE 2110 最后 将直播流保存为文件 并重新回放 是任何广播中的 基本功能 我将介绍如何将 设备的直播流保存到文件 在应用中保存 并在不损失 任何质量的前提下重新回放 我将从顶层开始 在任何制作中 设备分为三类 输出媒体的设备 例如 摄像机 麦克风 或图形生成器 接收媒体的设备 如视频编码器 或调色监视器 以及两者兼具的设备 例如视频切换台 在输入端接收摄像机信号 并将不同角度切换到播出 通过其输出端!
在任何工作流程中 所有设备必须 就统一的媒体格式集达成一致 以便通过媒体路由器 相互交换内容 无缝且实时地进行 如同一种通用语言
为此 三项现有标准 被整合为一种格式 以支持现场沉浸式制作
Apple Immersive Live 视频 完全由流式 ProRes 帧组成 而非常规广播摄像机 典型的未压缩视频帧
ProRes 是强大的视频编解码器 能取得出色的平衡 在图像质量与带宽之间 将视频信号压缩到可处理的大小 工具可以处理 同时保持所需的高保真度 的图像质量 由于 Apple Silicon 针对 ProRes 处理进行了优化 它是构建制作工具 和流程的完美平台! 如需了解更多 请参阅 "Apple ProRes"开发者文档
ASAF 音频混音由标准的 未压缩 PCM 音频轨道组成 承载高阶全景声底层 和空间音频对象
元数据以逐帧 JSON 对象的形式传递 包含描述元素 相关视频和音频流 属性的描述信息—— 如镜头校准 创意事件 空间音频行为 以及更多内容 这三项标准共同定义了 直播沉浸式制作格式
所有工具和流程必须 符合每种媒体类型的规范—— 以确保与整个 生态系统的互操作性! 其次 设备需要标准化的 传输层来交换直播视频 音频和元数据流 为此 设备的直播流 以各自的方式进行交换 作为独立的 SMPTE 2110 媒体流—— 即专业 IP 媒体传输 的行业标准
通常被称为"2110" 已广泛部署于 全球广播设施中 并与广泛的专业工具 生态系统互操作 2110 使用多播 RTP 即实时传输协议 在网络中传输媒体 RTP 流携带时序信息 用户标志 以及其他元数据 与主媒体载荷并行传输
一路 2110 流可以传输视频 音频或元数据载荷—— 每种媒体类型的传输 由更广泛的 2110 规范中 的子标准定义 我将介绍每种类型 在该模型中的位置 沉浸式 ProRes 视频 在网络中以 2110-22 流的形式传输 即 IP 压缩媒体传输 的定义标准 该 2110-22 流同时包含 左眼和右眼 的沉浸式内容 以两个独立的数据本质传输 但包含在单一流中 这意味着无需 对每只眼进行帧打包 并排到单一图像光栅中 或为每只眼 生成独立的 IP 流 这极具优势 因为消除了 复杂的管理需求 在制作架构中对独立的 左右眼视频流的管理
ASAF 音频在网络中以 标准 2110-30 流传输
其中包含构成 ASAF 空间音频混音的 高阶全景声和音频对象声道
JSON 对象通过 2110-41 逐帧传输 即通过 IP 传输 用户定义元数据的标准 这承载了重要的 元数据信息—— 如镜头校准 创意事件 和运动数据—— 与 -22 视频和 -30 音频流 实时并行传输 在制作中进行 最后 录制流 对其进行剪辑 并重新回放—— 例如即时回放 是任何直播工作流程的关键
在传统 2D 工作流程中 将直播视频录制为文件 通常会导致画质损失 因为内容被多次 编码 解码和再编码 贯穿整个典型工作流程 在 Apple Immersive Video 中 即便是微小的质量损失 也可能对用户体验 产生显著影响 尤其是世代损失 由于多次压缩与 解压缩循环 会随时间累积 幸运的是 沉浸式格式 解决了这一问题: 一切都已是 ProRes 格式!
由于直播媒体原生以 文件友好的 ProRes 载荷生成 录制到磁盘无需额外的 编码或解码步骤 当内容在工作流程中流转时 相同的 ProRes 帧被 直接复制到 MOV 文件中 在回放时再次读取到 直播 2110 流中——原封不动
实际上 这意味着 摄像机采集的直播内容 可以在设备间传输 录制到磁盘 剪辑并循环 直播回放 整个过程中 对质量毫无影响!
将视频流保存到 QuickTime MOV 视频轨道 使用 AVFoundation 的 AVAssetWriter 生成的 MOV 文件包含 与直播流相同的未改动分辨率 帧率 以及立体图像数据 保存为可用于剪辑 回放或后期制作的文件
写入 MOV 视频轨道时 重要的是要设置常量 kVTProjectionKind_AppleImmersiveVideo 在 AVVideoCompressionPropertiesKey 中 这是一个新的 VideoToolbox 属性 将添加正确的视频扩展用途 即 vexu Apple Immersive Video 的 静态元数据到文件中 向其他应用发出 沉浸式内容的信号
按常规方式保存音频流—— 2110 流中的未压缩 PCM 直接写入 MOV 的音频轨道 使用 AVAssetWriter
最后 流式传输的 JSON 数据 被写入元数据盒交换格式 即 MOV 容器中的 MEBX 轨道 使用 AVAssetWriter 在存储之前 流式传输的 JSON 数据必须被反序列化和解析 然后通过 Immersive Media Support 框架—— 即 IMS——用于创建 镜头校准对象 摄像机 ID 和其他元数据对象 写入 MOV 中 与视频和音频同步 IMS 首次引入于 visionOS 26 它支持读写 基本元数据 用于 Apple Immersive Video 并提供在创意工作流程中 预览内容的功能 虽然沉浸式视频和音频 已由知名技术驱动—— 如 AVFoundation VideoToolbox 和 Core Audio—— IMS 是一个强大的框架 专为 Apple Immersive Video 构建 当你构建下一代 制作工具时 IMS 将是最重要的 需要理解的框架之一! 查看"Immersive Media Support" 开发者文档以了解更多 然后 在文件回放场景中 所有流程被反向执行 视频 音频和元数据媒体类型 直接从 MOV 中 各自的轨道读取 并重新传输到 2110 输出流中 用于更广泛的制作—— 使用所有相同的 框架和库
现在你已理解 直播沉浸式制作的基础 正是开始行动的好时机! 使用 AVFoundation 等框架 构建自己的沉浸式工具 VideoToolbox AudioToolbox 和 Immersive Media Support 技术栈的每一层 都向创新开放
深入探索 2110 的世界 将你的工具连接在一起 构建真正的直播工作流程 访问 SMPTE 网站进一步提升 了解各种标准 和最佳实践 在网络实施中的应用 最后 务必观看: "Learn about Apple Immersive Video technologies" "Support immersive video playback in visionOS apps" 这两个视频共同 提供了有价值的背景 围绕该格式背后的 创意和技术原则
沉浸式直播的未来 才刚刚开始 它在传统广播基础上构建 引入了全新的创意 和技术可能性! 许多最好的创意 尚待发明! 这是你参与推动 这一新格式 落地并走上荧幕的机会 下次见!
-
-
13:17 - Set compression properties for vexu metadata
import VideoToolbox let compressionProperties: [String: Any] = [ // ... kVTCompressionPropertyKey_ProjectionKind as String: kVTProjectionKind_AppleImmersiveVideo // ... ]
-
-
- 0:00 - Introduction
Apple Immersive Video live streaming transports fans to sports, music, and entertainment events on Apple Vision Pro — illustrated by courtside LA Lakers games delivered live through the Spectrum SportsNet and NBA apps.
- 2:08 - Live production overview
A high-level overview of the fundamental components and creative tools that make up a modern live production pipeline, from cameras and graphics to video switchers and audio consoles.
- 5:16 - What makes immersive live different
Discover the unique scale and fidelity required for delivering Apple Immersive Video, including massive video resolutions, high frame rates, and rich Apple Spatial Audio Format (ASAF) mixes.
- 7:05 - Immersive live format
Learn about the core formats powering live immersive workflows, including streaming ProRes, uncompressed PCM audio, and per-frame JSON metadata.
- 9:09 - Real-time media transport
Explore how live immersive feeds are transported between devices in real time over IP using the SMPTE 2110 industry standard.
- 11:25 - Recording and playback
Learn how live streams are recorded to disk and played back using AVAssetWriter and the Immersive Media Support framework.