<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.10.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVMovie",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVMovie"
  },
  "title" : "AVMovie"
}
-->

# AVMovie

An object that represents an audiovisual container that conforms to the QuickTime movie file format or a related format like MPEG-4.

```
class AVMovie
```

## Overview

`AVMovie` supports operations involving the format-specific portions of the QuickTime movie model that [`AVAsset`](/documentation/AVFoundation/AVAsset) doesn’t support. For instance, retrieving the movie header from an existing QuickTime movie file. You can also use `AVMovie` to write a movie header into a new file, thereby creating a reference movie.

## Topics

### Creating a movie

[`init(url:)`](/documentation/AVFoundation/AVMovie/init(url:))

Creates a movie that models the media at the specified URL.

[`movieWithURL:options:`](/documentation/AVFoundation/AVMovie/movieWithURL:options:)

Returns a new movie object from a movie header stored in a QuickTime movie file of ISO base media file.

[`init(url:options:)`](/documentation/AVFoundation/AVMovie/init(url:options:)-1wjrq)

Creates a movie object from a movie header stored in a QuickTime movie file of ISO base media file.

[`movieWithData:options:`](/documentation/AVFoundation/AVMovie/movieWithData:options:)

Returns a new movie object from a movie file’s data.

[`init(data:options:)`](/documentation/AVFoundation/AVMovie/init(data:options:))

Creates a movie object from a movie file’s data.

[Initialization options](/documentation/AVFoundation/initialization-options)

Specify options to configure the initialization of a movie.

### Determining supported file types

[`movieTypes()`](/documentation/AVFoundation/AVMovie/movieTypes())

Returns the file types that a movie supports.

### Loading tracks

[`tracks`](/documentation/AVFoundation/AVPartialAsyncProperty/tracks-80a83)

The tracks that a movie contains.

[`loadTrack(withTrackID:completionHandler:)`](/documentation/AVFoundation/AVMovie/loadTrack(withTrackID:completionHandler:))

Loads a track that contains the specified identifier.

[`loadTracks(withMediaType:completionHandler:)`](/documentation/AVFoundation/AVMovie/loadTracks(withMediaType:completionHandler:))

Loads tracks that contain media of a specified type.

[`loadTracks(withMediaCharacteristic:completionHandler:)`](/documentation/AVFoundation/AVMovie/loadTracks(withMediaCharacteristic:completionHandler:))

Loads tracks that contain media of a specified characteristic.

### Creating and writing headers

[`is(compatibleWithFileType:)`](/documentation/AVFoundation/AVMovie/is(compatibleWithFileType:))

Returns a Boolean value that indicates whether the system can create a movie header of the specified type.

[`makeMovieHeader(fileType:)`](/documentation/AVFoundation/AVMovie/makeMovieHeader(fileType:))

Creates a header for a movie for the specified file type.

[`writeHeader(to:fileType:options:)`](/documentation/AVFoundation/AVMovie/writeHeader(to:fileType:options:))

Writes the movie header to the specified URL.

[`AVMovieWritingOptions`](/documentation/AVFoundation/AVMovieWritingOptions)

A structure that defines options to control the writing of a movie header to a destination URL.

### Determining fragment support

[`canContainMovieFragments`](/documentation/AVFoundation/AVMovie/canContainMovieFragments)

A Boolean value that indicates whether fragments can extend the movie file.

[`containsMovieFragments`](/documentation/AVFoundation/AVMovie/containsMovieFragments)

A Boolean value that indicates whether at least one movie fragment extends the movie file.

### Accessing movie information

[`url`](/documentation/AVFoundation/AVMovie/url)

A URL to a QuickTime or ISO base media file.

[`data`](/documentation/AVFoundation/AVMovie/data)

A data object that contains the movie file’s data.

### Accessing tracks

Prefer loading tracks asynchronously using the methods in Loading Tracks.

[`tracks`](/documentation/AVFoundation/AVMovie/tracks)

The tracks that a movie contains.

[`track(withTrackID:)`](/documentation/AVFoundation/AVMovie/track(withTrackID:))

Retrieves a track in the movie that contains the specified identifier.

[`tracks(withMediaType:)`](/documentation/AVFoundation/AVMovie/tracks(withMediaType:))

Retrieves tracks in the movie that present media of the specified type.

[`tracks(withMediaCharacteristic:)`](/documentation/AVFoundation/AVMovie/tracks(withMediaCharacteristic:))

Retrieves tracks in the movie that present media of the specified characteristic.

### Accessing data storage

[`defaultMediaDataStorage`](/documentation/AVFoundation/AVMovie/defaultMediaDataStorage)

The default storage container for media data added to a movie.



---

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)