Introduction

Overview

This document describes the delivery of subscription content assets. This document includes:

  • Subscription video overview

  • Example XML delivery of assets

  • Annotations of the tags used in those deliveries

  • Asset updates

  • Appendix for data formatting requirements (including language and date formats)

In addition, the assets delivered with your content must meet specific requirements. Links to those requirements are listed in Asset Requirements.

For information on delivering catalog and availability metadata, see the UMC Catalog Data Interface Spec and the UMC Availability Data Interface Spec.

Subscription Video

This specification outlines the submission process for Apple Subscription Video partners. The subscription service offers movies, TV shows, seasons, and episodes. This specification covers the requirements for submitting your movies and TV content assets.

Customers can discover, purchase, and play subscription video content through Apple’s TV app and its Universal Media Catalog (UMC). You deliver your content assets, information about your catalog, and availability of your content.

The metadata you deliver about your content provides information for viewers to search for and to help make subscription purchasing decisions. For example, the metadata you deliver includes titles, descriptions, ratings, genres, and so on. It also shows the content quality and additional components available, such as subtitles, SDH, and audio description (also known as DVS). Viewers can browse through and make selections based on your offerings. See the UMC Catalog Data Interface Spec and the UMC Availability Data Interface Spec for more information on catalog and availability metadata.

Changes Made in This Release

Date/Version

Changes Made

September 2025—Version 1.11

Removed information about ambient videos, background videos, and production stills; additional minor corrections.

For a complete history of changes, see Previous Spec Revisions.

What’s New in Apple TV Channels Subscription Video Asset Specification 1.11?

Assets

Removed information about ambient videos, background videos, and production stills.

Attributes

Added information about the <video_has_varying_active_region> attribute. See XML Annotations for Full Source Delivery.

Corrections

Made additional minor corrections.

Overview of Subscription Video Content

Content Delivery

Using the specifications outlined in this document, you can submit all your subscription video assets. See the UMC Catalog Data Interface Spec and the UMC Availability Data Interface Spec for how to submit your catalog and availability metadata.

There are three components of the submissions process:

  • asset submission including video source (full and preview) and components (such as closed captions, subtitles, previews, and others)

  • catalog metadata (such as titles, descriptions, genres, ratings, artwork, and so on)

  • availability metadata (includes dates that the content will be made available, video quality choices, and the availability of options, such as audio description, SDH and in which languages)

For each item you want displayed in your catalog, you must submit the item asset(s), its catalog metadata, and its availability metadata. For example, in the case of a TV season, each episode video would be delivered in its own asset XML submission, but you must include catalog and availability metadata for the entire season in one catalog XML and one availability XML for each country.

You must assign each content item a catalog ID, content ID, and variant ID.

Identifier

Description

Catalog ID

Identifies your content catalog and tells Apple which catalog the content belongs to

Content ID

Identifies an individual item in the catalog

Variant ID

Distinguishes between different versions of the content, for example, the same asset with different territory-specific editorial or compliance requirements

Keep the following in mind when using these identifiers:

  • Catalog ID is assigned to the entire catalog, not a specific content item.

  • When you submit the catalog feed, only the Catalog ID and Content ID are required.

  • When you submit the availability feed, the Catalog ID, Content ID, and Variant ID are required.

  • When you submit the assets XML feed (as described in this document), the Catalog ID, Content ID, and Variant ID are required.

  • The combination of the content ID and variant ID must be unique across a catalog.

When you are ready to deliver your assets, the matching catalog metadata and availability metadata for those assets must be delivered as well.

The assets and asset XML files are delivered using an Apple tool called Transporter. The catalog metadata and availability metadata files are hosted by you on servers. You point Apple to the locations of those files, which Apple then accesses.

Content Types

The supported content types include:

Content Type

Description

Movie

Full-length movies (including feature films, short films, concert films, and documentaries)

TV Show

A TV show (sometimes referred to as a series) consists of episodes which can be linear (meant to be watched in order) or non-linear (which can be watched in any order). A TV show can also consist of seasons

TV Season

A TV season is a collection of episodes and is part of an episodic TV show

TV Episode

A TV episode is part of a TV show and can be part of a TV season

Submitting Assets

Introduction

You deliver video assets by submitting an XML file as a subscription video asset package (.itmsp). The .itmsp package must include at a minimum a metadata.xml file, video source, and captions (required for US). You can also submit a preview source and additional (and optional) components: subtitles (.itt), alternate audio, and other asset components. The encoded contents of the package you deliver is linked to your catalog metadata by the Content ID, which is supplied using the <umc_content_id> tag in the XML file.

You submit the file to Apple using the tool called Transporter (make sure to download and use the latest version). See the Transporter guide for information on how to download, install, and use Transporter.

Important: You must run the PSE (photosensitive epilepsy) test on your content prior to delivery.

XML Example for Full Source Delivery

This example shows how to deliver a video asset for a movie. Delivering a TV video uses the same format and tags. In this example, the movie is in U.S. English, with French and Mexican Spanish localized asset components.

In addition to the main video asset, you can deliver pre-roll videos (videos that should play before the main video) and post-roll videos (videos that should play after the main video). The pre-roll and post- roll videos can, for example, include promo content, ratings, dub video, a logo, and certificates. You deliver the pre-roll and post-roll videos in separate XML deliveries (see Pre-Roll and Post-Roll Video Specification) and reference those videos by Vendor ID in the subscription video asset delivery XML using the <play_sequence> block. The videos are referenced in the order you want them to play.

To see a full description of each block, see XML Annotations for Full Source Delivery. For questions regarding this document, contact your Apple Technical Partner Representative.

Note: When you deliver your catalog metadata (described in another document), you can provide information on multiple videos (movies and TV content). However, each video must be delivered in its own subscription video asset delivery package. You can’t deliver multiple videos in the XML file.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"><comments>This video contains macro blocking at 03:25.</comments> <language>en-US</language> <provider>AppleseedEntertainment</provider> <video> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id> <title>The Movie</title> <original_spoken_locale>en-US</original_spoken_locale> <production_number>9406F</production_number> <assets> <asset type="full"> <data_file role="source"> <locale name="en-US"/> <file_name>33bard5f917-source.mov</file_name> <size>2595225600</size> <checksum type="md5">fe82a79dd93a89b499aa211ab4603773</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="intro.0.start_time">00:00:32.052</attribute> <attribute name="intro.0.end_time">00:01:15.002</attribute> <attribute name="intro.1.start_time">00:01:20.044</attribute> <attribute name="intro.1.end_time">00:01:55.009</attribute> <attribute name="credits.0.start_time">00:42:06.011</attribute> <attribute name="credits.0.end_time">00:42:21.003</attribute> <attribute name="credits.1.start_time">00:56:13.024</attribute> <attribute name="credits.1.end_time">00:57:01.008</attribute> <attribute name="main.end_time">00:00:40.050</attribute> <attribute name="product_placement">true</attribute> <attribute name="timecode_format">qt_text</attribute> <attribute name="image.textless_master">false</attribute> <attribute name="video_has_varying_active_region">false</attribute> <attribute name="image.burned_forced_narrative.locale">fr-FR</attribute> <attribute name="photosensitive_epilepsy_risk">true</attribute> </data_file> <data_file role="captions"> <locale name="en-US"/> <file_name>33bard5f917-english.scc</file_name> <size>9511</size> <checksum type="md5">5a793a8b46037fe8aa2bdd739b49911a</checksum> <attribute name="program.start.timecode">-01:00:00:00</attribute> </data_file> <data_file role="audio.visually_impaired"> <locale name="en-US"/> <file_name>33bard5f917-ad.mov</file_name> <size>34866696</size> <checksum type="md5">a2db7f2f30c9744e98fa393e51cf6a93</checksum> </data_file> <!-- 7.1 Surround Audio —> <data_file role="audio.7_1"> <locale name="en-US"/> <file_name>audio_71.mov</file_name> <checksum type="md5">a765a9fc88ac893ead51366fbeb04d82</checksum> <size>8730177839</size> <attribute name="audio.surround.force_5_1_downmix">true</attribute> </data_file> <!-- Dolby Atmos Audio —> <data_file role="audio.object_based"> <locale name="en-US"/> <file_name>audio_atmos.wav</file_name> <checksum type="md5">bc5b28a6200e5273202b7609f626fec0</checksum> <size>1142644642</size> </data_file> <!-- Dubbed Spanish Audio —> <data_file role="audio"> <locale name="es-MX"/> <file_name>audio_ES_MX.mov</file_name> <checksum type="md5">9df86c3e43e7b43ddeabb2ddfe4b8a42</checksum> <size>4916659</size> </data_file> <!-- Dubbed French 5.1 Surround Audio —> <data_file role="audio"> <locale name="fr-FR"/> <file_name>audio_FR_FR.mov</file_name> <checksum type="md5">bdeea426ac79543b691a45507e9956c8</checksum> <size>5820197005</size> </data_file> <!-- Dubbed French 7.1 Surround Audio —> <data_file role="audio.7_1"> <locale name="fr-FR"/> <file_name>audio_71_FR_FR.mov</file_name> <checksum type="md5">a765a9fc88ac893ead51366fbeb04d82</checksum> <size>8730177839</size> <attribute name="audio.surround.force_5_1_downmix">false</attribute> </data_file> <!-- Subtitles —> <data_file role="subtitles"> <locale name="fr-FR"/> <file_name>Subtitles_fr_FR.itt</file_name> <size>100259</size> <checksum type="md5">9df86c3e43e7b43ddeabb2ddfe4b8a42</checksum> </data_file> <data_file role="subtitles"> <locale name="es-MX"/> <file_name>Subtitles_es_MX.itt</file_name> <size>88474</size> <checksum type="md5">c123e860384b8b954f169c9af0cbe4df</checksum> </data_file> <data_file role="subtitles"> <locale name="en-CA"/> <file_name>Subtitles_EN_CA.itt</file_name> <size>88634</size> <checksum type="md5">54f16038469c9af0cbc123e8b8b9e4df</checksum> </data_file> <!-- Additional Subtitles here—> <!-- Begin SDH here—> <data_file role="subtitles.hearing_impaired"> <locale name="en-US"/> <file_name>Subtitles_SDH_english.itt</file_name> <size>109511</size> <checksum type="md5">5a793a8b46037fe8aa2bdd739b49911a</checksum> </data_file> <!-- Additional SDH here—> <!-- Forced Subtitles —> <data_file role="forced_subtitles"> <locale name="fr-FR"/> <file_name>Subtitles_FR_FR_Forced.itt</file_name> <size>1800</size> <checksum type="md5">a02809135b44f74015f775b3fcfe4120</checksum> </data_file> <data_file role="forced_subtitles"> <locale name="es-MX"/> <file_name>Subtitles_ES_MX_Forced.itt</file_name> <size>1738</size> <checksum type="md5">3dff0aa59b46b89e770f4614a70909f8</checksum> </data_file> <data_file role="forced_subtitles"> <locale name="en-US"/> <file_name>Subtitles_EN_US_Forced.itt</file_name> <size>1738</size> <checksum type="md5">b89e770f461xa59b464a7b89e770f4610909f8</checksum> </data_file> <!-- End Forced Subtitles—> <!-- Begin quality control notes for PDF—> <data_file role="notes"> <file_name>33bard5f917-source-notes.pdf</file_name> <size>8543</size> <checksum type="md5">e5649a015c941c0f9d42f5c2054a25ab</checksum> </data_file> </asset> </assets> <!-- Optional Chapters—> <chapters> <timecode_format>24/999 1000/nonDrop</timecode_format> <chapter> <start_time>00:00:00:00</start_time> <titles> <title locale="en-US">The Story Begins</title> <title locale="fr-FR">L'Histoire Commence</title> <title locale="es-MX">La historia comienza</title> </titles><!-- Chapter image can be provided in an artwork file or specified by a timecode. This chapter image is provided in an artwork file. --> <artwork_file> <file_name>chapter01.jpg</file_name> <checksum type="md5">ed93d0f3224a353a4cc8d4175d645130</checksum> <size>2342355</size> </artwork_file> </chapter> <chapter> <start_time>00:07:45:23</start_time> <titles> <title locale="en-US">Scene 1: The Decision</title> <title locale="fr-FR">Scène 1: La décision</title> <title locale="es-MX">Escena 1: la decisión</title> </titles><!-- Chapter image can be provided in an artwork file or specified by a timecode. This chapter image is specified by a timecode. --> <artwork_time>00:07:45:23</artwork_time> </chapter> <!-- Additional Chapters—> </chapters><!-- Optional pre-roll and/or post-roll videos -—> <play_sequences> <play_sequence> <play_sequence_item type="pre-roll" vendor_id="TheMoviePromo1"/> <play_sequence_item skippable="true" type="pre-roll" vendor_id="Promo3"/> <play_sequence_item type="pre-roll" vendor_id="TheMovieRatings"/> <!-- Additional pre-rolls provided here —> <play_sequence_item type="post-roll" vendor_id="TheMovie_Dubcredits_42"/> <!-- Additional post-rolls provided here —> </play_sequence> <play_sequence> <territories> <territory>MX</territory> </territories> </play_sequence> <play_sequence> <territories> <territory>NZ</territory> </territories> <play_sequence_item type="pre-roll" vendor_id="TheMovieNZPromo1"/> <!-- Additional pre-rolls provided here --> <play_sequence_item type="post-roll" vendor_id="TheMovie_Dubcredits_43"/> <!-- Additional post-rolls provided here --> </play_sequence> </play_sequences> </video></package>

XML Annotations for Full Source Delivery

See the details for the XML Example for Full Source Delivery per code line below.

Package Metadata Fields

<?xml version="1.0" encoding="UTF-8"?>

XML Declaration

The character encoding of your document must be defined.

Apple only accepts UTF-8 encoding as it efficiently encodes non-Roman characters.

Important: The metadata.xml file must not contain a byte-order mark (BOM).

XPath: /package

<package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0">

Package Container (required)

The xmlns (for XML namespace) attribute is required and is needed for schema validation. It is used to declare the namespace (and associated schema) to which the tags in the XML are expected to conform.

The version attribute is required and should refer to the version of the specification used to create the metadata.

Packages created to this specification must indicate version="subscriptionvideo5.0". The "subscriptionvideo" portion of the attribute must be in lowercase letters.

XPath: /comments

<comments>This video contains macro blocking at 03:25.</comments>

Comments (optional)

You can deliver quality control notes (for example, for describing a known issue with the asset). Use the <comments> tag to deliver comments that are less than 4,000 characters (approximately 2 double-spaced pages). For QC notes that are over 4,000 characters, use the attribute role="notes" with the <data_file> tag in the <asset> block. See the annotations later in this table.

XPath: /package/language

<language>en-US</language>

Language (required)

The primary language of the metadata for this package. See Languages and Locales for information on formatting.

Provider Metadata Fields

XPath: /package/provider

<provider>AppleseedEntertainment</provider>

Provider (required, Apple-supplied)

This value should be the Apple-defined provider shortname given for partner identification. The value must match the provider name used in Transporter (the value that is after -s in the Transporter command). The value supplied with the <provider> tag is case-sensitive. Note that it is the value you pass as an argument to Transporter, not the value in the XML, that determines the account you are delivering to.

Video Metadata Fields

XPath: /package/video

<video>

Video (required)

Begins the video element. Only one video element can be defined per subscription video XML.

XPath: /package/video/umc_catalog_id

<umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id>

Universal Media Catalog Catalog ID (required; 1-255 characters)

Supplies the unique catalog identifier (as identified during Apple catalog registration). The value can contain both numbers and letters. Example: com.catalog.acme.

XPath: /package/video/umc_content_id

<umc_content_id>42abc33def17</umc_content_id>

Universal Media Catalog Content ID (required; 1-255 characters)

Defines the unique ID you are providing for this item. The value can contain both numbers and letters. Example: CP012391

  • This ID must be unique across all content types; no two items should have the same contentId even if their contentType is different.

  • The contentId for a given content item must be consistent and cannot be changed.

XPath: /package/video/umc_variant_id

<umc_variant_id>1</umc_variant_id>

Universal Media Catalog Variant ID (required; 1-32 characters)

Distinguishes between different versions of the content, for example the same asset with different territory-specific editorial or compliance requirements. The value can contain both numbers and letters, and underscores. If you do not have multiple versions, Apple suggests using 1 as the value.

XPath: /package/video/title

<title>The Movie</title>

Title (required, 1-255 bytes)

The name of this subscription video. This title is used for internal purposes and will not appear to the customer.

XPath: /package/video/original_spoken_locale

<original_spoken_locale>en-US</original_spoken_locale>

Original Spoken Locale (required)

Specifies the language spoken by the actors in the video. The value used for locale is case- insensitive, even though the example shows the value in the format xx-XX, such as en-US.

In this example, the language the actors’ lips are moving in is English as spoken in the United States, so en-US must be specified as the <original_spoken_locale>.

Note: This tag is different from the <language> tag. <original_spoken_locale> is the language the actors are seen speaking in. <language> is the primary language used for the metadata.

XPath: /package/video/production_number

<production_number>9406F</production_number>

Production Number (optional, 1-255 characters, can be updated)

Your production number for this episode. This value should be unique for each episode.

Note: Episode production numbers can contain only alphanumeric characters, spaces, hyphens (-), and underscores (_).

Asset Metadata Fields

XPath: /package/video/assets

<assets>

Assets (required, multiple from a set)

Begins the assets block that references the assets being delivered. New files update by overwriting the previous files.

XPath: /package/video/assets/asset

<asset type="full">

Asset (required)

Describes the type of asset being delivered. Specify type="full" to indicate that the asset is the feature asset (as opposed to a preview). Only one full source asset can be delivered in one XML delivery.

XPath: /package/video/assets/asset/data_file

<data_file role="source">

Data File (required)

A data file element specifies the delivered media file and describes the role of the associated file. Since the video is the source file (as opposed to a captions file or audio file, for example), the role is "source".

The <locale>, <file_name>, <size>, and <checksum> tags are required.

XPath: /package/video/assets/asset/data_file/locale

<locale name="en-US">

Locale Name (required for each component)

Identifies the language that is spoken in the audio on the source asset. The locale indicates the language and the optional region where the language is spoken.

XPath: /package/video/assets/asset/data_file/file_name

<file_name>33bard5f917-source.mov</file_name>

File Name (required)

The name of the data file included in this delivery package. The name should be relative to the package (containing no path reference “C:\” or “/Macintosh HD/”) and must contain the file name extension (”.mov” in this example).

Important: File names are case-sensitive and spaces are not allowed.

XPath: /package/video/assets/asset/data_file/size

<size>2595225600</size>

File Size (required)

The size in bytes of the data file. Do not specify any commas nor period delimiters.

XPath: /package/video/assets/asset/data_file/checksum

<checksum type="md5">2a793a8b46037fe48a29dd739b49911a</checksum>

Checksum (required)

The MD5 checksum of the data file.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="crop.top">0</attribute>

Metadata-Based Cropping (required if video contains inactive pixels)

The crop rectangle for the full video’s QuickTime source file. If the video’s QuickTime source file is delivered matted (letterbox, pillarbox, or windowbox), specify the crop rectangle to crop the inactive pixels.

Note: Crop dimensions are required for subscription videos that contain inactive pixels. When sending crop dimensions, send accurate dimensions without unnecessary cropping, especially horizontally. If your video does not contain inactive pixels (that is, it is not matted), you can set all the crop values to zero, or omit the crop dimension attribute tags. If you do not supply any crop dimensions, Apple will default to 0,0,0,0. The name attribute specifies the side of the image to be cropped. Accepted values are:

  • crop.top: The number of whole pixels from the top of the encoded image to remove.

  • crop.bottom: The number of whole pixels from the bottom of the encoded image to remove.

  • crop.left: The number of whole pixels from the left of the encoded image to remove.

  • crop.right: The number of whole pixels from the right of the encoded image to remove.

The values must be integers that represent the number of whole pixels of the encoded image.

Note: If delivering texted content due to unavailability of textless source material, burned- in text that falls over inactive pixels must be maintained in the attribution of crop values. Additionally, an equal number of pixels that are applied to preserve burned-in text in one region, must also be equally applied to the opposite region so that content can be displayed proportionally.

XPath:/package/video/assets/asset/data_file/attribute

<attribute name="intro.0.start_time">00:00:32.052</attribute><attribute name="intro.0.end_time">00:01:15.002</attribute><attribute name="intro.1.start_time">00:01:20.044</attribute><attribute name="intro.1.end_time">00:01:55.009</attribute><attribute name="credits.0.start_time">00:42:06.011</attribute><attribute name="credits.0.end_time">00:42:21.003</attribute><attribute name="credits.1.start_time">00:56:13.024</attribute><attribute name="credits.1.end_time">00:57:01.008</attribute>

Intro and Credit Videos Start and End Times (optional)

Specifies the start and end times for intros at the beginning of the video (intro.) and credits at the end of the video (credits.). You can deliver up to ten intro videos and ten credits videos. The attribute names should include the number of the video (the "index value"), starting with 0 (zero) up to 9. The index value is required, so even if you are delivering only one starting video, for example, you must include the index value: "intro.0.start_time".

Keep the following in mind when delivering credits:

  • Index value is required and can be numbered from 0 up to 9

  • Index values must be consecutive, starting at 0, for each type

  • The time intervals must not overlap (for example, intro.1.start_time should not be before intro.0.end_time)

  • The time intervals must be consecutive

  • Credits should not be before intros

Use the attributes intro.[0-9].start.time and intro.[0-9].end.time for the beginning credits and use credits.[0-9].start.time and credits.[0-9].end.time for the ending credits.

If you are delivering these attributes, you must supply both the start time and end time.

You can supply these attributes with source and source.hdr assets. If you deliver both source and source.hdr, the timecodes must match.

Important: Do not include the Director and Writer credits within the intro or end credit time codes.

XPath:/package/video/assets/asset/data_file/attribute

<attribute name="main.end_time">00:00:40.050</attribute>

Main Source Video End Time (optional)

Specifies the end time for the main video. You can supply this attribute with source and source.hdr assets. This attribute is optional and can be used to indicate when the main portion of the video ends, before the Director and Writer credits begin.

XPath:/package/video/assets/asset/data_file/attribute

<attribute name="product_placement">true</attribute>

Product Placement (optional)

Indicates that the video contains product placement. You can supply this attribute with source and source.hdr assets. Some countries require notification at beginning and end of a video if it contains product placement.

Allowed values are true or false. In this example, the subscription video has product placement, so the attribute is set to true.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="timecode_format">qt_text</attribute>

Timecode Format (optional)

Specifies the timecode used for the intros and credits videos. The format can be qt_text (default) or one of the SMPTE formats shown in Timecode Formats in Apple Transactional Film Specification.

If you omit the <timecode_format> tag, the format defaults to qt_text.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="image.textless_master">false</attribute>

Textless Master (required)

Specifies whether or not the subscription video contains burned-in text, such as narratives burnt into the visual picture or burned-in subtitles. Narrative text is text that appears on screen to supplement the plot of the story without the use of a narrator, such as “Paris early morning, 1935.” Opening title sequences, and credits are not considered “text” in this case; those are expected to be in the subscription video.

This attribute is required for all subscription videos. Allowed values are true or false. In this example, the subscription video has burned-in narrative and burned-in subtitles, so the attribute is set to false.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="video_has_varying_active_region">false</attribute>

Video Has Varying Active Region (optional)

Use this attribute to specify whether the video content has varying aspect ratios. Allowed values are true or false. The value defaults to false if you omit this attribute. This attribute can be used on all video sources.

Set this attribute to true to have the asset analyzed to detect the active regions of the video. This option applies the Per Frame Rectangular Mask (PFRM). Using the metadata that is generated by the analysis, the video player’s canvas size grows or shrinks with the video content when viewed on Apple Vision Pro.

To remove metadata generated by a previous analysis, deliver an update with this attribute set to false.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="image.burned_forced_narrative.locale">fr-FR</attribute>

Forced Narrative Locale (required if full source contains forced narrative text)

Specifies the locale of the narrative text. In this example, the attribute is required because the source contains burned-in narrative text.

If the video had burned-in subtitles, the attribute "image.burned_subtitles.locale" would be required.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="photosensitive_epilepsy_risk">true</attribute>

Photosensitive epilepsy (PSE) risk (required if a PSE test indicates a risk or if you are unable to run a PSE test)

Specifies whether to display a warning message that the content may trigger photosensitive epilepsy.

Allowed values are true or false.

  • If a PSE test indicates a possible risk, then set this attribute to true.

  • If you are unable to run a PSE test and your content may be affected, then set this attribute to true.

  • If your content is unaffected, then set this attribute to false or omit the attribute.

</data_file>

Ends the role="source" data file element block.

XPath: /package/video/assets/asset/data_file

<data_file role="captions">

Closed Captioning Data File (required for U.S. deliveries)

A data file element block must be included if the captions are delivered for the associated video. The "captions" role specifies that the delivered file is intended to be used as the closed captioning file for the Apple service encode. This role must be specified, or the package will be rejected.

In this block, the <locale>, <file_name>, <size>, and <checksum> tags are required.

XPath:/package/video/assets/asset/data_file/file_name

<file_name>42foo666bar17-english.scc</file_name>

File Name (required)

The name of the caption file included in this delivery package. The name should be relative to the package (containing no path reference “C:\” or “/Macintosh HD/”) and must contain the file name extension (.scc in this example).

Important: File names are case sensitive and spaces are not allowed.

XPath: /package/video/assets/asset/data_file/size

<size>9511</size>

File Size (required)

The size in bytes of the caption file. Do not specify any commas nor period delimiters.

XPath: /package/video/assets/asset/data_file/checksum

<checksum type="md5">5a793a8b46037fe8aa2bdd739b49911a</checksum>

Checksum (required)

The MD5 checksum of the caption file.

XPath:/package/video/assets/asset/data_file/locale

<locale name="en-US"/>

Locale Name (required)

Identifies the language that is used for the captions on the full source asset. The locale indicates the language and the optional region where the language is spoken.

You must supply the <locale> tag for closed captions even if the language of the captions is the same as the language specified with the <language> tag.

When updating a closed caption file, make sure the locale matches the locale of the file you are replacing. If the previously-delivered file did not have a locale specified, you can deliver a new file with the new locale and the existing file will be replaced. If the previously-delivered file had a locale specified and you want to replace it with a new file that has a different locale, you must first remove the existing captions file (<data_file role="captions" remove="true">). Note that the full asset can have only one caption file. See the annotation in Change Locales for how to use the remove="true" attribute.

See the Languages and Locales for details on specifying a language.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="program.start.timecode">-01:00:00:00</attribute>

Timecode Offset (optional)

Indicates the timecode offset for the closed captions. Apple requires that timecodes start at a program start of 00:00:00:00, which may necessitate that captions be offset if they have been mastered to tape timecode. To keep closed captions in sync on the encoded file, use the "program.start.timecode" attribute. The value is a SMPTE HH:MM:SS:FF timecode in non-drop frame with an optional negative (-) sign for negative offsets, for example, -01:00:00:00. This feature is supported for both non-drop and drop frame timecodes.

</data_file>

Ends the role="captions" data file element block.

XPath: /package/video/assets/asset/data_file

<data_file role="audio.visually_impaired"> <file_name>33bard5f917-ad.mov</file_name> <size>34866696</size> <checksum type="md5">a2db7f2f30c9744e98fa393e51cf6a93</checksum>

Audio Description (AD) Data File (optional)

Begins the data file block that delivers an AD audio file. An Audio Description (AD) file allows visually-impaired customers to follow the subscription video with audio that describes the plot and what is being displayed visually on the screen. The “audio.visually_impaired” role specifies that the delivered file is intended to be used as an alternate audio file for Audio Description for the Apple service encode. If you are delivering an AD audio file, the file must be in 2.0 stereo and you can optionally deliver an additional AD file in 5.1 surround format (no 7.1 surround).

In this block, the <file_name>, <size>, <checksum>, and <locale> tags are required.

Important: File names are case sensitive and spaces are not allowed.

XPath: /package/video/assets/asset/data_file/locale

<locale name="en-US"/>

Locale Name (required)

Identifies the language that is used for the AD audio track. The locale indicates the language and the optional region where the language is spoken.

You must supply the <locale> tag for the AD audio track even if the language of the audio is the same as the language specified with the <language> tag. If you deliver a package and do not include the locale for the AD file, you will see a warning that the locale is missing and that English ("en") will be used by default.

Note: Audio Description (AD) files are accepted for all languages and Apple includes the Audio Description when creating the final product. To be included in the final product, the locale of the audio description must match the locale of a corresponding source audio or alternate audio file. If you send an Audio Description file that doesn’t have a corresponding audio file, it will not go live in the catalog. For example, if you deliver a movie in English with French alternate audio, French AD, English AD, and Spanish AD, the final product for Canada would include English audio, French audio, English AD, and French AD; it would not include Spanish AD because there is no corresponding Spanish audio.

</data_file>

Ends the role="audio.visually_impaired" data file element block.

XPath: /package/video/assets/asset/data_file

<data_file role="audio.7_1"> <locale name="en-US"/> <file_name>audio_71.mov</file_name> <checksum type="md5">a765a9fc88ac893ead51366fbeb04d82</checksum> <size>8730177839</size> <attribute name="audio.surround.force_5_1_downmix">true</attribute></data_file>

7.1 Surround Audio (optional)

To deliver Dolby Digital Plus audio, use the role attribute (role="audio.7_1") with the <data_file> tag. The 7.1 surround audio is optional and is delivered as a role for the full asset.

Note: The video source can only contain 2.0 stereo and an optional 5.1 surround audio; 7.1 surround audio cannot be combined with the source.

Use the "audio.surround.force_5_1_downmix" attribute indicate how to handle existing 5.1 surround audio.

  • When you deliver 7.1 surround audio and a 5.1 surround audio file, you do not need to supply the "audio.surround.force_5_1_downmix" attribute; however, if you do supply it, it must be set to false.

  • When you deliver 7.1 surround audio and a 5.1 surround audio file, you do not need to supply the "audio.surround.force_5_1_downmix" attribute; however, if you do supply it, it must be set to true. 5.1 surround audio will be automatically downmixed.

For additional content considerations for 7.1 audio, see 7.1 Surround Audio Delivery in Apple Transactional Film Specification.

Important: File names are case sensitive and spaces are not allowed.

XPath: /package/video/assets/asset/data_file

<data_file role="audio.object_based"> <locale name="en-US"/> <file_name>audio_atmos.wav</file_name> <checksum type="md5">bc5b28a6200e5273202b7609f626fec0</checksum> <size>1142644642</size></data_file>

Dolby Atmos Audio (optional)

To deliver Dolby Atmos audio, use the role attribute (role="audio.object_based") with the <data_file> tag. The Dolby Atmos audio is optional and is delivered as a role for the full asset.

Note: The video source can only contain 2.0 stereo and an optional 5.1 surround audio; Dolby Atmos audio cannot be combined with the source.

The <locale> tag should match the associated stereo audio locale (which could be the audio on the video source or an alternate audio). If the locales do not match, the availability of the Atmos audio will not be listed.

For audio file requirements, see Dolby Atmos Audio Source Profile.

XPath: /package/video/assets/asset/data_file

<data_file role="audio"> <locale name="es-MX"/> <file_name>audio_es-MX.mov</file_name> <checksum type="md5">9df86c3e43e7b43ddeabb2ddfe4b8a42</checksum> <size>4916659</size></data_file>

Localized Dubbed Audio (optional)

Territory and language-specific audio (stereo and optionally 5.1 surround) can be supplied using the "locale" metadata structure. If used, the language must be included to specify the language; the region where the language is spoken is optional. One audio file can be provided for each desired language (and region). The <locale> tag is required for localized audio assets.

See Languages and Locales

Important: File names are case sensitive and spaces are not allowed.

XPath: /package/video/assets/asset/data_file

<data_file role="subtitles"> <locale name="es-MX"/> <file_name>Subtitles_es-MX.itt</file_name> <size>88474</size> <checksum type="md5">c123e860384b8b954f169c9af0cbe4df</checksum></data_file>

Localized Subtitles (optional)

Subtitles are delivered as a role for the full asset. The files must be in the iTT file format with the extension .itt. See iTunes Timed Text Profile in Apple Transactional Film Specification for information on the iTT file format.

The <locale> identifies the language in which the subtitles appear. The locale indicates both the language and the optional location where the language is spoken.

See Languages and Locales

Important: File names are case sensitive and spaces are not allowed.

XPath: /package/video/assets/asset/data_file

<data_file role="forced_subtitles"> <locale name="es-MX"/> <file_name>Subtitles_ES_MX_Forced.itt</file_name> <size>1738</size> <checksum type="md5">3dff0aa59b46b89e770f4614a70909f8</checksum></data_file>

Localized Forced Subtitles (optional)

The forced subtitles data file contains the set of subtitles that must be forced-displayed when the matching dubbed audio locale is played by a viewer.

Forced subtitles are delivered as a role for the full asset. The files must be in the iTT file format with the extension .itt. See iTunes Timed Text Profile in Apple Transactional Film Specification for information on the iTT file format.

The <locale> identifies the language in which the forced subtitles appear. The locale indicates both the language and the optional location where the language is spoken.

See Languages and Locales

Note: Forced subtitles are tied to audio and automatically display in a player if that audio is selected for playback. Therefore, the locale value of any delivered forced subtitle file must be the same as its corresponding audio. For example, if the film’s audio is German, the German forced subtitle file must have a locale name of de-DE. Text in forced subtitles must be duplicated in the full subtitle file of the same language because they do not automatically play back when the full subtitle is selected.

Important: File names are case sensitive and spaces are not allowed.

XPath: /package/video/assets/asset/data_file

<data_file role="subtitles.hearing_impaired"> <locale name="en-US"/> <file_name>Subtitles_SDH_english.itt</file_name> <size>109511</size> <checksum type="md5">5a793a8b46037fe8aa2bdd739b49911a</checksum></data_file>

Localized SDH (optional)

A data file element block must be included if the SDH are delivered for the associated video. The "subtitles.hearing_impaired" role specifies that the delivered file is intended to be used as the SDH file for the video. The files must be in the iTT file format with the extension .itt. See iTunes Timed Text Profile in Apple Transactional Film Specification for information on the iTT file format.

Important: File names are case sensitive and spaces are not allowed.

The <locale> identifies the language of the text in the SDH file delivered in this <data_file> block.

XPath: /package/video/assets/asset/data_file

<data_file role="notes"> <file_name>33bard5f917-source-notes.pdf</file_name> <size>8543</size> <checksum type="md5">e5649a015c941c0f9d42f5c2054a25ab</checksum></data_file>

Data File (optional)

A data file element block must be included to deliver quality control notes (for example, for describing a known issue with the asset). To deliver QC notes that are over 4,000 characters, use the attribute role="notes" with the <data_file> tag.

In this block, the role attribute and <filename>, <checksum>, and <size> tags are required.

Note: The text of the quality control note can also be delivered using a <comments> tag.

Important: File names are case sensitive and spaces are not allowed.

</asset> </assets>

Video Metadata Fields

XPath: /package/video/chapters

<chapters>

Chapters (optional)

Defines chapters within a video.

Note: Chapter titles and chapter artwork can be added or changed, however you must send all chapters, not just the ones being updated. Chapter artwork can be provided in an artwork file or specified by a timecode.

XPath: /package/video/chapters/timecode_format

<timecode_format>24/999 1000/nonDrop</timecode_format>

Timecode format (optional, but recommended)

Defines the timecodes used for the chapters.

The format can be qt_text or one of the SMPTE formats illustrated in Timecode Formats in Apple Transactional Film Specification. If you omit the <timecode_format> tag, the format defaults to qt_text.

Each chapter requires an artwork image, either an artwork file or a frame specified by a timecode. If you specify a timecode but use the qt_text format, the frame nearest the timecode is used for the chapter image: you cannot specify a frame for the chapter image using qt_text.

Important: The frame modes (for example, nonDrop and dropNTSC) are case-sensitive.

XPath: /package/video/chapters/chapter

<chapters>

Chapters (required if providing chapters)

Defines the first chapter within the <chapters> tag.

There is no limit to the number of chapters you can define.

XPath: /package/video/chapters/chapter/start_time

<start_time>00:00:00:00</start_time>

Chapter Start Time (required if providing chapters)

Specifies the start of each chapter as dictated by the <timecode_format> above. End time is inferred from the start time of the next defined chapter. Refer to Timecode Formats in Apple Transactional Film Specification for <start_time> examples.

The first chapter must start at 00:00:00:00 and the chapters must be listed in chronological order.

XPath: /package/video/chapters/chapter/titles/title

<titles> <title locale="en-US">The Story Begins</title> <title locale="fr-FR">L'Histoire Commence</title> <title locale="es-MX">La historia comienza</title></titles>

Chapter Titles (required if providing chapters; 1-255 bytes)

The titles of the chapter, one for each locale.

Use the locale attribute to specify both the language and the optional region where the language is spoken. See Languages and Locales for more information.

If you are providing only one title, you do not need to use the <titles></titles> tag.

Note: It is recommended that the chapters provided match what is on the original content. In addition, include a chapter for video credits as the last chapter. There is a 255-byte limit strictly enforced. The data is stored in the UTF-8 encoding, so for single-byte characters (such as those drawn from the ASCII character set), this equates to a 255-character limit; for multiple-byte (e.g., Japanese) characters, this can equate to as few as 71 characters.

XPath: /package/video/chapters/chapter/artwork_file

<artwork_file> <file_name>chapter01.jpg</file_name> <checksum type="md5">ed93d0f3224a353a4cc8d4175d645130</checksum> <size>6591649</size></artwork_file>

Artwork File (required, if providing an image file)

The filename of the image to be used to represent this chapter. Do not include a path. You must provide the <file_name>, <size>, and <checksum>. Each chapter must have an associated image: either an artwork file or an artwork timecode. See the annotation below for how to deliver an artwork timecode.

Include the artwork files in the package directory along with the basic metadata file. The artwork can be JPEG with .jpg extension or PNG with .png extension. Chapter images must be cropped (no letterbox, pillarbox, or windowbox). Each artwork file image must have a unique filename.

Important: File names are case sensitive and spaces are not allowed.

XPath: /package/video/chapters/chapter/artwork_time

<artwork_time>00:07:45:23</artwork_time>

Artwork Time (required, if specifying a frame by timecode)

The timecode of the frame to be used to represent this chapter. You must provide a valid timecode from within the chapter. Each chapter must have an associated image: either an artwork file or an artwork timecode. See the annotation above for how to deliver an artwork file.

In qt_text format, the frame nearest the timecode is used for the chapter image: you cannot specify a frame for the chapter image using qt_text.

Each artwork timecode must be unique.

</chapter></chapters>

XPath: /package/video/play_sequences

<play_sequences>

Play Sequences (optional)

Begins the play sequences block where you deliver your pre-roll and post-roll videos. You can deliver a different sequence of pre-roll and post-roll videos for a territory by specifying a separate <play_sequence> for that territory (see the Play Sequence Item by Territory annotation below).

To make changes to the play sequence, you must deliver the entire <play_sequences> block with all the <play_sequence> tags, even if you are not making changes to a particular play sequence. To remove a play sequence, deliver the entire <play_sequences> block, omitting the play sequence you want to remove. To remove all previously delivered play sequences, send an empty tag: <play_sequences/>.

Note: Only the full asset will be played in a territory if any of the following apply:

  • the <play_sequences> tag is not supplied

  • an empty tag <play_sequences/> is supplied

  • a <play_sequence> tag is supplied that excludes a territory

XPath: /package/video/play_sequences/play_sequence

<play_sequence>

Play Sequence (optional)

Begins the play sequence block where you deliver your pre-roll and post-roll videos. The first example is not territory-specific and these videos will be played for world-wide viewers. If a territory requires/has territory-specific videos, you can deliver those videos in their own <play_sequence> block. See the Play Sequence Item by Territory annotation below.

Keep the following guidelines in mind when creating the play sequence:

  • The rating of the video should not be higher than the associated show or movie.

  • The frame rate, resolution, and color space of the pre- or post-roll video should match the associated show or movie if possible.

  • The accessibility options of the pre- or post-roll video should match the accessibility options of the associated show or movie.

XPath: package/video/play_sequences/play_sequence/play_sequence_item

<play_sequence_item type="pre-roll" vendor_id="TheMoviePromo1"/> <play_sequence_item skippable="true" type="pre-roll" vendor_id="Promo3"/> <play_sequence_item type="post-roll" vendor_id="TheMovie_Dubcredits_42"/></play_sequence><play_sequence> <territories> <territory>MX</territory> </territories></play_sequence>

Play Sequence Items (optional)

For each pre-roll and post-roll video, supply the item type (pre-roll or post-roll) with the type attribute and the vendor ID of the video item with the vendor_id attribute. This vendor ID must match the vendor ID of the video as supplied in the separate video asset delivery. See the Pre-Roll and Post-Roll Video Specification for how to deliver the pre-roll and post-roll videos.

Add as many pre-roll or post-roll videos as needed in the order in which you want them to appear.

In this example, the default pre-roll or post-roll videos will play in all territories except MX. To exclude videos from playing in a territory, add a <play_sequence> enclosing the <territories> tag, where you add the code for the excluded territory.

To indicate that the viewer can skip the pre-roll video, use the skippable attribute set to "true". Note that the skippable attribute can be used only on pre-roll videos, except for a pre-roll video that contains ratings; those cannot be skipped.

XPath: /package/video/play_sequences/play_sequence/territories/territory

<play_sequence> <territories> <territory>NZ</territory> </territories> <play_sequence_item type="pre-roll" vendor_id="TheMovieNZPromo1"/> ... <play_sequence_item type="post-roll" vendor_id="TheMovie_Dubcredits_43"/></play_sequence>

Play Sequence Items by Territory (optional)

Use the <territories> block to indicate one or more territories where the specified pre- roll and post-roll videos should play. For each pre-roll and post-roll video, supply the item type (pre-roll or post-roll) with the type attribute and the vendor ID of the video item with the vendor_id attribute. This vendor ID must match the vendor ID of the video as supplied in the separate video asset delivery. See Pre-Roll and Post-Roll Video Specification for how to deliver the pre-roll and post-roll videos.

Add as many pre-roll or post-roll videos as needed in the order in which you want them to appear.

</play_sequences> </video></package>

XML Example for Preview Delivery

This example shows how to deliver a package for a preview video asset using the <subtype> tag. In this example, the preview is in U.S. English and includes closed captions.

Note: For shows, you can add a preview for the show as a whole, and you can add previews for each episode. Note that each preview must be delivered in its own package; you can’t deliver multiple preview assets in one delivery.

Keep the following in mind when delivering a preview:

To see a full description of each block, see XML Annotations for Preview Source Delivery. For questions regarding this document, contact your Apple Technical Partner Representative.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <language>en-US</language> <provider>AppleseedEntertainment</provider> <video> <subtype>preview</subtype> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>c3f1742ab3de</umc_content_id> <umc_variant_id>1</umc_variant_id> <title>The Preview</title> <original_spoken_locale>en-US</original_spoken_locale> <assets> <asset type="preview"> <data_file role="source"> <locale name="en-US"/> <file_name>33bard5f917-preview-source.mov</file_name> <size>2595225600</size> <checksum type="md5">fe82a79dd93a89b499aa211ab4603773</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> </data_file> <data_file role="captions"> <locale name="en-US"/> <file_name>33bard5f917—preview-english.scc</file_name> <size>9511</size> <checksum type="md5">5a793a8b46037fe8aa2bdd739b49911a</checksum> <attribute name="program.start.timecode">-01:00:00:00</attribute> </data_file> <!-- additional components here --> </asset> </assets> </video></package>

XML Example for Epic Stage Video Delivery

This example shows how to deliver a package for an epic stage video asset using the <subtype> tag. Use "featuredpromo" as the subtype and "preview" as the asset type in the XML.

Keep the following in mind when delivering an epic stage video:

To see a full description of each block, see XML Annotations for Preview Source Delivery. For questions regarding this document, contact your Apple Technical Partner Representative.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <language>en-US</language> <provider>AppleseedEntertainment</provider> <video> <subtype>featuredpromo</subtype> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>c3f1742ab3de</umc_content_id> <umc_variant_id>1</umc_variant_id> <title>The Featured Promo</title> <original_spoken_locale>en-US</original_spoken_locale> <assets> <asset type="preview"> <data_file role="source"> <locale name="en-US"/> <file_name>33bard5f917-preview-source.mov</file_name> <size>2595225600</size> <checksum type="md5">fe82a79dd93a89b499aa211ab4603773</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> </data_file> <data_file role="captions"> <locale name="en-US"/> <file_name>33bard5f917—preview-english.scc</file_name> <size>9511</size> <checksum type="md5">5a793a8b46037fe8aa2bdd739b49911a</checksum> <attribute name="program.start.timecode">-01:00:00:00</attribute> </data_file> <!-- additional components here --> </asset> </assets> </video></package>

XML Annotations for Preview Source Delivery

Package Metadata Fields

<?xml version="1.0" encoding="UTF-8"?>

XML Declaration

The character encoding of your document must be defined.

Apple only accepts UTF-8 encoding as it efficiently encodes non-Roman characters.

Important: The metadata.xml file must not contain a byte-order mark (BOM).

XPath: /package

<package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0">

Package Container (required)

The xmlns (for XML namespace) attribute is required and is needed for schema validation. It is used to declare the namespace (and associated schema) to which the tags in the XML are expected to conform.

The version attribute is required and should refer to the version of the specification used to create the metadata.

Packages created to this specification must indicate version="subscriptionvideo5.0". The "subscriptionvideo" portion of the attribute must be in lowercase letters.

XPath: /package/language

<language>en-US</language>

Language (required)

The primary language of the metadata for this package. See Languages and Locales for information on formatting.

Provider Metadata Fields

XPath: /package/provider

<provider>AppleseedEntertainment</provider>

Provider (required, Apple-supplied)

This value should be the Apple-defined provider shortname given for partner identification. The value must match the provider name used in Transporter (the value that is after -s in the Transporter command). The value supplied with the <provider> tag is case-sensitive. Note that it is the value you pass as an argument to Transporter, not the value in the XML, that determines the account you are delivering to.

Video Metadata Fields

XPath: /package/video

<video>

Video (required)

Begins the video element. Only one video element can be defined per subscription video XML.

XPath: /package/video/subtype

<subtype>preview</subtype><subtype>featuredpromo</subtype>

Video Subtype (required for preview delivery or epic stage video delivery)

Identifies the type of video you are delivering. The <subtype> tag is required when delivering preview and epic stage videos. The value must be:

  • preview when delivering a preview video

  • featuredpromo when delivering an epic stage video

Note: An epic stage video needs to be exclusively featured. Contact your Apple Technical Partner Representative before providing content of this type.

XPath: /package/video/umc_catalog_id

<umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id>

Universal Media Catalog Catalog ID (required; 1-255 characters)

Supplies the unique catalog identifier (as identified during Apple catalog registration). The value can contain both numbers and letters. Example: com.catalog.acme.

XPath: /package/video/umc_content_id

<umc_content_id>42abc33def17</umc_content_id>

Universal Media Catalog Content ID (required; 1-255 characters)

Defines the unique ID you are providing for this item. The value can contain both numbers and letters. Example: CP012391

  • This ID must be unique across all content types; no two items should have the same contentId even if their contentType is different.

  • The contentId for a given content item must be consistent and cannot be changed.

XPath: /package/video/umc_variant_id

<umc_variant_id>1</umc_variant_id>

Universal Media Catalog Variant ID (required; 1-32 characters)

Distinguishes between different versions of the content, for example the same asset with different territory-specific editorial or compliance requirements. The value can contain both numbers and letters, and underscores. If you do not have multiple versions, Apple suggests using 1 as the value.

XPath: /package/video/title

<title>The Preview</title>

Title (required, 1-255 bytes)

The name of this subscription video preview. This title is used for internal purposes and will not appear to the customer.

XPath: /package/video/original_spoken_locale

<original_spoken_locale>en-US</original_spoken_locale>

Original Spoken Locale (required)

Specifies the language spoken by the actors in the video. The value used for locale is case- insensitive, even though the example shows the value in the format xx-XX, such as en-US.

In this example, the language the actors’ lips are moving in is English as spoken in the United States, so en-US must be specified as the <original_spoken_locale>.

Note: This tag is different from the <language> tag. <original_spoken_locale> is the language the actors are seen speaking in. <language> is the primary language used for the metadata.

Asset Metadata Fields

XPath: /package/video/assets

<assets>

Assets (required, multiple from a set)

Begins the assets block that references the assets being delivered. New files update by overwriting the previous files.

XPath: /package/video/assets/asset

<asset type="preview">

Asset (required)

Describes the type of asset being delivered. Specify type="preview" to indicate that the asset is a preview trailer.

Use the <asset type="preview"> to deliver a custom preview.

XPath: /package/video/assets/asset/data_file

<data_file role="source"> <locale name="en-US"/> <file_name>33bard5f917-preview-source.mov</file_name> <size>2595225600</size> <checksum type="md5">fe82a79dd93a89b499aa211ab4603773</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute></data_file>

Preview Asset Source (required)

Deliver the custom preview source in a <data_file> block. The preview source data file contains the preview length video and audio streams.

The <locale name> is required and it identifies the language that is spoken in the audio on the source asset, regardless of the territories in which it is to be sold. It indicates the language and the optional region where the language is spoken.

One custom preview file can be provided for each territory. For each territory, the preview can have optional data files for alternate audios or subtitles.

</asset>

XPath: /package/video/assets/asset/data_file

<data_file role="captions">

Closed Captioning Data File (required for U.S. deliveries)

A data file element block must be included if the captions are delivered for the associated video. The "captions" role specifies that the delivered file is intended to be used as the closed captioning file for the Apple service encode. This role must be specified, or the package will be rejected.

In this block, the <locale>, <file_name>, <size>, and <checksum> tags are required.

XPath:/package/video/assets/asset/data_file/file_name

<file_name>42foo666bar17-preview-english.scc</file_name>

File Name (required)

The name of the caption file included in this delivery package. The name should be relative to the package (containing no path reference “C:\” or “/Macintosh HD/”) and must contain the file name extension (.scc in this example).

Important: File names are case sensitive and spaces are not allowed.

XPath: /package/video/assets/asset/data_file/size

<size>9511</size>

File Size (required)

The size in bytes of the caption file. Do not specify any commas nor period delimiters.

XPath: /package/video/assets/asset/data_file/checksum

<checksum type="md5">5a793a8b46037fe8aa2bdd739b49911a</checksum>

Checksum (required)

The MD5 checksum of the caption file.

XPath:/package/video/assets/asset/data_file/locale

<locale name="en-US"/>

Locale Name (required)

Identifies the language that is used for the captions on the preview source asset. The locale indicates the language and the optional region where the language is spoken.

You must supply the <locale> tag for closed captions even if the language of the captions is the same as the language specified with the <language> tag.

When updating a closed caption file, make sure the locale matches the locale of the file you are replacing. If the previously-delivered file did not have a locale specified, you can deliver a new file with the new locale and the existing file will be replaced. If the previously-delivered file had a locale specified and you want to replace it with a new file that has a different locale, you must first remove the existing captions file (<data_file role="captions" remove="true">). See the annotation in Change Locales for how to use the remove="true" attribute.

See the Languages and Locales for details on specifying a language.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="program.start.timecode">-01:00:00:00</attribute>

Timecode Offset (optional)

Indicates the timecode offset for the closed captions. Apple requires that timecodes start at a program start of 00:00:00:00, which may necessitate that captions be offset if they have been mastered to tape timecode. To keep closed captions in sync on the encoded file, use the "program.start.timecode" attribute. The value is a SMPTE HH:MM:SS:FF timecode in non-drop frame with an optional negative (-) sign for negative offsets, for example, -01:00:00:00. This feature is supported for both non-drop and drop frame timecodes.

</data_file> </asset></assets>

HDR Dolby Vision

HDR Dolby® Vision Full Source Video Metadata Example

To deliver HDR Dolby® Vision video, two roles have been added for use with the <asset> tag: source.hdr and mapping.hdr. The following metadata example shows how to use the roles in a subscription video update. This example adds an HDR Dolby® Vision video to a previously-delivered subscription video. The package delivered would consist of the metadata file, the HDR Dolby® Vision source video, and the sidecar metadata file. The primary subscription video source must be referenced by its content identifiers (<umc_catalog_id>, <umc_content_id>, and <umc_variant_id>).

Note: An SDR asset is required for a Dolby Vision delivery unless you are using <attribute name="video.hdr.force_sdr_downconvert">true</attribute> to down-convert to SDR.

To deliver the HDR and SDR video at the same time, see the example in HDR and SDR Delivery.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <language>en-US</language> <provider>AppleseedEntertainment</provider> <video><!-- The identifiers below refer to the previously delivered subscription video. —> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id> <assets> <asset type="full"> <data_file role="source.hdr"> <attribute name="hdr.format">DolbyVision</attribute> <locale name="en-US"/> <file_name>09736156444-hdr-source.mov</file_name> <size>3244032000</size> <checksum type="md5">9df86c3e43e7b43ddeabb2ddfe4b8a42</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="image.textless_master">true</attribute> </data_file> <data_file role="mapping.hdr"> <file_name>09736156444-mapping.xml</file_name> <size>16659</size> <checksum type="md5">df86c3eeabb2ddfe4b843e7b943dda42</checksum> </data_file> </asset> </assets> </video></package>

HDR Dolby® Vision Full Source Video Metadata Annotations

Only the tags related to the HDR Dolby® Vision delivery are described. Refer to Subscription Video Asset Delivery XML Annotations for annotations on other tags.

Video Metadata Fields

XPath: /package/video/umc_catalog_id

<umc_catalog_id>AppleseedEntertainment.service1.US</ umc_catalog_id>

Universal Media Catalog Catalog ID (required; 1-255 characters)

Specifies the unique catalog identifier of the primary subscription video source (as identified during Apple catalog registration). The value can contain both numbers and letters.

When adding HDR to an existing subscription video, you must supply the content identifiers. Those values must match the identifiers of the existing subscription video. You do not need to re-deliver the subscription video data file.

XPath: /package/video/umc_content_id

<umc_content_id>42abc33def17</umc_content_id>

Universal Media Catalog Content ID (required; 1-255 characters)

Defines the unique ID you assigned to the primary subscription video source. The value can contain both numbers and letters.

When adding HDR to an existing subscription video, you must supply the content identifiers. Those values must match the identifiers of the existing subscription video. You do not need to re-deliver the subscription video data file.

XPath: /package/video/umc_variant_id

<umc_variant_id>1</umc_variant_id>

Universal Media Catalog Variant ID (required; 1-32 characters)

Distinguishes between different versions of the primary subscription video source, for example the same asset with different territory-specific editorial or compliance requirements. The value can contain both numbers and letters, and underscores. If you do not have multiple versions, Apple suggests using 1 as the value.

When adding HDR to an existing subscription video, you must supply the content identifiers. Those values must match the identifiers of the existing subscription video. You do not need to re-deliver the subscription video data file.

Asset Metadata Fields

XPath: /package/video/assets

<assets>

Assets (required)

Begins the assets block that references the assets being delivered.

XPath: /package/video/assets/asset/data_file

<asset type="full"> <data_file role="source.hdr">

HDR Source Asset (required)

The data file block specifies the source video file and describes the role of the associated file. In this example, the file sent is used as the HDR source, so the role must be "source.hdr".

The secondary source video must be the same duration as the primary subscription video source so that components such as subtitles and audio can be used with the secondary video.

In this block, the <locale>, <file_name>, <size>, and <checksum> tags are required.

For additional content considerations about HDR delivery, see HDR Delivery in Apple Transactional Film Specification.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.format">DolbyVision</attribute>

HDR Format (required)

In this example, the HDR video source is Dolby® Vision, which must be specified with the hdr.format attribute. Specifying the HDR format is required. Roles allowed for the hdr.format attribute include DolbyVision and HDR10. Only one hdr.format value can be specified.

XPath: /package/video/assets/asset/data_file/locale

<locale name="en-US"/>

HDR Source Asset Locale (required)

The locale for the HDR source video must match the locale of the primary subscription video. If they do not match, delivery will fail.

XPath: /package/video/assets/asset/data_file/file_name

<file_name>42abc33def17-hdr-source.mov</file_name>

File Name (required)

The name of the data file included in this delivery package. The name should be relative to the package (containing no path reference “C:\” or “/Macintosh HD/”) and must contain the file name extension (”.mov” in this example).

Important: File names are case-sensitive and spaces are not allowed.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="image.textless_master">true</attribute>

Textless Master (required)

The value for textless master for the HDR source video must match the value for textless master primary subscription video. If they do not match, delivery will fail.

If the value is set to false, you must also supply the "image.burned_subtitles.locale" and/or "image.burned_forced_narrative.locale" attributes. See the annotation in XML Annotations for Delivery.

XPath: /package/video/assets/asset/data_file

<asset type="full"> <data_file role="mapping.hdr">

HDR Sidecar Mapping File (required)

The data file block specifies the sidecar file and describes the role of the associated file. The maximum frame number (edit unit) referenced in the sidecar metadata file must be less than or equal to the last frame number of the secondary HDR video.

For initial delivery, both the source HDR video file and the mapping file must be included or delivery will fail. When you send an update to deliver a new source HDR, the mapping file should be supplied (either by sending it with the update delivery or by using the previously-delivered mapping file). The mapping file, however, can be delivered (and updated) without specifying the source HDR.

In this block, the <locale>, <file_name>, <size>, and <checksum> tags are required.

Both Dolby Vision CM version 2.9 and CM version 4.0 sidecar metadata files are supported.

</asset> </assets>
</video></package>

HDR Dolby Vision Preview Source Video Metadata Example

To deliver HDR Dolby® Vision preview source video, two roles have been added for use with the <asset> tag: source.hdr and mapping.hdr. The following metadata example shows how to use the roles in a subscription video update. This example adds an HDR Dolby® Vision preview video to a previously-delivered subscription video. The package delivered would consist of the metadata file, the HDR Dolby® Vision preview source video, and the sidecar metadata file. The primary subscription video source must be referenced by its content identifiers (<umc_catalog_id>, <umc_content_id>, and <umc_variant_id>). To deliver the HDR and SDR video at the same time, see the example in HDR and SDR Delivery.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <language>en-US</language> <provider>AppleseedEntertainment</provider> <video> <subtype>preview</subtype><!-- The identifiers below refer to the previously delivered subscription video. —> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id> <assets> <asset type="preview"> <data_file role="source.hdr"> <attribute name="hdr.format">DolbyVision</attribute> <locale name="en-US"/> <file_name>09736156444-hdr-preview.mov</file_name> <size>9987212</size> <checksum type="md5">739b43b793a8b46037fe8aa29dd9911e</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="image.textless_master">true</attribute> </data_file> <data_file role="mapping.hdr"> <file_name>09736156444-preview-mapping.xml</file_name> <size>16659</size> <checksum type="md5">b8ddfe443e7df86c3eeabb2b943dda42</checksum> </data_file> </asset> </assets> </video></package>

HDR Dolby® Vision Preview Source Video Metadata Annotations

Only the tags related to the HDR Dolby® Vision delivery are described. Refer to Subscription Video Asset Delivery XML Annotations for annotations on other tags.

Video Metadata Fields

XPath: /package/video/subtype

<subtype>preview</subtype>

Video Subtype (required for preview delivery)

Identifies the type of video you are delivering. The <subtype> tag is required when delivering previews and the value must be preview.

XPath: /package/video/umc_catalog_id

<umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id>

Universal Media Catalog Catalog ID (required; 1-255 characters)

Specifies the unique catalog identifier of the primary subscription video source (as identified during Apple catalog registration). The value can contain both numbers and letters.

When adding HDR to an existing subscription video, you must supply the content identifiers. Those values must match the identifiers of the existing subscription video. You do not need to re-deliver the subscription video data file.

XPath: /package/video/umc_content_id

<umc_content_id>42abc33def17</umc_content_id>

Universal Media Catalog Content ID (required; 1-255 characters)

Defines the unique ID you assigned to the primary subscription video source. The value can contain both numbers and letters.

When adding HDR to an existing subscription video, you must supply the content identifiers. Those values must match the identifiers of the existing subscription video. You do not need to re-deliver the subscription video data file.

XPath: /package/video/umc_variant_id

<umc_variant_id>1</umc_variant_id>

Universal Media Catalog Variant ID (required; 1-32 characters)

Distinguishes between different versions of the primary subscription video source, for example the same asset with different territory-specific editorial or compliance requirements. The value can contain both numbers and letters, and underscores. If you do not have multiple versions, Apple suggests using 1 as the value.

When adding HDR to an existing subscription video, you must supply the content identifiers. Those values must match the identifiers of the existing subscription video. You do not need to re-deliver the subscription video data file.

Asset Metadata Fields

XPath: /package/video/assets

<assets>

Assets (required)

Begins the assets block that references the assets being delivered.

XPath: /package/video/assets/asset/data_file

<asset type="preview"> <data_file role="source.hdr">

HDR Preview Source Asset (required)

The data file block specifies the preview source video file and describes the role of the associated file. In this example, the file sent is used as the HDR source, so the role must be "source.hdr".

The secondary preview source video must be the same duration as the primary subscription video preview source so that components such as subtitles and audio can be used with the secondary video.

In this block, the <locale>, <file_name>, <size>, and <checksum> tags are required.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.format">DolbyVision</attribute>

HDR Format (required)

In this example, the HDR video source is Dolby® Vision, which must be specified with the hdr.format attribute. Specifying the HDR format is required. Roles allowed for the hdr.format attribute include DolbyVision and HDR10. Only one hdr.format value can be specified.

XPath: /package/video/assets/asset/data_file/locale

<locale name="en-US"/>

HDR Preview Source Asset Locale (required)

The locale for the HDR preview source video must match the locale of the primary subscription video preview source. If they do not match, delivery will fail.

XPath: /package/video/assets/asset/data_file/file_name

<file_name>42abc33def17-hdr-preview.mov</file_name>

File Name (required)

The name of the preview data file included in this delivery package. The name should be relative to the package (containing no path reference “C:\” or “/Macintosh HD/”) and must contain the file name extension (”.mov” in this example).

Important: File names are case-sensitive and spaces are not allowed.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="image.textless_master">true</attribute>

Textless Master (required)

The value for textless master for the HDR preview source video must match the value for textless master primary subscription video preview. If they do not match, delivery will fail.

If the value is set to false, you must also supply the "image.burned_subtitles.locale" and/or "image.burned_forced_narrative.locale" attributes. See the annotation in XML Annotations for Delivery.

XPath: /package/video/assets/asset/data_file

<data_file role="mapping.hdr">

HDR Preview Sidecar Mapping File (required)

The data file block specifies the sidecar file for the preview asset and describes the role of the associated file. The maximum frame number (edit unit) referenced in the sidecar metadata file must be less than or equal to the last frame number of the secondary HDR preview video.

For initial delivery, both the HDR preview video file and the mapping file must be included or delivery will fail. When you send an update to deliver a new HDR preview, the mapping file should be supplied (either by sending it with the update delivery or by using the previously-delivered mapping file). The mapping file, however, can be delivered (and updated) without specifying the preview.

In this block, the <locale>, <file_name>, <size>, and <checksum> tags are required.

Both Dolby Vision CM version 2.9 and CM version 4.0 sidecar metadata files are supported.

</asset> </assets>
</video></package>

Dolby® Vision-Only (No SDR) Delivery with Embedded Audio

You can deliver Dolby Vision HDR video without a corresponding SDR video delivery and specify a tag to down-convert to SDR. Apple will create the SDR video using the Dolby Vision SDR trim metadata. Using this method is optional, but it could streamline the delivery process for you. When you deliver a Dolby Vision-only package, you can choose to include embedded audio or you can deliver the audio in a separate file.

Note: This delivery method is not available for HDR 10 videos.

To deliver a Dolby Vision-only package, you must use the attribute that indicates you want the HDR video to be down-converted to SDR: <attribute name="video.hdr.force_sdr_downconvert">true</attribute>.

This example shows how to deliver Dolby Vision HDR video without an SDR video delivery. When you deliver a Dolby Vision-only package, you can choose to include embedded audio or you can deliver the audio in a separate file. In this example, the HDR full source video includes embedded audio. Since there is no SDR audio in this delivery (the default audio source), the HDR source is used as the primary audio source.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <provider>AppleseedEntertainment</provider> <video> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id> <!-- To save space, several tags have been omitted from this XML. See the basic example for all the tags. --> . . . <assets> <asset type="full"> <data_file role="source.hdr"> <attribute name="hdr.format">DolbyVision</attribute> <attribute name="video.hdr.force_sdr_downconvert">true</attribute> <locale name="en-US"/> <file_name>09736156444-hdr-source.mov</file_name> <size>3244032000</size> <checksum type="md5">9df86c3e43e7b43ddeabb2ddfe4b8a42</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="intro.0.start_time">00:00:32.052</attribute> <attribute name="intro.0.end_time">00:01:15.002</attribute> <attribute name="intro.1.start_time">00:01:20.044</attribute> <attribute name="intro.1.end_time">00:01:55.009</attribute> <attribute name="credits.0.start_time">00:42:06.011</attribute> <attribute name="credits.0.end_time">00:42:21.003</attribute> <attribute name="credits.1.start_time">00:56:13.024</attribute> <attribute name="credits.1.end_time">00:57:01.008</attribute> <attribute name="main.end_time">00:00:40.050</attribute> <attribute name="timecode_format">qt_text</attribute> <attribute name="image.textless_master">true</attribute> </data_file> <data_file role="mapping.hdr"> <file_name>09736156444-mapping.xml</file_name> <size>16659</size> <checksum type="md5">df86c3eeabb2ddfe4b843e7b943dda42</checksum> </data_file> <!-- Other data files (such as captions, subtitles) go here --> </asset> </assets> </video></package>

Dolby® Vision HDR-Only (No SDR) Delivery with Embedded Audio Metadata Annotations

These annotations cover only the tags for use for downconverting HDR to SDR.

Asset Level Tags

XPath: /package/video/assets/asset

<asset type="full">

  <data_file role="source.hdr">

HDR Source Asset (required)

The data file block specifies the source video file and describes the role of the associated file. In this example, the file sent is used as the HDR source, so the role must be "source.hdr".

In this block, the <locale>, <file_name>, <size>, and <checksum> tags and the "image.textless_master" attribute are required.

For additional content considerations about HDR delivery, see HDR Delivery in Apple Transactional Film Specification.

XPath: /package/video/assets/asset/data_file/attribute

  <attribute name="hdr.format">DolbyVision</attribute>

HDR Format (required)

In this example, the HDR video source is Dolby® Vision, which must be specified with the hdr.format attribute. Specifying the HDR format is required. Roles allowed for the hdr.format attribute include DolbyVision and HDR10, but for this Dolby HDR-only delivery, the role must be DolbyVision. Only one hdr.format value can be specified.

XPath: /package/video/assets/asset/data_file/attribute

  <attribute name="video.hdr.force_sdr_downconvert">true</attribute>

HDR Down-Convert to SDR (required for HDR-only deliveries)

In this example, the HDR video source is being delivered without a corresponding SDR video. To deliver a Dolby Vision-only package, you must use this attribute that indicates you want the HDR video to be down-converted to SDR.

XPath: /package/video/assets/asset/data_file

<asset type="full">

  <data_file role="mapping.hdr">

HDR Sidecar Mapping File (required)

The data file block specifies the sidecar file and describes the role of the associated file. The maximum frame number (edit unit) referenced in the sidecar metadata file must be less than or equal to the last frame number of the secondary HDR video.

For initial delivery, both the source HDR video file and the mapping file must be included or delivery will fail. When you send an update to deliver a new source HDR, the mapping file should be supplied (either by sending it with the update delivery or by using the previously-delivered mapping file). The mapping file, however, can be delivered (and updated) without specifying the source HDR.

In this block, the <file_name>, <size>, and <checksum> tags are required.

Both Dolby Vision CM version 2.9 and CM version 4.0 sidecar metadata files are supported.

Dolby® Vision-Only (No SDR) Preview Source Video Delivery with Embedded Audio

You can deliver Dolby Vision HDR preview video without a corresponding SDR video delivery and specify a tag to down-convert to SDR. Apple will create the SDR video using the Dolby Vision SDR trim metadata. Using this method is optional, but it could streamline the delivery process for you. When you deliver a Dolby Vision-only package, you can choose to include embedded audio or you can deliver the audio in a separate file.

Note: This delivery method is not available for HDR 10 videos.

To deliver a Dolby Vision-only package, you must use the attribute that indicates you want the HDR video to be down-converted to SDR: <attribute name="video.hdr.force_sdr_downconvert">true</attribute>.

This example shows how to deliver Dolby Vision HDR preview video without an SDR video delivery. When you deliver a Dolby Vision-only package, you can choose to include embedded audio or you can deliver the audio in a separate file. In this example, the HDR full source video includes embedded audio. Since there is no SDR audio in this delivery (the default audio source), the HDR source is identified as the primary audio source.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <provider>AppleseedEntertainment</provider> <video> <subtype>preview</subtype> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id> <!-- To save space, several tags have been omitted from this XML. See the basic example for all the tags. --> . . . <assets><!-- Required. World Trailer. Will be used where territory-specific trailer has not been provided --> <asset type="preview"> <data_file role="source.hdr"> <attribute name="hdr.format">DolbyVision</attribute> <attribute name="video.hdr.force_sdr_downconvert">true</attribute> <attribute name="primary_audio">true</attribute> <locale name="en-US"/> <file_name>09736156444-hdr-preview.mov</file_name> <size>9987212</size> <checksum type="md5">739b43b793a8b46037fe8aa29dd9911e</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="image.textless_master">true</attribute> </data_file> <data_file role="mapping.hdr"> <file_name>09736156444-preview-mapping.xml</file_name> <size>16659</size> <checksum type="md5">b8ddfe443e7df86c3eeabb2b943dda42</checksum> </data_file> </asset> </assets> </video></package>

Audio Delivery Examples and Annotations

Dolby Atmos Audio Downmixing

If you deliver a Dolby Atmos audio file, you can specify that you want Apple to downmix to other formats. This allows you to deliver a single Atmos audio file and derive all of the other formats (7.1, 5.1, and stereo). You use the following attributes on the Dolby Atmos source audio:

  • audio.transform_to.2.0

  • audio.transform_to.5.1

  • audio.transform_to.7.1

If you downmix Atmos audio to stereo (2.0) for the main locale, you must specify it as the primary audio using <attribute name="primary_audio">true</attribute> and you must also use ignore_audio on any video sources with embedded audio (HDR or SDR):

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <provider>AppleseedEntertainment</provider> <video> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id><!-- NOTE: Some tags not related to this example have been omitted (as indicated by the three dots) for brevity and focus; see the basic example for information on sending other tags. Do not omit this data from your package. --> . . .<!-- SDR asset with embedded audio. --> <assets> <asset type="full"> <data_file role="source"> <locale name="en-US"/> <file_name>09736156444-source.mov</file_name> <size>2028660952</size> <checksum type="md5">9dd73937fe8aa22a793a8b460b49911a</checksum> <attribute name="ignore_audio">true</attribute> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="image.textless_master">true</attribute> </data_file><!-- Dolby Atmos audio to be used as primary audio --> <data_file role="audio.object_based"> <locale name="en-US"/> <file_name>audio_atmos.wav</file_name> <size>1142644642</size> <checksum type="md5">bc5b28a6200e5273202b7609f626fec0</checksum> <attribute name="audio.transform_to.2_0">true</attribute> <attribute name="audio.transform_to.5_1">true</attribute> <attribute name="audio.transform_to.7_1">true</attribute> <attribute name="primary_audio">true</attribute> </data_file> </asset> </assets> . . . </video></package>

Dolby Atmos Audio Downmixing Annotations

These annotations cover only the tags for use with Dolby Atmos audio.

XPath: /package/video/assets/asset/data_file/attribute

<asset type="full">

  <data_file="source">

    <attribute name="ignore_audio">true</attribute>

Ignore Embedded Audio (required if a video file has embedded audio and if delivering another primary audio file)

In this example, Dolby Atmos audio is being delivered and used to provide 2.0, 5.1, and 7.1 audio formats. The source video includes embedded audio, but the Dolby Atmos audio file will be used as the primary audio. In this case, you must use the ignore_audio attribute.

Note that ignore_audio is not required if the video has no audio to ignore.

XPath: /package/video/assets/asset/data_file/attribute

  <data_file role="audio.object_based">

    <attribute name="audio.transform_to.2_0">true</attribute>

    <attribute name="audio.transform_to.5_1">true</attribute>

    <attribute name="audio.transform_to.7_1">true</attribute>

Dolby Atmos Audio (optional)

To deliver Dolby Atmos audio, use the role role="audio.object_based" with the <data_file> tag. The Dolby Atmos audio is optional and is delivered as a role for the full asset. In this example, the Dolby Atmos audio file will be downmixed to 7.1, 5.1, and 2.0 formats. This is specified using the <attribute> tag, one for each format and set to true. If you downmix Atmos audio to stereo (2.0) for the locale you want for the package, you must specify the Dolby Atmos audio file as the primary audio using <attribute name="primary_audio">true</attribute> and you must also use ignore_audio on the source video.

This primary audio aligns with the primary audio locale you want for the package. For example, if the movie has dubbed Russian and is sold only in Russia, the primary audio would be “ru” even though the video source is “en-US”.

Notes:

  • Dolby Atmos must be delivered in ADM BWAV format.

  • These attributes can only be specified for data files with the role of audio.object_based

  • As long as you downmix a Dolby Atmos audio to 2.0 format, you do not need to deliver other audio asset files. This allows you to deliver a single Atmos audio file and derive all of the other formats (7.1, 5.1, and stereo).

  • If the source video contains embedded audio, you must use the attribute ignore_audio on the source video.

  • For each locale, you can have only one audio by type. For example, if you deliver a 7.1 surround audio asset for en-US and also downmix the Dolby Atmos audio to 7.1 for en-US, you will get an error. If the source video contains embedded stereo (and you do not specify ignore_audio) and also downmix the Dolby Atmos audio to 2.0 for en-US, you will get an error.

For audio file requirements, see Dolby Atmos Audio Source Profile.

Basic Example SDR Delivery with no Embedded Audio

In this delivery, the SDR source does not have embedded audio. An alternate audio is delivered as a separate file and it will be used as the primary audio. If you deliver more than one alternate audio file, the audio file with the locale that matches the source video will be used as the primary audio, unless you specify a different primary locale.

For the sake of brevity, the example is an excerpt from a full metadata delivery. The example shows the tags relevant to SDR delivery with no embedded audio; see the XML Annotations for Full Source Delivery for explanations of the remaining tags.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <provider>AppleseedEntertainment</provider> <video> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id><!-- NOTE: Some tags not related to this example have been omitted (as indicated by the three dots) for brevity and focus --> . . .<!-- SDR asset with no embedded audio. --> <assets> <asset type="full"> <data_file role="source"> <locale name="en-US"/> <file_name>09736156444-source.mov</file_name> <size>2028660952</size> <checksum type="md5">9dd73937fe8aa22a793a8b460b49911a</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="image.textless_master">true</attribute> </data_file><!-- Audio to be used as primary audio, which should include both stereo and 5.1 --> <data_file role="audio"> <locale name="en-US"/> <file_name>audio_09736156444.mov</file_name> <size>8730177839</size> <checksum type="md5">a765a9fc88ac893ead51366fbeb04d82</checksum> <attribute name="primary_audio">true</attribute> </data_file> </asset> </assets> . . . </video></package>

Basic Example SDR Delivery with no Embedded Audio Annotations

These annotations cover only the tags for use with an SDR video with no embedded audio.

XPath: /package/video/assets/asset/data_file/attribute

  <data_file="audio">

    <attribute name="primary_audio">true</attribute>

Primary Audio (required if source does not have embedded audio)

In this example, the SDR video source does not have embedded audio, and another audio file will be used as the primary audio. You must use the primary_audio attribute on the audio source file you want to use as the main audio. Note that there can only be one primary audio per package. Keep in mind that the primary audio must include stereo (and ideally 5.1).

Note: This primary audio should align with the primary audio locale you want for the package. For example, if the video is dubbed in Russian and is sold only in Russia, the primary audio would be "ru" even though the video source is "en-US".

HDR10 Metadata

HDR10 Full Source Video Metadata Example

To deliver HDR10 full source video, you must supply the source.hdr role with the hdr.format set to HDR10. A mapping file is not required; if you deliver a mapping file, delivery will fail. Instead, you provide the attributes in the metadata XML file as shown below. This example adds an HDR10 full source video to a previously-delivered SDR subscription video. The package delivered would consist of the metadata file, the HDR10 full source video, and the required attributes. The primary subscription video source must be referenced by its content identifiers (<umc_catalog_id>, <umc_content_id>, and <umc_variant_id>).

Note: An SDR asset is required for an HDR10 delivery. To deliver the HDR and SDR video at the same time, see the example in HDR and SDR Delivery. Down-convert to SDR is not available for HDR10 videos.

Note: The chromaticity values listed in the example and annotations below are for a P3 display with D65 white point. For a BT.2020 display with D65, see the annotation on HDR10 Chromaticity Attributes for examples of value formatting.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <language>en-US</language> <provider>AppleseedEntertainment</provider> <video><!-- The identifiers below refer to the previously delivered subscription video. —> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id> <assets> <asset type="full"> <data_file role="source.hdr"> <locale name="en-US"/> <file_name>42abc33def17-hdr-source.mov</file_name> <size>3244032000</size> <checksum type="md5">9df86c3e43e7b43ddeabb2ddfe4b8a42</checksum> <attribute name="hdr.format">HDR10</attribute> <attribute name="hdr.red.chroma.x">0.6800</attribute> <attribute name="hdr.red.chroma.y">0.3200</attribute> <attribute name="hdr.green.chroma.x">0.2650</attribute> <attribute name="hdr.green.chroma.y">0.6900</attribute> <attribute name="hdr.blue.chroma.x">0.1500</attribute> <attribute name="hdr.blue.chroma.y">0.0600</attribute> <attribute name="hdr.whitepoint.chroma.x">0.3127</attribute> <attribute name="hdr.whitepoint.chroma.y">0.3290</attribute> <attribute name="hdr.max.display.luminance">1000</attribute> <attribute name="hdr.min.display.luminance">0.005</attribute> <attribute name="hdr.max.content.lightlevel">967</attribute> <attribute name="hdr.max.frame.avg.lightlevel">343</attribute> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="image.textless_master">true</attribute> </data_file> </asset> </assets> </video></package>

HDR10 Full Source Video Metadata Annotations

Only the tags related to the HDR10 delivery are described. The attributes follow the SMPTE ST 2086 metadata guidelines. Refer to Subscription Video Asset Delivery XML Annotations for annotations on other tags.

Note: It is beyond the scope of this document to describe the details of the mastering display attributes. Refer to "SMPTE ST 2086:2014" and the Blu-ray / DECE definitions of Maximum Content Light Level (MaxCLL) / Maximum Frame Average Light Level (MaxFALL) metadata for further information. This document covers only how to deliver the attribute values.

Asset Metadata Fields

XPath: /package/video/assets

<assets>

Assets (required)

Begins the assets block that references the assets being delivered.

XPath: /package/video/assets/asset/data_file

<asset type="full"> <data_file role="source.hdr">

HDR Source Asset (required)

The data file block specifies the source video file and describes the role of the associated file. In this example, the file sent is used as the HDR source, so the role must be "source.hdr".

The secondary source video must be the same duration as the primary subscription video source so that components such as subtitles and audio can be used with the secondary video.

In this block, the <locale>, <file_name>, <size>, and <checksum> tags are required.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.format">HDR10</attribute>

HDR Format (required)

In this example, the HDR video source is HDR10, which must be specified with the hdr.format attribute. Specifying the HDR format is required. Roles allowed for the hdr.format attribute include DolbyVision and HDR10. Only one hdr.format value can be specified. The value for HDR10 is case-sensitive and must be delivered as: HDR10

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.red.chroma.x">0.6800</attribute>

HDR10 Chromaticity Attributes (required)

The mastering display chromaticity attributes are required and include:

  • hdr.red.chroma.x

  • hdr.red.chroma.y

  • hdr.green.chroma.x

  • hdr.green.chroma.y

  • hdr.blue.chroma.x

  • hdr.blue.chroma.y

  • hdr.whitepoint.chroma.x

  • hdr.whitepoint.chroma.y

The value listed for each attribute above must be a number with 4 decimal places and the value must be between 0.0 and 1.0 inclusive.

The chromaticity attributes can only be used for a source HDR file with format HDR10.

For a BT.2020 mastering display with D65, the following values are expected:

<attribute name="hdr.red.chroma.x">0.7080</attribute><attribute name="hdr.red.chroma.y">0.2920</attribute><attribute name="hdr.green.chroma.x">0.1700</attribute><attribute name="hdr.green.chroma.y">0.7970</attribute><attribute name="hdr.blue.chroma.x">0.1310</attribute><attribute name="hdr.blue.chroma.y">0.0460</attribute><attribute name="hdr.whitepoint.chroma.x">0.3127</attribute><attribute name="hdr.whitepoint.chroma.y">0.3290</attribute

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.max.display.luminance">1000</attribute>

HDR10 Min Luminance Attribute (required)

The minimum luminance attribute is required and the value must be a number with up to 3 significant digits and up to 4 decimal places. Value must be greater than or equal to 0.0.

The minimum luminance attribute can only be used for source HDR file with format HDR10.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.max.content.lightlevel">967</attribute>

HDR10 Max Light Level Attribute (optional)

The maximum light level attribute is optional. The value is an unsigned short integer. Value must be between 0 and 65535 inclusive.

If you provide 0 (zero) as the value, Apple will compute the value based on the cropped source content and insert the calculated value in the encoded bitstream.

The maximum light level attribute can only be used for source HDR file with format HDR10.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.max.frame.avg.lightlevel">343</attribute>

HDR10 Max Frame Average Light Level Attribute (optional)

The maximum frame average light level attribute is optional. The value is an unsigned short integer. Value must be between 0 and 65535 inclusive.

If you provide 0 (zero) as the value, Apple will compute the value based on the cropped source content and insert the calculated value in the encoded bitstream.

The maximum frame average light level attribute can only be used for source HDR file with format HDR10.

HDR10 Preview Source Video Metadata Example

To deliver HDR10 previews, you must supply the source.hdr role with the hdr.format set to HDR10. A mapping file is not required; if you deliver a mapping file, delivery will fail. Instead, you provide the attributes in the metadata XML file as shown below. This example adds an HDR10 preview video to a previously-delivered SDR subscription video. The package delivered would consist of the metadata file, the HDR10 preview source video, and the required attributes. The primary subscription video source must be referenced by its content identifiers (<umc_catalog_id>, <umc_content_id>, and <umc_variant_id>).

Note: The chromaticity values listed in the example and annotations below are for a P3 display with D65 white point. For a BT.2020 display with D65, see the annotation on HDR10 Chromaticity Attributes for examples of value formatting.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <language>en-US</language> <provider>AppleseedEntertainment</provider> <video> <subtype>preview</subtype><!-- The identifiers below refer to the previously delivered subscription video. —> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id> <assets> <asset type="preview"> <data_file role="source.hdr"> <locale name="en-US"/> <file_name>42abc33def17-hdr-preview.mov</file_name> <size>9987212</size> <checksum type="md5">739b43b793a8b46037fe8aa29dd9911e</checksum> <attribute name="hdr.format">HDR10</attribute> <attribute name="hdr.red.chroma.x">0.6800</attribute> <attribute name="hdr.red.chroma.y">0.3200</attribute> <attribute name="hdr.green.chroma.x">0.2650</attribute> <attribute name="hdr.green.chroma.y">0.6900</attribute> <attribute name="hdr.blue.chroma.x">0.1500</attribute> <attribute name="hdr.blue.chroma.y">0.0600</attribute> <attribute name="hdr.whitepoint.chroma.x">0.3127</attribute> <attribute name="hdr.whitepoint.chroma.y">0.3290</attribute> <attribute name="hdr.max.display.luminance">1000</attribute> <attribute name="hdr.min.display.luminance">0.005</attribute> <attribute name="hdr.max.content.lightlevel">967</attribute> <attribute name="hdr.max.frame.avg.lightlevel">343</attribute> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="image.textless_master">true</attribute> </data_file> </asset> </assets> </video></package>

HDR10 Preview Source Video Metadata Annotations

Only the tags related to the HDR10 preview delivery are described. The attributes follow the SMPTE ST 2086 metadata guidelines. Refer to Subscription Video Asset Delivery XML Annotations for annotations on other tags.

Note: It is beyond the scope of this document to describe the details of the mastering display attributes. Refer to "SMPTE ST 2086:2014" and the Blu-ray / DECE definitions of Maximum Content Light Level (MaxCLL) / Maximum Frame Average Light Level (MaxFALL) metadata for further information. This document covers only how to deliver the attribute values.

Video Metadata Fields

XPath: /package/video/subtype

<subtype>preview</subtype>

Video Subtype (required for preview delivery)

Identifies the type of video you are delivering. The <subtype> tag is required when delivering previews and the value must be preview.

XPath: /package/video/umc_catalog_id

<umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id>

Universal Media Catalog Catalog ID (required; 1-255 characters)

Specifies the unique catalog identifier of the primary subscription video source (as identified during Apple catalog registration). The value can contain both numbers and letters.

When adding HDR to an existing subscription video, you must supply the content identifiers. Those values must match the identifiers of the existing subscription video. You do not need to re-deliver the subscription video data file.

XPath: /package/video/umc_content_id

<umc_content_id>42abc33def17</umc_content_id>

Universal Media Catalog Content ID (required; 1-255 characters)

Defines the unique ID you assigned to the primary subscription video source. The value can contain both numbers and letters.

When adding HDR to an existing subscription video, you must supply the content identifiers. Those values must match the identifiers of the existing subscription video. You do not need to re-deliver the subscription video data file.

XPath: /package/video/umc_variant_id

<umc_variant_id>1</umc_variant_id>

Universal Media Catalog Variant ID (required; 1-32 characters)

Distinguishes between different versions of the primary subscription video source, for example the same asset with different territory-specific editorial or compliance requirements. The value can contain both numbers and letters, and underscores. If you do not have multiple versions, Apple suggests using 1 as the value.

When adding HDR to an existing subscription video, you must supply the content identifiers. Those values must match the identifiers of the existing subscription video. You do not need to re-deliver the subscription video data file.

Asset Metadata Fields

XPath: /package/video/assets

<assets>

Assets (required)

Begins the assets block that references the assets being delivered.

XPath: /package/video/assets/asset/data_file

<asset type="preview"> <data_file role="source.hdr">

HDR Preview Asset (required)

The data file block specifies the preview video file and describes the role of the associated file. In this example, the file sent is used as the HDR source, so the role must be "source.hdr".

The secondary preview video must be the same duration as the primary subscription video preview so that components such as subtitles and audio can be used with the secondary video.

In this block, the <locale>, <file_name>, <size>, and <checksum> tags are required.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.format">HDR10</attribute>

HDR Format (required)

In this example, the HDR preview video source is HDR10, which must be specified with the hdr.format attribute. Specifying the HDR format is required. Roles allowed for the hdr.format attribute include DolbyVision and HDR10. Only one hdr.format value can be specified. The value for HDR10 is case-sensitive and must be delivered as: HDR10

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.red.chroma.x">0.6800</attribute>

HDR10 Chromaticity Attributes (required)

The mastering display chromaticity attributes are required and include:

  • hdr.red.chroma.x

  • hdr.red.chroma.y

  • hdr.green.chroma.x

  • hdr.green.chroma.y

  • hdr.blue.chroma.x

  • hdr.blue.chroma.y

  • hdr.whitepoint.chroma.x

  • hdr.whitepoint.chroma.y

The value listed for each attribute above must be a number with 4 decimal places and the value must be between 0.0 and 1.0 inclusive. The chromaticity attributes can only be used for a source HDR file with format HDR10.

For a BT.2020 mastering display with D65, the following values are expected:

<attribute name="hdr.red.chroma.x">0.7080</attribute> <attribute name="hdr.red.chroma.y">0.2920</attribute> <attribute name="hdr.green.chroma.x">0.1700</attribute> <attribute name="hdr.green.chroma.y">0.7970</attribute> <attribute name="hdr.blue.chroma.x">0.1310</attribute> <attribute name="hdr.blue.chroma.y">0.0460</attribute> <attribute name="hdr.whitepoint.chroma.x">0.3127</attribute> <attribute name="hdr.whitepoint.chroma.y">0.3290</attribute>

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.max.display.luminance">1000</attribute>

HDR10 Min Luminance Attribute (required)

The minimum luminance attribute is required and the value must be a number with up to 3 significant digits and up to 4 decimal places. Value must be greater than or equal to 0.0.

The minimum luminance attribute can only be used for source HDR file with format HDR10.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.max.content.lightlevel">967</attribute>

HDR10 Max Light Level Attribute (optional)

The maximum light level attribute is optional. The value is an unsigned short integer. Value must be between 0 and 65535 inclusive.

If you provide 0 (zero) as the value, Apple will compute the value based on the cropped source content and insert the calculated value in the encoded bitstream.

The maximum light level attribute can only be used for source HDR file with format HDR10.

XPath: /package/video/assets/asset/data_file/attribute

<attribute name="hdr.max.frame.avg.lightlevel">343</attribute>

HDR10 Max Frame Average Light Level Attribute (optional)

The maximum frame average light level attribute is optional. The value is an unsigned short integer. Value must be between 0 and 65535 inclusive.

If you provide 0 (zero) as the value, Apple will compute the value based on the cropped source content and insert the calculated value in the encoded bitstream.

The maximum frame average light level attribute can only be used for source HDR file with format HDR10.

HDR and SDR Delivery

The following XML example shows how to deliver HDR and SDR videos in the same delivery.

Note: The HDR file must contain audio tracks. For information on how to handle the audio tracks—for example, ignore, use, or set as primary—see Dolby Atmos Audio Downmixing.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <language>en-US</language> <provider>AppleseedEntertainment</provider> <video><!-- The identifiers below refer to the previously delivered subscription video. --> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id> <assets> <asset type="full"> <data_file role="source.hdr"> <attribute name="hdr.format">DolbyVision</attribute> <locale name="en-US"/> <file_name>42abc33def17-hdr-source.mov</file_name> <size>8244032000</size> <checksum type="md5">9df86c3e43e7b43ddeabb2ddfe4b8a42</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="image.textless_master">true</attribute> </data_file> <data_file role="mapping.hdr"> <file_name>42abc33def17-mapping.xml</file_name> <size>16659</size> <checksum type="md5">df86c3eeabb2ddfe4b843e7b943dda42</checksum> </data_file> <data_file role="source"> <locale name="en-US"/> <file_name>42abc33def17-sdr-source.mov</file_name> <size>7842440399</size> <checksum type="md5">ed93d0f3224a353a4cc8d4175d645130</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="image.textless_master">true</attribute> </data_file> </asset> </assets> </video></package>

Removing Assets

Overview

Below are examples of updates to remove an alternate audio asset from the product and to change the <locale> of a previously delivered file. The correct identifiers that reference the already delivered subscription video must be supplied in the metadata.xml file for asset removal updates.

You can also use the same structure using remove="true" to remove QC notes. Keep in mind that the use of the remove="true" attribute is intended only for removing audio files permanently, changing the locale of a previously delivered asset, and removing QC notes. Using remove="true" for any other purpose can result in unintended languages included in the final product.

Note: When you need to update or change assets for an existing product, you can simply send an update and deliver a new asset with the same locale; you do not need to remove the asset using the remove="true" attribute.

Remove Alternate Audio

This example shows how to remove an alternate German audio from a previously-delivered subscription video. Only the audio asset along with associated data files is referenced in the XML. Only the metadata.xml need be included in the Subscription Video Package. The role, <filename>, <checksum>, and <size> provided will be compared to the asset currently in the catalog, and if the role attribute, <filename>, <checksum>, and <size> match, the asset will be removed. Note that the asset could also be removed in a metadata-plus-asset update.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <language>en-US</language> <provider>AppleseedEntertainment</provider> <video><!-- The identifiers below refer to the previously delivered subscription video. —> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id> <assets> <asset type="full"> <data_file role="audio" remove="true"> <locale name="de-DE"/> <file_name>audio_DE.mov</file_name> <size>4916659</size> <checksum type="md5">9df86c3e43e7b43ddeabb2ddfe4b8a42</checksum> </data_file> </asset> </assets> </video></package>

Remove Alternate Audio

XPath: /package/video/assets/asset/data_file

<data_file role="audio" remove="true">

Data File (required)

A data file element block must be included if the asset is to be removed. For the audio data file, set the attribute remove to "true".

In this block, the role attribute and <file_name>, <size>, and <checksum> tags are required. Additionally, <locale> is required if sent previously.

Change Locales

The following example shows how to change the <locale> on a source video. In this case, when the package was first delivered, the <locale> tag was incorrect. To correct the <locale>, the old source asset must be removed and redelivered with the correct <locale>. Only the source asset along with the associated data file needs to be referenced in the XML. The role, <filename>, <locale>, <checksum>, and <size> provided will be compared to the asset currently in the catalog, and if the role, <filename>, <locale>, <checksum>, and <size> match, the asset will be removed. To add the source with the correct locale, include another <data_file> block within the same <asset> block as shown in the example below. Both the metadata.xml and the redelivered source asset must be included in the Subscription Video Package.

Important: There should be only one <asset> block for the same upload of the same video with the same type and territories. For example, the only way to change the locale of a source is to remove the existing source and add the new source; the <data_file> elements used to remove the source (remove="true") and the <data_file> elements used to add the source should go under the same <asset type="full"> block.

<?xml version="1.0" encoding="UTF-8"?><package xmlns="http://apple.com/itunes/importer" version="subscriptionvideo5.0"> <language>en-US</language> <provider>AppleseedEntertainment</provider> <video><!-- The identifiers below refer to the previously delivered subscription video. —> <umc_catalog_id>AppleseedEntertainment.service1.US</umc_catalog_id> <umc_content_id>42abc33def17</umc_content_id> <umc_variant_id>1</umc_variant_id> <assets> <asset type="full"> <data_file role="source" remove="true"> <locale name="en-US"/> <file_name>42abc33def17-source.mov</file_name> <size>4916659</size> <checksum type="md5">9df86c3eabb2ddfe43e7b43dde4b8a42</checksum> </data_file> <data_file role="source"> <locale name="en-GB"/> <file_name>42abc33def17-source.mov</file_name> <size>4916659</size> <checksum type="md5">9df86c3eabb2ddfe43e7b43dde4b8a42</checksum> </data_file> </asset> </assets> </video></package>

Change Locales

XPath: /package/video/assets/asset/data_file

<data_file role="source" remove="true">

Data File (required)

To change the locale, remove the asset with the incorrect locale. Include a data file element block for the asset to be removed. For the source data file, set the attribute remove to "true".

Include another data file element block to re-deliver the asset with the correct locale.

In this block, the role attribute and <file_name>, <locale>, <size>, and <checksum> tags are required.

Update Assets and Metadata

Updating Assets

You can redeliver assets (including video, audio, and so on) if the assets need to be replaced in the catalog due to encoding or other issues.

To deliver the subscription video content for updating, you must reference the correct content identifiers (<umc_catalog_id>, <umc_content_id>, and <umc_variant_id>) of the already delivered content when sending the update XML. When delivering updated source video, keep in mind that the duration of the source video must match the durations of related components (such as subtitles, forced subtitles, alternate audio, SDH, AD, and CC). If the duration of the source video has changed, you must also deliver updates of any related components intended to track to the same timeline as the source video.

Updating Metadata

Chapter titles and chapter artwork can be added or changed, however you must send all chapters on redelivery, not just the ones being updated.

For any questions regarding update deliveries, contact your Apple Technical Partner Representative.

Appendix A: Data Formatting Guidelines

Languages and Locales

Several language and locale elements and attributes in the following document require data in the BCP-47 format.

Language codes should be formatted according to the best practices recommended by the Internet Engineering Task Force (IETF) in a group of documents known collectively as BCP 47, and in particular, RFC 5646, which is part of BCP 47. An overview of these best practices is provided here. When specifying languages, you can use any language as long as it is a valid BCP 47 code that consists of the language subtag, optional region subtag, and optional script subtag as appropriate.

As a best practice when specifying a language, use the region subtag (for example, the US of en-US) only when it conveys helpful information, such as spelling variations between countries. For example, there is generally not a need to distinguish between Japanese as used in one country versus another, so you should use only the language code subtag (ja) instead of the language code and region subtags (ja-JP). In cases where specifying a region is appropriate, use the hyphen character to combine a language subtag with a region subtag. This identifies both the language and the specific location where the language is used. For English with American spelling, use en-US; for English with British spelling, use en-GB.

FORMAT If a video asset contains Chinese audio, the locale values must not contain script information. For example, the locale for Mandarin audio must be cmn, not cmn-Hant or cmn-Hans; the locale for Cantonese audio must be yue, not yue-Hant.

Note: If you do not supply a locale value for a specific element, the locale provided with the defaultLocale element for the catalog feed will be used.

ISO 3166-2 for Countries

Several elements of the catalog require a country to be specified in the ISO 3166-2 format. For more information about this standard, visit www.iso.org.

ISO 8601 for Dates

Several elements in the Catalog and Availability Data Interfaces require dates in the ISO 8601 format. ISO 8601 is defined as “YYYY-MM-DDThh:mm:ss.sTZD”, where:

  • YYYY is four-digit year

  • MM is two-digit month (01=January, etc.)

  • DD is two-digit day of month (01 through 31)

  • hh is two digits of hour (00 through 23) (am/pm NOT allowed)

  • mm is two digits of minute (00 through 59)

  • ss is two digits of second (00 through 59)

  • s is one or more digits representing a decimal fraction of a second

  • TZD is time zone designator (Z or +hh:mm or -hh:mm)

For more information about this standard, visit www.iso.org.

Note: If you do not provide the +/- offset, the timezone will be assumed to be GMT.

Revision History

Previous Spec Revisions

The following table lists the previously-released specifications and the revisions:

Date/Version

Summary

May 2024—Version 1.10

Clarifications on using forced subtitles and specifying the PSE (photosensitive epilepsy) test results; additional minor corrections.

February 2024—Version 1.9

Clarification on audio tracks for HDR delivery; additional minor corrections.

December 2022—Version 1.8

Added information about epic stage videos. Other corrections in XML annotations.

September 2022—Version 1.7

Added information about forced subtitles. Fixed issues with printing the document.

November 29, 2021—Version 1.6

Made corrections, clarifications, and reorganized one section.

March 15, 2021—Version 1.5

Made name corrections.

December 21, 2020—Version 1.4

Added a new tag for episode production number (<production_number>). Dolby Vision CM version 4 metadata files are now supported.

June 29, 2020—Version 1.3

Previews are now delivered in separate package deliveries.

March 16, 2020—Version 1.2

Added a new video asset for ambient videos. Added an attribute "main.end_time" to specify when the main video is over. Added an attribute "product_placement" to indicate the video contains product placement. Added delivery of a Dolby Vision video with an option to down-convert to SDR. Added delivery of a Dolby Atmos audio file with an option to downmix to other formats. Added an attribute to indicate that a pre-roll video can be skipped by the viewer. Defined previews and dub card video are no longer supported.

November 18, 2019 - Version 1.1

Corrected crop dimensions. Corrected locale on source attributes.

September 2019 - Version 1.0

First release of this specification.

Changes in Apple TV Channels Subscription Video Asset Specification 1.10

Forced subtitles

Clarified the use of forced subtitles. See XML Annotations for Full Source Delivery.

Photosensitive epilepsy (PSE) test results

Use the XML <attribute name="photosensitive_epilepsy_risk"> to specify the results of a PSE test. See XML Annotations for Full Source Delivery.

Corrections

Made additional minor corrections.

Changes in Apple TV Channels Subscription Video Asset Specification 1.9

HDR10 Metadata

Clarified the audio tracks requirement for HDR delivery. See HDR and SDR Delivery.

Corrections

Made additional minor corrections.

Changes in Apple TV Channels Subscription Video Asset Specification 1.7

Corrections/Clarifications

Added information to the annotations section about delivering forced subtitles. See XML Annotations for Full Source Delivery.

Corrected issues with printing the document.

Changes in Apple TV Channels Subscription Video Asset Specification 1.6

Corrections/Clarifications

Removed the sentence “Specifies the frame to use for the still image that will be displayed on the episode page” from the annotation on the production still image time. Renamed the section “Dolby Atmos Audio and Dolby HDR Delivery” to “Audio Delivery Examples and Annotations,” and reorganized the sections to remove duplications. Clarified that an SDR asset is required for an HDR10 delivery.

Changes in Subscription Video Specification 1.5

Corrections

The titles for the annotations for umc_catalog_id, umc_content_id, and umc_variant_id have been changed to reflect the name of the tag. For example, Universal Media Catalog Identifier has been changed to Universal Media Catalog Catalog ID. In addition, the title for Universal Media Content Identifier has been corrected from Universal Media Catalog Identifier to Universal Media Catalog Content ID.

Changes in Subscription Video Specification 1.4

Production Number

A new, optional tag allows you to specify the production number for an episode. You deliver the production number using the <production_number> tag and the value should be unique for each episode. The value can be 1 to 255 characters and can contain only alphanumeric characters, spaces, hyphens (-), and underscores (_).

Film Profile: Dolby Vision

Dolby Vision CM 4 sidecar metadata files are now supported. Dolby Vision CM version 4.0 provides an improved tone curve, updated trims, additional 6-vector trims for saturation and hue, and new adjustments for mid tones.

Tag Changes

Added

<production_number>

Changes in Subscription Video Specification 1.3

Previews

The method of delivering previews has changed. A preview video is now delivered in its own package, separate from the full video delivery. You use the <subtype> tag to indicate the asset is a preview. Previews have been removed from the full video examples and new sections describe how to deliver previews.

Tag Changes

Added

preview for use with the <subtype> tag

Changes in Subscription Video Specification 1.2

Ambient Video

You can deliver ambient video (also called motion background) that is specific to an episode. The ambient video plays in a continuous loop. You also deliver a keyframe (a production still of the first frame of the ambient video). When users first land on an episode page, they will see a static picture (which is the production still). After a certain amount of time, the ambient video starts, providing a seamless transition between the production still and the ambient video. You deliver the ambient video in its own <asset> block. The type can be ambient (<asset type="ambient">) or ambient_vertical for iPhone (<asset type="ambient_vertical">). Both the horizontal and vertical formats are required. You define the first frame using the <production_still_image_time> tag.

Video Attributes

New attributes have been added to use on source and source.hdr videos:

  • Use the attribute "main.end_time" to specify when the main video is over. This attribute is optional and can be used to indicate when the main portion of the video ends, before the Director and Writer credits begin.

  • Use the attribute "product_placement" to indicate if there is product placement in the video source. Some countries require notification at the beginning and end of a video if it contains product placement.

Dolby Atmos Delivery

If you deliver a Dolby Atmos audio file, you can specify that you want Apple to downmix to other formats. This allows you to deliver a single Atmos audio file and derive all of the other formats (7.1, 5.1, and stereo). You use the following attributes on the Dolby Atmos source audio:

audio.transform_to.2_0

audio.transform_to.5_1

audio.transform_to.7_1

If you downmix Atmos audio to stereo (2.0) for the main locale, you must specify it as the primary audio using <attribute name="primary_audio">true</attribute> and you must also use ignore_audio on any video sources with embedded audio (HDR or SDR):

<asset type="full"> <data_file role="source"> <locale name="en-US"/> <file_name>09736156444-source.mov</file_name> <size>2595225600</size> <checksum type="md5">2a793a8b46037fe8aa29dd739b49911a</checksum> <attribute name="crop.top">0</attribute> <attribute name="crop.bottom">0</attribute> <attribute name="crop.left">0</attribute> <attribute name="crop.right">0</attribute> <attribute name="ignore_audio">true</attribute> </data_file> <data_file role="audio.object_based"> <locale name="en-US"/> <file_name>audio_atmos.wav</file_name> <size>1142644642</size> <checksum type="md5">bc5b28a6200e5273202b7609f626fec0</checksum> <attribute name="audio.transform_to.2_0">true</attribute> <attribute name="audio.transform_to.5_1">true</attribute> <attribute name="audio.transform_to.7_1">true</attribute> <attribute name="primary_audio">true</attribute> </data_file></asset>

Dolby® Vision HDR Downconvert

You can now deliver Dolby Vision HDR video without a corresponding SDR video delivery and specify a tag to down-convert to SDR. Apple will create the SDR video using the Dolby Vision SDR trim metadata. Using this method is optional, but it could streamline the delivery process for you. When you deliver a Dolby Vision-only package, you can choose to include embedded audio or you can deliver the audio in a separate file. Note that this delivery method is not available for HDR 10 videos.

To deliver a Dolby Vision-only package, you must use the attribute that indicates you want the HDR video to be down-converted to SDR: <attribute name="video.hdr.force_sdr_downconvert">true</attribute>. In addition, if the HDR video has embedded audio, include both 5.1 and stereo audio. It is also recommended that you use the <attribute name="primary_audio">true</attribute> tag to indicate which audio to use as the primary audio.

If you deliver an HDR video source that has embedded audio and you deliver alternate audio files, you can use the "ignore_audio" attribute to indicate you do not want to use the embedded audio. Then you specify that the separate audio component should be considered the primary audio.

Below are two examples of an HDR-only package:

For HDR with embedded audio:

HDR source with embedded audio (5.1 and 2.0)

Audio on the HDR source is used

HDR source can be down-converted to SDR by specifying the attribute: <attribute name="video.hdr.force_sdr_downconvert">true</attribute>

Optional: Use the <attribute name="primary_audio">true</attribute> tag on the source HDR video

For HDR with no audio:

HDR source with no audio

Alternate Audio 1 is delivered and designated as the primary audio: <attribute name="primary_audio">true</attribute>

Alternate Audio 2 is delivered but not used as the primary audio

HDR source can be down-converted to SDR by specifying the attribute: <attribute name="video.hdr.force_sdr_downconvert">true</attribute>

Note that there can only be one primary audio per package. It is recommended that you always specify which audio to use as primary using the primary_audio attribute.

SDR Delivery without Embedded Audio

You can now deliver an SDR source without embedded audio. In this case, you deliver an alternate audio as a separate file and it will be used as the primary audio. If you deliver more than one alternate audio file, the audio file with the locale that matches the source video will be used as the primary audio, unless you specify a different locale as primary using <attribute name="primary_audio">true</attribute>. Note that there can only be one primary audio per package.

If you deliver an SDR video source that has embedded audio and you deliver alternate audio files, you can use the "ignore_audio" attribute to indicate you do not want to use the embedded audio. Then you specify that the separate audio component should be considered the primary audio.

Below are two examples of the existing and new SDR delivery methods (see the subsection below for HDR deliveries):

Current delivery method (will still be supported):

SDR source with embedded audio

Optional HDR source with embedded audio

Audio on the HDR source is ignored and the SDR audio is used

New delivery method with SDR source with no audio:

SDR source with no audio

Alternate audio is used as the primary audio and delivered with the <attribute name="primary_audio">true</attribute>

Pre-roll Videos

You can indicate that a pre-roll video can be skipped by the viewer. In the <play_sequence> block for the video that can be skipped, use the skippable="true" attribute with the <play_sequence_item> tag. If you set the value to true, viewers will see a “skip” button. Note that a pre-roll video that contains ratings cannot be skipped.

Defined Previews

Defined previews are no longer supported and the examples and annotations have been removed.

Dub Card Videos

Dub Card videos as a component type are no longer supported and the examples and annotations have been removed.

Tag Changes

Added

"main.end_time" for use in the <attribute> tag on a video data file

"product_placement" for use in the <attribute> tag on a video data file

"ambient_vertical" and "ambient" for use in the type attribute on an <asset> tag data file

video.hdr.force_sdr_downconvert as an attribute in a Dolby Vision-only package

audio.transform_to.2_0 as an attribute for Dolby Atmos audio

audio.transform_to.5_1 as an attribute for Dolby Atmos audio

audio.transform_to.7_1 as an attribute for Dolby Atmos audio

"ignore_audio" for use in the <attribute> tag on a source data file

skippable="true" attribute for use in the <play_sequence_item> tag

Changed

primary_audio as an attribute can be used for alternate audio files

Removed

"video.end.dub_credits" as a role for a data file on the full source for dub card video

<previews> <preview> used to deliver defined previews

Changes in Subscription Video Specification 1.1

Corrections

The crop attribute values supplied on the source video in the XML examples have been changed to 0 pixels. If your video source file is delivered matted (letterbox, pillarbox, or windowbox), specify the non-zero crop values to crop the inactive pixels.

The locales for the image.burned_forced_narrative.locale attribute and the image.burned_subtitles.locale attribute for the source video have changed to fr-FR.