<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVAssetVideoTrackPlan",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVAssetVideoTrackPlan"
  },
  "title" : "AVAssetVideoTrackPlan"
}
-->

# AVAssetVideoTrackPlan

AVAssetVideoTrackPlan holds information about a track and how it should be segmented and executed in an incremental writing session.

```
class AVAssetVideoTrackPlan
```

## Overview

Call AVAssetWritingPlanner’s “planTrack:withSegmentsGeneratedBy:” method to add an AVAssetTrackPlan to the planner’s plan to include it in the incremental writing session.
Use this class instead of the base class AVAssetTrackPlan if you are setting up AVAssetWriter with video compression. This configuration hints to the planner that it
must coordinate segment boundaries transitions between segments. This is abstracted from the client via using either the resumableAssetWriterInputWithMediaType
or createResumableCompressionSessionWithAllocator helper functions within the AVPlannedVideoSegmentWritingRequest.

## Topics

### Creating a video track plan

[`init(videoCodecType:encoderSpecification:mediaType:segmentConfigurations:assemblyTrackID:)`](/documentation/AVFoundation/AVAssetVideoTrackPlan/init(videoCodecType:encoderSpecification:mediaType:segmentConfigurations:assemblyTrackID:))

Creates an instance of AVAssetVideoTrackPlan.

[`-  initWithVideoCodecType:encoderSpecification:mediaType:segmentConfigurations:assemblyTrackID:`](/documentation/AVFoundation/AVAssetVideoTrackPlan/initWithVideoCodecType:encoderSpecification:mediaType:segmentConfigurations:assemblyTrackID:)

Returns an instance of AVAssetVideoTrackPlan

### Inspecting the video track plan

[`videoCodecType`](/documentation/AVFoundation/AVAssetVideoTrackPlan/videoCodecType)

Video codec type of this track

## Relationships

### Conforms To

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`Hashable`](/documentation/Swift/Hashable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

### Inherits From

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

---

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)