经过三个月的测试工作,Apple 在 9 月正式为 Apple Vision Pro 推出了 visionOS 26 系统更新。
除了大家耳熟能详的小组件、新版自影像以外,还有一项特性也获得了不少人的关注,那就是对于来自 Insta360、GoPro 和佳能设备拍摄的 180 度、360 度和宽视场内容原生播放的支持。刚好我手里有一台 Insta360 X5,便研究了一下在 visionOS 26 播放第三方沉浸式视频的相关细节,在此作一个简单分享。
visionOS 中的视频类型
在开始之前,先简单介绍一下 visionOS 目前支持播放的几种视频类型。
2D 和 3D 视频
顾名思义,2D 视频与我们使用 iPhone、Mac 等平面设备观看的视频并无二致,内容通过窗口播放,可以内嵌在网页或者独立的 app 中。
当我们在平面设备上观看 2D 内容时,可以点击最大化按钮,让视频以全屏形式占满整个屏幕播放;在 Apple Vision Pro 中 2D 平面视频内容虽然无法「全屏」播放,但也有相应的「最大化」按钮,Apple 将其称为「扩展式播放」。
扩展式播放的 2D 视频内容会以独立窗口的形式,在 Apple Vision Pro 的环境中占满整个窗口播放;如果开发者为自己的 app 使用了 Apple 官方提供的 Reality Composer Pro 或 AVKit 开发工具,扩展式播放窗口还可以切换至「悬停状态」停靠在 visionOS 空间中的指定位置,此时窗口位置、大小不可调整,环境会根据窗口播放内容实时模拟呈现窗口屏幕在环境中的动态光线反射效果,类似虚拟影院的感觉。

3D 视频的播放与 2D 视频类似,但可以提供类似在电影院观看的窗口 3D 视频效果。为了达到这一效果,Apple 为开发者提供了多视图编码 (MV-HEVC) 格式,与传统 VR 内容的左右或上下帧合并形式不同,多视图编码在视频工程文件的同一轨道里存储了多个独立视图层,使左右眼帧的画面具有相同分辨率并共享时间轴,这样也能保证最终视频文件能够向下兼容普通 HEVC 格式播放。
对于开发者而言,视频片源需要分别提供时长和帧率完全一致的左右眼文件,且使用高位深格式和 HDR 色彩空间重新将文件编码为 MV-HEVC,MV-HEVC 轨道会通过 vexu 扩展 (Video Extended Usage) 标明该轨道的左右眼视图和默认视图,以便播放器确定如何将每个视图映射到用户的左眼或右眼。
目前在 Apple Vision Pro 中,我们主要可以通过视频 app (外区) 或 Disney+ app 观看众多 3D 版本的热门影视内容,获得影院级的 3D 观影体验。

空间视频
空间视频是 Apple 在 visionOS 中提出的新概念,视频内容可以按照真实尺寸呈现在视野中,同时窗口边缘会以淡出的形式与周围环境形成自然过渡的效果。这种处理方式能够让画面与环境之间不致于突然产生强烈的深度错觉,同时提供身临其境的观看感受 。同样地,空间视频也做到了向下兼容,能够在 Apple Vision Pro 或 iPhone 等设备中以传统 2D 画面的形式播放。

从技术角度来看,空间视频同样采用了 MV‑HEVC 编码格式,将左眼与右眼视图分别存储在多视图图层轨道中,并通过 QuickTime 容器的 vexu 扩展加入了描述左右视图、默认视图、视差等关键信息 。此外,空间视频还含有额外的元数据,如实际拍摄距离等,这些数据会影响窗口深度和视角的呈现。
180°、360° 和宽视场视频
在 visionOS 26 中,Apple 将传统的 180°、360° 和宽视场视频统称为「沉浸式视频」,与前述的 2D、3D 和空间视频采用直线投影 (Rectilinear projection) 不同,在 Apple Vision Pro 这样的空间计算设备中,渲染空间并不仅局限于我们观看前方的平面区域,开发者也可以在虚拟环境中的观看者周围铺满像素,并且需要考虑镜头曲率或弯曲变换,因此需要采用非直线投影 (Nonrectilinear projection) 方式渲染视频内容。

180° 视频通过「半等距柱状投影」将正方形的画面映射到半球区域中 ,内容会填满观看者前方的半球区域视野。360° 视频则采用「等距柱状投影」,画面为宽高比为 2:1 的矩形画面,这样可以使画面在投射时水平轴能够覆盖 −180° 至 +180° 的区域,垂直轴能够覆盖 −90° 至 +90° 的区域,将观看者完全包围在沉浸空间中,也是 VR 行业通用的投影方式。


宽视场视频是 visionOS 26 中新支持的非直线投影视频类型,采用「参数化投影」方式。宽视场视频会根据每个广角或鱼眼镜头的内部参数和畸变模型生成投影函数,再通过 visionOS 26 引入的 APMP 格式文件存储的镜头焦距、光学中心、畸变矩阵等参数,由播放器矫正弯曲曲线后映射画面,可在曲线上复原真实视角,同时消除画面中的畸变和鱼眼效果,让直线看起来不再弯曲。

这三种非直线投影类型的 3D 视频同样采用了 MV-HEVC 视频编码技术,作为高效视频编码技术 HEVC 的「立体」版本,MV-HEVC 能够将左右眼的画面像素分别编写到不同的缓冲区中,并根据双眼画面的相似性仅编码不一致的部分,这样不仅能够有效降低立体视频文件的体积大小,也有利于提高视频编码渲染的效率。

Apple Project Media Profile
上述提到 visionOS 26 引入了新的 APMP 元数据规范,全称为 Apple Projected Media Profile,包含 Projection Box、Lens Collection Box 和 View Packing Box,分别记录投影类型、镜头内参 / 畸变模型以及视图排列方式 。APMP 只负责描述「如何投影」以及「镜头参数是什么」,并不规定视频编码。现有的 180° / 360° 视频可通过工具注入 APMP 元数据后,在 visionOS 26 中获得原生播放体验。
APMP 文件通过 vexu 扩展存储的元数据信号指明视频所采用的投影方式,以便播放器在渲染时正确还原视频效果,同时提供向下兼容性。可以说,APMP 为非直线投影视频提供了统一的描述和兼容层,使其既向下兼容已有的 180° / 360° 内容,也能向上支持新一代宽视场和双眼立体拍摄视频内容。

也正是得益于此,用户得以凭借手中的消费级设备,就能在 visionOS 26 中原生播放自己拍摄的 180 度、360 度和宽视场内容。
在 Apple Vision Pro 中播放 Insta360 全景视频
在 visionOS 26 正式推出之后,我也尝试用手里的 Insta360 X5 全景相机拍摄了一些视频内容,并将他们导入至 Apple Vision Pro 中播放。Insta360 X5 配备了双 1/1.28 英寸像素传感器,支持 8K 30 fps、5.7K 30 fps、5.7K 60 fps 以及 4K 60 fps 的高规格视频拍摄,接下来我们先看看用它怎么拍、再看看它拍得怎么样。
以 Insta360 X5 的普通录像模式为例,这个模式下拍摄的单个视频会在存储卡中分别生成后缀格式为 .insv 和 .lrv 的文件,其中前者为 Insta360 的专有文件格式,用于存储高比特率的两路鱼眼视频数据以及陀螺仪 / 加速度计数据、曝光值、时间戳等各类传感器信息,是拍摄得到的主要文件内容;后者是 Insta360 相机为拍摄内容自动生成的低分辨率代理文件 (Low-Resolution Video),用于快速查看或在剪辑工具中预览调用,以减少硬件负载和渲染压力。

可想而知,Insta360 X5 拍摄得到的 .insv 视频文件并不能直接在 Apple Vision Pro 中预览和播放,这时候就要用到 Insta360 Studio 这款软件对文件进行导出处理 (其它支持品牌的相机也需要经过类似操作)。
对于 Insta360 Studio 的其它功能,这里不作展开介绍,直接看导出菜单。打开 Insta360 Studio 选中相应视频并选择导出后,我们需要在导出菜单中选择「全景视频」,并勾选下方的「APMP」选项,勾选导出时 Insta360 Studio 会将成片按 APMP 投影媒体规范封装与标记,让其在 Apple Vision Pro 中能被识别成可原生播放的沉浸式视频,同时在不支持的设备上能够回退为普通 2D 视频形式播放。

体验与感受
如上所述,Insta360 X5 是一台支持 8K 30 fps、5.7K 30 fps、5.7K 60 fps 以及 4K 60 fps 等高规格视频拍摄的全景相机,用它拍摄能够在 Apple Vision Pro 中沉浸式播放的视频,想想就很美好。
但结果却不尽如人意。最开始我用 Insta360 X 拍摄完 5.7K 60 fps 和 4K 60 fps 的视频之后,不论是在 iPhone、Mac 还是 Apple Vision Pro 中播放平面视频时都没有任何问题:画面清晰度高,帧率表现也相当顺滑。但在通过 Insta360 Studio 导出成符合 APMP 标准的视频文件之后,Apple Vision Pro 确实可以直接以沉浸式观看形式播放了,但清晰度却低得看不清任何细节。
我转而用 Insta360 X5 拍了一些 8K 30 fps 的素材再次测试,此时 Apple Vision Pro 中的沉浸式画面清晰度依然很低,但勉强到了将就能看的程度。

经过一番研究之后,我发现「问题」并不出在 Insta360 身上,而是出在显示端即 Apple Vision Pro 上。如上所述,当我们在 Apple Vision Pro 观看 360° 的沉浸式视频时,显示区域实际上为一个球状表面,即使通过 8K 的规格 (7680x3840,总像素约 3000 万) 拍摄视频,这些像素会被分布在这个完整的球面上。
这与我们观看平面视频不同,当在 iPhone 或 Mac 这样的屏幕上观看平面视频时,视频的所有像素均完整呈现在屏幕中,这时从传统意义上看即使是更低清晰度的 2K 甚至是 1080P 视频,实际观感也不至于太差。但在 Apple Vision Pro 这样的 VR 设备中观看沉浸式视频时,所有画面像素会被投影在「包裹」观看者的整个球状平面上,而作为观看者的我们实际上只能看到视场角以内的部分像素,这就导致了同一个视频分别在 VR 设备以沉浸式播放与在平面设备上播放时,视野内的有效像素密度有很大的差异。
根据网络上已有的测试结果来看,Apple Vision Pro 的水平视场角约为 100°、垂直视场角约为 90°,经过不准确的大致计算:(100/360)x(90/180)=0.139=1/7.2,实际上在 Apple Vision Pro 中观看由 Insta360 X5 拍摄的 8K 规格视频时,我们仅能看到整个球面约 1/7 的区域,实际可见区域的有效分辨率密度会大幅降低,因此导致了画面清晰度不足的问题发生。
但是话说回来,即使是在画面清晰度不足的情况下观看,通过 Apple Vision Pro 看到过去某一时刻的情景重现,依然会有一种奇妙的感受,要比观看空间视频的体验更加有意思。
对了,还有一点需要注意的是,从 visionOS 中已有的官方沉浸式内容里不难看出,Apple 为了提供更好的观看体验也是下足了功夫:这些视频大部分都在画面部分尽量避免机位的长时间大幅度运动,镜头移动也使用了专业的云台、机械臂等设备以确保画面平滑展开,能够更大程度上降低观看 VR 内容可能导致的晕眩等问题。
但是,我们自行拍摄的视频一般都是随意的日常记录,没有事先准备好的分镜策划、也没有专业的器材辅助,画面抖动等情况在所难免,我在观看这些自己拍摄的视频内容时,很快就产生了头晕的症状,在看官方内容时则没有这个问题。
结语
像是 Insta360、GoPro 这样的消费级设备能与 visionOS 26 联动,让这些曾经的回忆在虚拟现实中重现,这是一个令人期待的开始,很高兴 Apple 与这些品牌们一起先迈出了第一步,即使它们的效果目前还没有那么好。说不定日后通过 AI 技术还原或者更强大的硬件设备,我们真的能够在像 Apple Vision Pro 这样的设备中,完全真实地还原彼时彼刻的此情此景也不一定。
话说回来,通过 Insta360 X5 这样的全景相机,我们已经能够将难忘的时刻以全景记录的形式留存下来,并通过 iPhone 或 Mac 这样的设备高清回看,这已然是一份足够珍贵的数字存档。当然也期待日后能有在 Insta360、GoPro 和佳能之外,更多品牌能够给我们带来更为多样与生动的回忆呈现方式。
参考链接
- ISO Base Media File Format and Apple HEVC Stereo Video
- QuickTime and ISO Base Media File Formats and Spatial and Immersive Media
- Reality Composer - A visual editor for RealityKit AR scenes
- 探索 visionOS 中的视频体验
- 了解 Apple Projected Media Profile
- 为空间体验交付视频内容
- What video file resolution do we need for 360 3D video to max out the CV1 / Vive 2160x1200 displays.