4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

STYLYAdvent Calendar 2024

Day 9

Apple Vision Pro の Spatial Videoについて調べてみた

Posted at

はじめに

Apple Vision ProのSpatial Videoについて調べてみました。

Spatial Videoについて

  • 右目用、左目用の映像を動画にしたステレオ立体視映像
  • メタデータにより、Vision Proでの再生時に空間的に最適な表示を行う
  • フォーマットはMV-HEVC(Multiview High Efficiency Video Encoding)

メタデータについて

  • Baseline
    • ステレオカメラの撮影時の距離。例:64cm
  • Field of view
    • カメラの視野角。例:60°
  • Display adjustment
    • 視差調整値。正の値だと背面に、負の値だと正面に飛び出て見える。例:+2%

こちらのWWDC24の動画で詳細まで説明されています。

image.png

image.png

image.png

Spatial Videoを撮影する

Spatial Videoの撮影方法は、現状以下のデバイスで可能です。

  • Apple Vision Pro
  • iPhone 15Pro/ProMax
  • iPhone 16全モデル

メタデータの調べ方

Vision Proで撮影したSpatial Videoをffprobeで解析したところ、以下の情報が出力されました。

   Side data:
        stereo3d: unspecified, view: packed, primary eye: none, baseline: 19240, horizontal_disparity_adjustment: 0.0200, horizontal_field_of_view: 63.400     
  • baseline: 19240
  • horizontal_disparity_adjustment: 0.0200
  • horizontal_field_of_view: 63.400

baselineが19240というのは良くわかりませんが、display adjustmentとfovはそれらしい値が取れました。

Spatial Videoを再生する方法

Spatial Videoの再生方法は公式にはApple Vision ProのPhotoアプリで再生可能です。
他にもSpatial Videoを再生可能なアプリはあるようです(未調査)

Spatial Videoのプレイヤーを作る

Xcodeで再生する

先に紹介したWWDC24のBuild compelling spatial photo and video experiencesの動画で実装方法が紹介されています。

Unityで再生する

VisionOSVideoComponentで再生可能です。
注意点として、動画ファイルはvideo clipとして設定し、同じファイルを/StreamingAssets/VisionOSVideoClips/に配置する必要があります。
URL指定は出来ません。

余談

display adjustmentでの調整により、左目の画像は左にずらし、右目の画像は逆に右にずらしています。
ずらして余白ができる部分には端の映像が引き伸ばされるような形になっていました。
image.png

この辺り、公式のPhotoアプリは端をぼかしていて見せ方が上手いなと思いました。

Spatial Videoを作る

Apple 公式のConverter

Side By Sideの videoを MV-HEVCに変換するサンプルプロジェクト

Spatial Videoにする場合は実行時引数で--spatial...を有効にする必要があります。
また、動画の音は無くなるので、別途audio部分を合成する必要があります。

image.png

Spatial Video Tool

Spatial Video ⇔ SBS or OU Stereo Video相互変換ツール ( Mac command line tool )
https://blog.mikeswanson.com/spatial/

こちらは音がなくなる事もなく、便利です。
Macでのみ動作します。

Spatial Video → SBS動画変換

./spatial export -i spatial_test.mov -f sbs  -o side_by_side.mov

SBS動画 → Spatial Video変換

./spatial make -i side_by_side.mov -f sbs  -o new_spatial.mov  --cdist 19.24 --hfov 63.4 --hadjust 0.02  --primary right --projection rect

メタデータを変更して見た目を比較する

メタデータを変更した動画で見た目を比較してみました。

FoVを60-90で比較した場合
Photoアプリのwindowモードでは違いがなく、Immersiveモードにすると、90°の方が大きく表示されました。
数値を変更してみましたが、Photoアプリでは最小60°、最大90°でそれを超えた値を指定しても変化はありませんでした。

参考

Xcodeでのプレイヤーサンプル

GitHub - mikeswanson/SpatialPlayer: An example spatial/immersive MV-HEVC video player for Apple Vision Pro

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?