Manatee

Spatial video from an iPhone, opened on a Mac that is not a headset

You record spatial video on an iPhone, copy it to a Mac, and it plays as an ordinary clip. Or it refuses to open in an editor. Or it is far larger than an equivalent recording and you cannot see why.

Spatial video is not a new file format. It is a standard container carrying an extra view, and understanding that explains all three symptoms.

What is in the file

A spatial video is a QuickTime or MP4 file containing two video streams, one per eye, recorded by two lenses a fixed distance apart, along with metadata describing that geometry: the separation between the lenses, the field of view, and how the views relate.

On a headset, that metadata lets the two views be presented separately to each eye, producing depth. On any other display there is nothing to do with a second view, so players show one of them and you get a normal-looking video.

Inspect it:

ffprobe -v error -show_entries stream=index,codec_type,codec_name,width,height \
  -show_entries format=format_name,duration,size \
  -of default=noprint_wrappers=1 spatial.mov

Two video streams of the same dimensions is the signature. You will typically see HEVC for both.

Why it plays normally on a Mac

macOS reads the file, notices there is no stereoscopic display, and shows the primary view. That is correct behaviour rather than a limitation, and it is why spatial video is safe to keep in an ordinary library: it degrades to a normal clip everywhere that cannot use the extra information.

The depth is not lost. It is present in the file, unused.

Why the file is large

Two full video streams instead of one, at high resolution, in HEVC. Roughly double the data of an equivalent single-view recording, before accounting for the higher resolution these are typically recorded at.

If storage is the concern and you do not need the spatial information, extracting a single view halves it:

ffmpeg -i spatial.mov -map 0:v:0 -map 0:a -c copy flat.mov

-map 0:v:0 selects the first video stream only, -c copy avoids re-encoding, so this takes seconds and loses no quality in the view it keeps.

That is a one-way operation. The second view is gone, and with it any possibility of viewing the clip in depth later. Keep the original if the recording matters, because spatial video cannot be reconstructed from a single view.

Getting an ordinary shareable clip

For sending to someone, converting to a single-view H.264 file is the compatible choice:

ffmpeg -i spatial.mov -map 0:v:0 -map 0:a -c:v libx264 -crf 20 \
  -preset medium -pix_fmt yuv420p -c:a aac -b:a 192k shareable.mp4

-pix_fmt yuv420p converts from 10-bit if the source used it, which is what makes the result open on older machines and non-Apple devices.

Manatee converts and shrinks these on the Mac without uploading anything, working from a duplicate so the spatial original stays intact while you produce the flat copy. That distinction matters more than usual here, since the extra view is genuinely unrecoverable once discarded.

Editors that refuse the file

Some editing software rejects a file with two video streams, or imports it and behaves oddly. Extracting a single view first, with the -c copy command above, produces a conventional file that imports without complaint and without any quality cost.

This is the practical workflow: keep the spatial original as the master, edit a flattened copy.

Whether to record spatial at all

Worth a moment’s thought, because the storage cost is real.

Record spatial for things you would want to revisit with depth: people, places, occasions. The information cannot be added later, and headsets that display it are becoming more common rather than less.

Record normally for everything else. Documents, screens, quick clips and anything destined for a message do not benefit, and the file is roughly twice the size for no gain.

If the file will not open at all

Everything above assumes a healthy recording. A file that reports no duration, or errors, is damaged rather than unsupported:

ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1 spatial.mov

The usual cause is an interrupted transfer rather than an interrupted recording, since phones do not usually stop mid-capture. A file copied incompletely loses the index written at the end, and becomes large and unplayable at once. Salvaging a half-copied video covers that, and how to check whether a video file is corrupted is the quick test.

Questions

Can I convert a normal video into spatial video? No. The second view has to be recorded by a second lens. Software that claims to generate depth from a single view is estimating, and the result is not the same thing.

Does AirDrop preserve the spatial information? Yes, AirDrop transfers the file as it is. Services that re-encode video, including some messaging apps, may flatten it to a single view.

Why do two streams not show as two files in Finder? Because they are one file. A container holds any number of streams; the Finder shows containers.

Is the depth stored as a depth map? Not in the usual sense. The depth comes from the two views being taken from slightly different positions, the same way binocular vision works, with metadata describing the geometry rather than a per-pixel distance map.