<!--
{
  "availability" : [
    "Xcode: 26.0.0 -",
    "macOS: 26.0.0 -"
  ],
  "documentType" : "article",
  "framework" : "ImmersiveMediaSupport",
  "identifier" : "/documentation/ImmersiveMediaSupport/authoring-apple-immersive-video",
  "metadataVersion" : "0.1.0",
  "role" : "sampleCode",
  "title" : "Authoring Apple Immersive Video"
}
-->

# Authoring Apple Immersive Video

Prepare and package immersive video content for delivery.

## Overview

> Note: This sample code project is associated with WWDC25 session 403:
> [Learn about Apple Immersive Video technologies](https://developer.apple.com/videos/play/wwdc2025/403).

### Configure the sample code project

Running this sample requires [downloading](https://devstreaming-cdn.apple.com/videos/streaming/examples/immersive-media/AIV/Apple_Immersive_Video_Beach.zip) a zip file that contains an example QuickTime movie and supporting content. When the download completes, expand the zip file.

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

- `--input`: An Apple Immersive Video MV-HEVC video file without any necessary metadata.
- `--aime`: An `AIME` file with the correct camera calibrations for the provided input file.
- `--usdz`: An optional `USDZ` file to use for camera calibration instead of an `AIME` file. This argument also requires the `--mask` option.
- `--mask`: An optional dynamic mask JSON data file to use for camera calibration instead of an AIME file. This argument also requires the `--usdz` option.
- `--output`: The `AIVU` file to write that contains Immersive Media Support metadata.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)