Manifest Versions
A manifest version is a named set of rules for how the Encoding Service writes the DASH manifests and HLS playlists ("manifests") of a job. Each version keeps its output stable, so you can adopt manifest changes when you are ready for them instead of receiving them with a service update.
| Version | Status | Description |
|---|---|---|
| V1 | Final | The manifests produced by Encoding Service 2.61 and earlier, before manifest versions were introduced. |
| V2 | Beta | V1 plus changes that make DASH and HLS output, including CMAF, follow the DASH-IF Interoperability Points and the HLS specification (RFC 8216) more closely. |
Selecting a Version
In the Encoding API, set the version in the ContentProcessing section of the job request:
{
"ContentProcessing": {
"ManifestVersion": "V2"
}
}
The value is case-sensitive.
Supported values are V1 and V2.
In Mosaic, select the version with the Manifest Version field of a processing profile. Existing profiles use V1.
The job response includes the manifest version that was applied.
Default Version
When a job does not set a manifest version, the service's default version applies, which is V1. If the default version ever changes, it will be announced in the release notes in advance.
Beta Status
A version in Beta is open to every customer, but it is still collecting changes. While V2 is in Beta, new changes can be added to it in later releases, so its output can change between releases. Each change is listed below with the release that added it. V1 is never affected by these changes.
When V2 is declared final, its output is frozen and later changes go into a new version.
The request value stays V2, so you do not need to change your jobs or profiles when that happens.
Changes per Version
V2 (Beta)
V2 includes all of V1, with the following changes.
| Change | Formats | Added |
|---|---|---|
AdaptationSets (video, audio, subtitle and closed caption) no longer have a label attribute. The track name stays in the Label element. | DASH, DashOnDemand and CMAF (DASH manifest) | 2.62 |
Subtitle and closed caption AdaptationSets also carry the mimeType and codecs attributes of their Representations. | DASH, DashOnDemand and CMAF (DASH manifest) | 2.62 |
HLS playlists and MPEG2TS output are the same as in V1.
For example, an English subtitle track in a DASH manifest looks like this in V1:
<AdaptationSet id="2" contentType="text" lang="en" segmentAlignment="true" label="English">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle" />
<Label>English</Label>
<Representation id="3" bandwidth="520" codecs="wvtt" mimeType="application/mp4">
...
</Representation>
</AdaptationSet>
And like this in V2:
<AdaptationSet id="2" contentType="text" lang="en" segmentAlignment="true" mimeType="application/mp4" codecs="wvtt">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle" />
<Label>English</Label>
<Representation id="3" bandwidth="520" codecs="wvtt" mimeType="application/mp4">
...
</Representation>
</AdaptationSet>
V1 (Final)
The same manifests as produced in earlier releases.
Known Limitations in V2
- In CMAF output, subtitle and closed caption AdaptationSets have the
mimeTypetext/vttand nocodecsattribute.