cupertino-sample-code/immersivemediasupport-processing-apple-immersive-video-with-foveation/README.md
Mihaela Mihaljevic 6a4d8ee491 data(samples): add 15 iOS-27 beta sample projects
Apple Intelligence: appintents calendar/messaging/music/photo, foundationmodels-origami,
evaluations-book-tracker. Plus declaredagerange age-assurance, immersivemediasupport,
metal ML (inline ops, irradiance NN), avfoundation camera, avfaudio sequencer, appkit
state restoration, healthkit heart-rate zones. Extracted from Apple sample archives.
2026-06-20 12:42:17 +02:00

1.6 KiB

Processing Apple Immersive Video with foveation

Reduce a video's data rate while maintaining high acuity in the center of the imagery by applying foveation to immersive video content.

Overview

Apple Immersive Video (AIV) uses very high resolution cameras capable of capturing video that exceeds 8K per eye at 90 frames per second (fps), which is over 10 billion pixels per second.

Because it's impractical to stream that many pixels over even the fastest available networks, AIV can optionally use static foveation to reduce the overall resolution to a streamable 4K, while maintaining most of the perceptual resolution at the original 90 fps.

Note This sample code project is associated with WWDC26 session 287: Build next generation experiences with visionOS 27.

Configure the sample code project

To run this sample app, you need to download and expand a zip file that contains an example QuickTime movie and supporting content.

To run the app in Xcode, choose Product > Scheme > Edit Scheme, and update the command-line arguments to reference the downloaded files:

  • term --input: An Apple Immersive Video (AIV) mezzanine QuickTime file with two ProRes tracks.
  • term --aime: An Apple Immersive Media Embedded (AIME) metadata file with the correct camera calibrations for the provided input file.
  • term --output: A directory path where the sample writes the updated AIME metadata file and foveated AIV QuickTime file.