---
title: AVAsset
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avasset
---

# AVAsset

An object that models timed audiovisual media.

## Declaration

```swift
class AVAsset
```

## Mentioned in

Loading media data asynchronously Controlling the transport behavior of a player Exporting video to alternative formats Implementing simple enhanced buffering for your content Retrieving media metadata

## Overview

Overview An asset models file-based media like a QuickTime movie or an MP3 audio file, and also media streamed using HTTP Live Streaming (HLS). An asset is a container object for one or more instances of AVAssetTrack that model the uniformly typed tracks of media. The most commonly used track types are audio and video, but assets may also contain supplementary tracks, like closed captions, subtitles, and timed metadata.

You load the tracks for an asset by asynchronously loading its tracks property. In some cases, you may want to perform operations on a subset of an asset’s tracks rather than on its complete collection. For those situations, an asset provides methods to retrieve subsets of tracks according to particular criteria, such as identifier, media type, or characteristic.

## Topics

### Creating an asset

- [init(url:)](avfoundation/avasset/init(url:)-42gl8.md)

### Loading duration and timing

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

### Loading tracks

- [tracks](avfoundation/avpartialasyncproperty/tracks-48zyw.md)
- [loadTrack(withTrackID:completionHandler:)](avfoundation/avasset/loadtrack(withtrackid:completionhandler:).md)
- [loadTracks(withMediaType:completionHandler:)](avfoundation/avasset/loadtracks(withmediatype:completionhandler:).md)
- [loadTracks(withMediaCharacteristic:completionHandler:)](avfoundation/avasset/loadtracks(withmediacharacteristic:completionhandler:).md)
- [findUnusedTrackID(completionHandler:)](avfoundation/avasset/findunusedtrackid(completionhandler:).md)

### Loading track groups

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

### Loading metadata

- [metadata](avfoundation/avpartialasyncproperty/metadata-16qej.md)
- [commonMetadata](avfoundation/avpartialasyncproperty/commonmetadata-3j3n4.md)
- [availableMetadataFormats](avfoundation/avpartialasyncproperty/availablemetadataformats-4yiq8.md)
- [loadMetadata(for:completionHandler:)](avfoundation/avasset/loadmetadata(for:completionhandler:).md)
- [creationDate](avfoundation/avpartialasyncproperty/creationdate.md)
- [lyrics](avfoundation/avpartialasyncproperty/lyrics.md)

### Loading suitability

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

### Loading asset preferences

- [preferredRate](avfoundation/avpartialasyncproperty/preferredrate.md)
- [preferredVolume](avfoundation/avpartialasyncproperty/preferredvolume-20mb3.md)
- [preferredTransform](avfoundation/avpartialasyncproperty/preferredtransform-80d13.md)
- [preferredDisplayCriteria](avfoundation/avpartialasyncproperty/preferreddisplaycriteria.md)
- [AVDisplayCriteria](avfoundation/avdisplaycriteria.md)

### Loading media selections

- [allMediaSelections](avfoundation/avpartialasyncproperty/allmediaselections.md)
- [preferredMediaSelection](avfoundation/avpartialasyncproperty/preferredmediaselection.md)
- [availableMediaCharacteristicsWithMediaSelectionOptions](avfoundation/avpartialasyncproperty/availablemediacharacteristicswithmediaselectionoptions.md)
- [loadMediaSelectionGroup(for:completionHandler:)](avfoundation/avasset/loadmediaselectiongroup(for:completionhandler:).md)

### Loading chapter metadata

- [availableChapterLocales](avfoundation/avpartialasyncproperty/availablechapterlocales.md)
- [loadChapterMetadataGroups(withTitleLocale:containingItemsWithCommonKeys:)](avfoundation/avasset/loadchaptermetadatagroups(withtitlelocale:containingitemswithcommonkeys:).md)
- [loadChapterMetadataGroups(bestMatchingPreferredLanguages:completionHandler:)](avfoundation/avasset/loadchaptermetadatagroups(bestmatchingpreferredlanguages:completionhandler:).md)

### Loading content protections

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

### Loading fragment support

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

### Canceling property loading

- [cancelLoading()](avfoundation/avasset/cancelloading().md)

### Retrieving reference restrictions

- [referenceRestrictions](avfoundation/avasset/referencerestrictions.md)
- [AVAssetReferenceRestrictions](avfoundation/avassetreferencerestrictions.md)

### Deprecated

- [Deprecated symbols](avfoundation/avasset-deprecated-symbols.md)

### Initializers

- [init(URL:)](avfoundation/avasset/init(url:)-8cql6.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [AVComposition](avfoundation/avcomposition.md)
- [AVMovie](avfoundation/avmovie.md)
- [AVURLAsset](avfoundation/avurlasset.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)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Assets

- [AVURLAsset](avfoundation/avurlasset.md)
- [AVAssetTrack](avfoundation/avassettrack.md)
- [AVAssetTrackSegment](avfoundation/avassettracksegment.md)
- [AVAssetTrackGroup](avfoundation/avassettrackgroup.md)
