Deliver video content for spatial experiences
Spatial Computing 进阶 20m

为空间体验交付视频内容

Deliver video content for spatial experiences

2023年6月5日

在 Apple 官方观看视频

一句话判断

空间计算平台的视频交付基于 MV-HEVC(多视图 HEVC)——一个视频轨道同时包含左右眼画面,2D 设备自动回退到单眼播放,3D 设备解码出立体画面。这个”2D Plus Delta”的设计让现有 HLS 工作流几乎不用改。

这场 Session 讲了什么

Session 介绍了如何为空间计算平台准备和交付 3D 视频内容,建立在现有 HLS(HTTP Live Streaming)工作流之上。

2D 内容回顾

  • 编码:HEVC 视频编码、多语言音频(支持 Spatial Audio + 立体声回退)、WebVTT 字幕。
  • 打包:使用 Apple HLS 工具将编码后的媒体转为 fMP4 片段和播放列表。
  • 交付:通过 CDN 分发。

空间计算平台的播放能力

  • 最高 4K 分辨率。
  • 90Hz 刷新率,24fps 内容自动使用 96Hz 模式。
  • 支持 SDR 和 HDR。

3D 立体视频的核心技术——MV-HEVC

  • Multiview HEVC 是 HEVC 的扩展,一个视频轨道包含左右眼两个视图。
  • “2D Plus Delta” 编码策略:基础 2D 视图(如左眼)使用标准 HEVC 编码,右眼只编码与左眼的差异(delta)。
  • 2D 播放器只能看到基础视图,正常播放 2D 内容;3D 播放器解码两个视图呈现立体画面。
  • Apple Silicon 原生支持 MV-HEVC 解码。
  • 新增 Video Extended Usage(VEXU)box 作为轻量级信号,标识视频是否为立体格式。

HLS 适配

  • 新增 fMP4 timed metadata 支持,用于携带立体视频的适配信息。
  • 现有 2D HLS 工作流可以继续使用,3D 内容是在此基础上的增量扩展。

值得深挖的点

“2D Plus Delta” 是整个设计的核心。它解决了 3D 视频的向后兼容问题——同一个视频文件在 2D 设备上正常播放单眼画面,在 3D 设备上自动解码出立体画面。这意味着你不需要为不同设备维护两套视频资源,一套文件覆盖所有设备。

MV-HEVC 的编码效率来自对左右眼画面之间冗余的利用。同一时刻左右眼画面大部分内容是相同的(只是视角略有不同),编码器只需要描述差异部分。这使得 3D 视频的码率不会是 2D 的两倍,增量相对可控。

96Hz 的 24fps 优化模式是为了消除 3:2 pulldown 的抖动。24fps 内容在 90Hz 显示器上需要做帧率转换(24 不能整除 90),96Hz 刚好是 24 的整数倍,每帧显示 4 次,画面更流畅。这个细节体现了 Apple 对视频体验的极致追求。

代码片段

MV-HEVC 的概念结构:

// MV-HEVC 视频轨道结构
// 每个 compressed frame 包含:
// - Base view (左眼): 标准 HEVC 编码
// - Delta view (右眼): 与左眼的差异编码

// 视频格式描述中的新增字段:
// - Video Extended Usage (VEXU) box
//   - 标识视频为立体格式
//   - 指定包含的视图(左右眼)
//   - 轻量级信号,易于发现

// HLS 播放列表适配:
// - 使用 fMP4 timed metadata 携带立体视频信息
// - 与现有 2D HLS 工作流兼容

HLS 打包和交付的工作流:

// 3D 视频制作流水线
// 1. 编码:源视频 -> MV-HEVC 编码
//    - 左右眼画面打包在同一个视频轨道
//    - 基础视图 + 差异视图

// 2. 打包:MV-HEVC 文件 -> fMP4 片段
//    - 使用 Apple HLS 工具
//    - 包含 VEXU box 标识立体格式
//    - 包含 timed metadata

// 3. 交付:fMP4 片段 -> CDN
//    - 2D 设备播放基础视图(自动回退)
//    - 3D 设备解码两个视图(立体播放)

最佳实践

  • 优先使用 MV-HEVC 编码 3D 视频,确保 2D/3D 设备的兼容性。
  • 音频同时提供 Spatial Audio 和立体声回退版本,覆盖所有设备。
  • 字幕使用 WebVTT 格式,与现有 HLS 工作流一致。
  • 使用 VEXU box 正确标识立体视频格式,帮助播放器识别。
  • 24fps 内容让系统自动使用 96Hz 模式,无需手动配置。
  • 现有的 2D 视频内容直接可用,空间计算平台完整支持。

还有什么值得关注

  • Apple HLS 开发者页面提供文档、工具、示例流和论坛链接。
  • “Create a great spatial experience for video playback” Session 详细介绍视频播放体验。
  • MV-HEVC 规范随 SDK 提供,VEXU box 结构会持续演进。
  • 编码工具可以从 Apple Developer 网站获取。
  • 3D 视频的最佳实践仍在建立中,关注 HLS 文档的更新。
WWDC 2023