---
title: AVMutableMovie
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avmutablemovie
---

# AVMutableMovie

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

## Declaration

```swift
class AVMutableMovie
```

## Overview

Overview This class is a mutable subclass of AVMovie that provides methods that support movie editing. For example, you can use a mutable movie to copy media data from one track and paste it into another. You can also use this object to create track references from one track to another (for example, to set one track as a chapter track of another track). To perform editing operations on individual tracks, use the associated classes AVMovieTrack and AVMutableMovieTrack. You use movie objects only when operating on format-specific features of a QuickTime or ISO base media file. You typically don’t use these classes to open and play QuickTime movie files or ISO base media files. Instead, you use AVURLAsset and AVPlayerItem. When performing media insertions, a movie interleaves media data from tracks in the source asset to optimize the movie file for playback. However, performing a series of media insertions may result in a movie file that’s not optimally interleaved. You can optimize a movie file for playback by exporting it with an AVAssetExportSession object using the export preset AVAssetExportPresetPassthrough, and setting the shouldOptimizeForNetworkUse property value to true.

## Topics

### Creating a movie

- [init(url:options:error:)](avfoundation/avmutablemovie/init(url:options:error:)-8rnnj.md)
- [init(data:options:error:)](avfoundation/avmutablemovie/init(data:options:error:).md)
- [init(settingsFrom:options:)](avfoundation/avmutablemovie/init(settingsfrom:options:).md)

### Configuring a movie

- [isModified](avfoundation/avmutablemovie/ismodified.md)
- [timescale](avfoundation/avmutablemovie/timescale.md)
- [interleavingPeriod](avfoundation/avmutablemovie/interleavingperiod.md)
- [defaultMediaDataStorage](avfoundation/avmutablemovie/defaultmediadatastorage.md)

### Loading tracks

- [tracks](avfoundation/avpartialasyncproperty/tracks-2lj40.md)
- [loadTrack(withTrackID:completionHandler:)](avfoundation/avmutablemovie/loadtrack(withtrackid:completionhandler:).md)
- [loadTracks(withMediaType:completionHandler:)](avfoundation/avmutablemovie/loadtracks(withmediatype:completionhandler:).md)
- [loadTracks(withMediaCharacteristic:completionHandler:)](avfoundation/avmutablemovie/loadtracks(withmediacharacteristic:completionhandler:).md)

### Accessing tracks

- [tracks](avfoundation/avmutablemovie/tracks.md)
- [track(withTrackID:)](avfoundation/avmutablemovie/track(withtrackid:).md)
- [tracks(withMediaType:)](avfoundation/avmutablemovie/tracks(withmediatype:).md)
- [tracks(withMediaCharacteristic:)](avfoundation/avmutablemovie/tracks(withmediacharacteristic:).md)
- [unusedTrackID()](avfoundation/avmutablemovie/unusedtrackid().md)

### Accessing track groups

- [trackGroups](avfoundation/avmutablemovie/trackgroups.md)

### Managing tracks

- [mutableTrack(compatibleWith:)](avfoundation/avmutablemovie/mutabletrack(compatiblewith:).md)
- [addMutableTrack(withMediaType:copySettingsFrom:options:)](avfoundation/avmutablemovie/addmutabletrack(withmediatype:copysettingsfrom:options:).md)
- [addMutableTracksCopyingSettings(from:options:)](avfoundation/avmutablemovie/addmutabletrackscopyingsettings(from:options:).md)
- [removeTrack(_:)](avfoundation/avmutablemovie/removetrack(_:).md)

### Managing time ranges

- [insertEmptyTimeRange(_:)](avfoundation/avmutablemovie/insertemptytimerange(_:).md)
- [insertTimeRange(_:of:at:copySampleData:)](avfoundation/avmutablemovie/inserttimerange(_:of:at:copysampledata:).md)
- [scale(_:toDuration:)](avfoundation/avmutablemovie/scale(_:toduration:).md)
- [removeTimeRange(_:)](avfoundation/avmutablemovie/removetimerange(_:).md)

### Accessing duration and timing

- [duration](avfoundation/avmutablemovie/duration.md)
- [providesPreciseDurationAndTiming](avfoundation/avmutablemovie/providesprecisedurationandtiming.md)
- [minimumTimeOffsetFromLive](avfoundation/avmutablemovie/minimumtimeoffsetfromlive.md)

### Accessing metadata

- [metadata](avfoundation/avmutablemovie/metadata.md)
- [commonMetadata](avfoundation/avmutablemovie/commonmetadata.md)
- [availableMetadataFormats](avfoundation/avmutablemovie/availablemetadataformats.md)
- [metadata(forFormat:)](avfoundation/avmutablemovie/metadata(forformat:).md)
- [creationDate](avfoundation/avmutablemovie/creationdate.md)
- [lyrics](avfoundation/avmutablemovie/lyrics.md)

### Determining suitability

- [isPlayable](avfoundation/avmutablemovie/isplayable.md)
- [isReadable](avfoundation/avmutablemovie/isreadable.md)
- [isExportable](avfoundation/avmutablemovie/isexportable.md)
- [isComposable](avfoundation/avmutablemovie/iscomposable.md)
- [isCompatibleWithAirPlayVideo](avfoundation/avmutablemovie/iscompatiblewithairplayvideo.md)
- [isCompatibleWithSavedPhotosAlbum](avfoundation/avmutablemovie/iscompatiblewithsavedphotosalbum.md)

### Inspecting preferences

- [preferredRate](avfoundation/avmutablemovie/preferredrate.md)
- [preferredVolume](avfoundation/avmutablemovie/preferredvolume.md)
- [preferredTransform](avfoundation/avmutablemovie/preferredtransform.md)
- [preferredMediaSelection](avfoundation/avmutablemovie/preferredmediaselection.md)

### Accessing media selections

- [allMediaSelections](avfoundation/avmutablemovie/allmediaselections.md)
- [availableMediaCharacteristicsWithMediaSelectionOptions](avfoundation/avmutablemovie/availablemediacharacteristicswithmediaselectionoptions.md)
- [mediaSelectionGroup(forMediaCharacteristic:)](avfoundation/avmutablemovie/mediaselectiongroup(formediacharacteristic:).md)

### Accessing chapter metadata

- [availableChapterLocales](avfoundation/avmutablemovie/availablechapterlocales.md)
- [chapterMetadataGroups(bestMatchingPreferredLanguages:)](avfoundation/avmutablemovie/chaptermetadatagroups(bestmatchingpreferredlanguages:).md)
- [chapterMetadataGroups(withTitleLocale:containingItemsWithCommonKeys:)](avfoundation/avmutablemovie/chaptermetadatagroups(withtitlelocale:containingitemswithcommonkeys:).md)

### Determining content protections

- [hasProtectedContent](avfoundation/avmutablemovie/hasprotectedcontent.md)

### Determining fragment support

- [canContainFragments](avfoundation/avmutablemovie/cancontainfragments.md)
- [containsFragments](avfoundation/avmutablemovie/containsfragments.md)
- [overallDurationHint](avfoundation/avmutablemovie/overalldurationhint.md)

### Initializers

- [init(URL:options:error:)](avfoundation/avmutablemovie/init(url:options:error:)-1scrb.md)
- [init(URL:options:error:)](avfoundation/avmutablemovie/init(url:options:error:)-9is91.md)
- [init(data:options:)](avfoundation/avmutablemovie/init(data:options:).md)
- [init(settingsFromMovie:options:)](avfoundation/avmutablemovie/init(settingsfrommovie:options:)-1soot.md)
- [init(settingsFromMovie:options:)](avfoundation/avmutablemovie/init(settingsfrommovie:options:)-6p8zv.md)

## Relationships

### Inherits From

- [AVMovie](avfoundation/avmovie.md)

### Conforms To

- [AVAsynchronousKeyValueLoading](avfoundation/avasynchronouskeyvalueloading.md)
- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSMutableCopying](foundation/nsmutablecopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Mutable movies

- [AVMutableMovieTrack](avfoundation/avmutablemovietrack.md)
