- Print
Movie
- Print
Field | Max Occurs | Required | Attributes | Description | Example |
---|---|---|---|---|---|
title | 1 | yes | · overrideCanonicalValue: optional; default value is false | Contains title of the content.OpenIngest does not expect attributes to be sent | |
description | 1 | no | · type: optional MIME type of the text | For movie,seriesMaster, or episode entityTypes, can use shortDescription,mediumDescription, and/or longDescription instead | Harry Potter description |
shortDescription | 1 | no | Merlin has no character lengths but the consuming applications may truncate each of these descriptions |
| |
mediumDescription | 1 | no |
| ||
longDescription | 1 | no |
| ||
pubDate | 1 | no | 1312416000000 | ||
releaseYear | 1 | no | Release year. Automatically populated from pubDate if not specified. | 2018 | |
dcterms:valid | 1 | yes | Available and expiration date of the content. Can be used to express local time or universal time. |
| |
gmrss:contentRights | unlimited | yes | Represents the locations and platforms that a piece of content is available in and also the necessary entitlement(s) to view the content. See ContentRights table below. | ||
gmrss:contentProviderName | 1 | preferred | The name of the content provider |
| |
gmrss:distributionRights | unlimited | yes | Information about a set of content which may be made available via a Distributor that is supported by our platform. See DistributionRights table below. | ||
gmrss:restriction | unlimited | no | · type: required; type of restriction. Types include "REST:MANUFACTURER" "REST:CUSGROUP" "REST:RIGHTSTERR" "REST:PLAYTERR" "REST:QUALITY" "REST:DEVICE" "REST:CONN" "REST:AREA" "REST:CLIENTCAPABILITY" "REST:PLATFORMCAPABILITY" "REST:PRIVACY". A logical type for a Restriction, based on the what it is targetted at. | Restrictions which constrain this piece of content. Field privacyIdentifier is required when type="REST:PRIVACY". |
|
gmrss:distributor | 1 | yes | Distributor of the video asset. An example from traditional ADI VOD would be distributor=indemand and brand=NBC Universal. An example from an OTT provider would be distributor=Netflix and brand=NBC Universal. This will be saved as a Merlin ProgramMediaAssociation.companies entry with role=Distributor. |
| |
gmrss:languageDetails | 1 | yes | · intendedAudience: required;· title: optional; Describes program title language | Create a time marker with the provided offset in milliseconds from the beginning of the asset. |
|
entityType | 1 | yes | Type of video. Legal types are Merlin Program types: Movie, Episode, SeriesMaster, SportingEvent, Other, Preview, Extra, Offer, Person, TvSeason. If the entityType=SeriesMaster,Offer,Person,or TVSeason the element should not have any video content (no videoAssetId or media:group elements). Other items in the GMRSS feed can reference this item using the gmrss:entityReference element. |
| |
gmrss:videoAssetId | 1 | yes | · provider: required, provider of the id and id namespace. Consult the Merlin team to make sure the provider specified is configured for OpenIngest. | Provider ID of the video asset. This becomes the seed ID of the Merlin Program that represents this video asset. There should be at most one videoAssetId. If videoAssetId is defined, seriesAssetId should not be defined. |
|
gmrss:programVariantId | 1 | yes | · provider: required, provider of the id and id namespace. Consult the Merlin team to make sure the provider specified is configured for OpenIngest. | used to create or update programVariant associated with the current item. if cannonicalOverride it set, program fields such as title, episodeTitle, description will be copied to programVariant.Namespace of programVariant is language specific |
|
gmrss:durableAppId | 1 | yes | Our app's X1 user-friendly app identifier, should represent the specific app where this content is intended to be played. Identifier of the OTT app the content is contained in. It is required for X1 integration. |
| |
gmrss:sportsSubtitle | 1 | no | The sportsSubtitle of the content. Usually used for SportingEvent. |
| |
gmrss:entityReference | unlimited | no | · provider: required, provider of the tag ID | Reference to an entity (e.g. Movie, Episode, TvSeason, SeriesMaster). There can be many entity references per one item. The value of the entity reference is an entity ID in a specific namespace. The entityReference field can be used to link an Episode to a SeriesMaster. |
|
gmrss:tagReference | unlimited | no | · provider: required, provider of the tag ID | Reference to a tag. There can be many tag references per one item. The value of the tag reference is a tag ID in a specific namespace. The tagReference field can be used to create a TagAssociation. If an optional attribute type is provided, also the referred tag will be created if it does not exist. The attribute will be only effective if the ingesting partner has the parameter createTags set to true. |
|
gmrss:brand | 1 | yes | Drives the brand logo selectionBrand of the video asset. An example from traditional ADI VOD would be distributor=indemand and brand=NBC Universal. An example from an OTT provider would be distributor=Netflix and brand=NBC Universal. This will be saved as a Merlin ProgramMediaAssociation.companies entry with role=Provider.Also supports "merlin:" instead of Brand name. |
| |
gmrss:externalAssetId | 1 | no | Id to link to the appropriate in-app page. This id will be used for deeplink generation. |
| |
gmrss:externalEntityId | 1 | yes | Id to link to the appropriate in-app page. This id will be used for deeplink generation. |
| |
gmrss:creditAssociation | unlimited | no | · type: required; type of credit | Used to create persons (both people and characters) within Merlin and relate those persons to a program through a new credit. For credit types of 'Actor' a partReference field is also required to link the actor-person to the character-person. |
|
gmrss:personReference | unlimited | no | · provider: required; provider of the tag ID | Reference to a person. Use as element in creditAssociation, as standalone field will be deprecated. |
|
gmrss:partReference | unlimited | no | · provider: required; provider of the tag ID | Reference to a part. Use as element in creditAssociation, as standalone field will be deprecated. |
|
gmrss:subjectToCoppa | 1 | no | Deprecated. Use gmrss:restriction instead. A boolean that indicates whether COPPA - Children's Online Privacy Protection Act - rules should be obeyed. This impacts the amount of data that should be sent to the DAI platform during playback for Ad selection. When this boolean is true, it basically means that the intended audience for the program is children, therefore additional COPPA privacy rules should be enforced.Possible value could be "true" or "false". |
| |
gmrss:ivod | 1 | no | Whether this gmrss represents and IVOD asset or not |
| |
gmrss:listingStartTime | 1 | only if ivod | The listingStartTime that this IVOD GMRSS is associated to |
| |
gmrss:stationReference | 1 | only if ivod | · provider: required, provider of the station ID | A reference to a station using provider and provider's native id |
|
gmrss:timeSlice | unlimited | no | · start: required if absoluteStartTime is not provided; start in milliseconds | Create a time slice with the provided interval with start and end offsets in milliseconds from the beginning of the asset. For livod time slices, absolute time instead of offset must be provided. |
|
gmrss:timeMarker | unlimited | no | · offset: required; offset in milliseconds from the beginning of the file | Create a time marker with the provided offset in milliseconds from the beginning of the asset. |
|
media:status | 1 | yes | · state: required; Values are "inactive", "active", "deleted". "active" means a media object is active in the system, "deleted" means a media object has been deleted by the publisher, "inactive" means that the media should be unapproved. Deleted and inactive can be sparse updates, but inactive must be a full object on create. | Specifies the status of a media object – whether it's still active or it has been blocked/deleted. |
|
media:group | 1 | yes | Contains media:content element(s). See media:content and Content table below for details. | ||
media:content | unlimited | yes | · url: required when type!=APP or externalAssetIds are supplied; should specify the direct URL to the media object. | Allows grouping of elements that are effectively the same content, yet different representations. See content table. Contained within media:group tag |
|
media:rating | unlimited | preferred | · scheme: required; example: urn:mpaa | This allows the permissible audience to be declared. If this element is not included, it assumes that no restrictions are necessary (suitable for all ages).Schemes must be preconfigured in Merlin |
|
media:thumbnail | unlimited | no | · url: required; url of the image, should be reachable on general internet | Images for the video or Program the video represents. Note that any size is permissible, but sizes should align with X1 supported sizes otherwise invalid sized images may be ignored. The image URL must be internet accessible so that the X1 image resizing service, Myriad, can retrieve it and store it to the Comcast CDN. |
|
media:keywords | 1 | no | Relevant keywords/tags describing the media. |
| |
media:copyright | 1 | no | Copyright line for video asset. |
|
Content Rights
Field | Max Occurs | Required | Attributes | Description | Example |
---|---|---|---|---|---|
gmrss:restriction | unlimited | yes | · type: required | Space separated list of restrictions, can be used for country or platformCapability restrictions in the gmrss. Types include REST:RIGHTSTERR, DEVICE and PLATFORMCAPABILITY. |
|
gmrss:segment | 1 | yes |
| ||
gmrss:proposition | 1 | yes |
| ||
gmrss:windowType | 1 | yes |
| ||
gmrss:windowMode | 1 | yes |
| ||
gmrss:valid | 1 | yes |
| ||
gmrss:downloadable | 1 | no | defaults to false if not provided |
| |
gmrss:streamable | 1 | no | defaults to true if not provided |
|
Distribution Rights
Field | Max Occurs | Required | Attributes | Description | Example |
---|---|---|---|---|---|
gmrss:valid | unlimited | yes, if not provided at top level | · downloadable: Optional | Specifies the time window during which the contentRights object is applicable. |
|
gmrss:contentCatalog | 1 | yes, if providing separate catalogs for different platforms | The specific app catalog, if an app provider delivers separate customized catalogs for different products. If not provided, contentProviderName is used. |
| |
gmrss:contentClass | 1 | yes | This is expressed in industry standard terms such as SVOD, TVOD, AVOD, etc. With windows for each |
| |
gmrss:contentTier | 1 | yes | The provider-specific term for different tiering rules dictating subscription requirements to consume content |
| |
gmrss:playRegions | 1 | yes | Contains a list of viable play regions for this content |
| |
gmrss:playRegion | unlimited | yes | · type: Required | Specifies the region where the content can be played. Embedded within gmrss:playRegions |
|
Content
Field | Max Occurs | Required | Attributes | Description | Example |
---|---|---|---|---|---|
gmrss:audioTrack | unlimited | yes | · lang: required; follows ISO-639-1 (2 or 5 character) | Describes a single audio track, audio track metadata attributes are modeled after HTML5. |
|
gmrss:subtitle | unlimited | preferred | · lang: required; subtitle language | Represents a single subtitle or cc track. Values are cc, forcedNarrative, or subtitle. |
|
gmrss:videoCodec | 1 | no | String describing the video codec used for the video encoding. Required when type!=APP. |
| |
gmrss:audioCodec | 1 | no | String describing the audio codec used for the audio encoding. Required when type!=APP. |
| |
gmrss:transport | 1 | no | String describing transport used for the video encoding. Required when type!=APP. |
| |
gmrss:protectionMethod | unlimited | no | String describing the protection method used for the video encoding. |
| |
gmrss:protectionKey | 1 | no | String describing the protection method used for the video encoding. |
| |
gmrss:container | 1 | no | Required when type!=APP. |
| |
gmrss:protectionScheme | 1 | no | String describing the protection key/scheme used for the video encoding. |
| |
gmrss:protectionSystem | 1 | no | String describing the protection system used for the video encoding. |
| |
gmrss:appStartMode | 1 | no | String describing start mode for application content |
| |
gmrss:appMetadata | 1 | no | Json blob describing additional metadata for application content |
| |
gmrss:optimizedFor | 1 | no | What this specific media/content is optimizedFor |
| |
gmrss:adInstructions | unlimited | no | · key: required; the name of the adInstruction parameter | Value for the specified adInstruction |
|
Sample
<item>
<title>Harry Potter and the Goblet of Fire</title>
<releaseYear>2018</releaseYear><!-- if you have a date, use pub date, if you only have a year use release year-->
<!-- video asset metadata -->
<gmrss:videoAssetId provider="NBC" namespace="SkyShowtime">GMO_1111</gmrss:videoAssetId>
<gmrss:programVariantId provider="NBC" namespace="SkyShowtime-en-US">GTMV0000645117</gmrss:programVariantId>
<gmrss:videoForm>long</gmrss:videoForm>
<gmrss:distributor>SkyShowtime</gmrss:distributor>
<gmrss:brand>Warner Brothers</gmrss:brand>
<gmrss:durableAppId>appId</gmrss:durableAppId>
<gmrss:entityType>Movie</gmrss:entityType>
<gmrss:externalEntityId>entity123</gmrss:externalEntityId>
<gmrss:shortDescription>Harry Potter</gmrss:shortDescription>
<gmrss:mediumDescription>Harry Potter and the Goblet of Fire medium synopsis.</gmrss:mediumDescription>
<gmrss:longDescription>Hermione and Ron try to help Harry win the tri-wizard tournament.</gmrss:longDescription>
<gmrss:duration>3800</gmrss:duration>
<!-- ratings -->
<media:rating scheme="urn:sky:bskybca:gb">5</media:rating>
<media:rating scheme="urn:sky:advisory" subRatings = "private:VIOLENCE">N/A</media:rating>
<!-- tags: from NBC will of 2 types: without type for Genre/Subgenre and with Type for ProviderPlacement. NBC tags will be plain text. Gracenote be video descriptor id -->
<gmrss:tagReference provider="NBC">Genre:Movies</gmrss:tagReference>
<gmrss:tagReference provider="NBC">Subgenre:Sci-Fi & Fantasy</gmrss:tagReference>
<gmrss:tagReference provider="GRACENOTE_VIDEO_DESCRIPTOR">GN164S651XQJ19N</gmrss:tagReference>
<gmrss:tagReference provider="NBC" type="ProviderPlacement">action</gmrss:tagReference>
<!-- entity ref -->
<gmrss:entityReference provider="NBC" entityType="EntityCollection" isPrimary="true">GTMV0000645117</gmrss:entityReference>
<gmrss:entityReference provider="GRACENOTE" entityType="Movie">SH030065870000</gmrss:entityReference>
<!-- person reference: similar to tags, only Gracenote references expected in MVP, characters not supported-->
<gmrss:creditAssociation type="Actor" partName="Albus Dumbledore" >
<gmrss:personReference provider="NBC" namespace="SkyShowtime-en-US">NBC_ID_MM</gmrss:personReference>
<gmrss:partReference provider="NBC" namespace="SkyShowtime-en-US">NBC_ID_DUMBLE</gmrss:partReference>
</gmrss:creditAssociation>
<!--end display block-->
<!-- Content metadata: repeated for each content type-->
<media:group>
<media:content duration="5047" lang="en-US" gmrss:videoQuality="HD" gmrss:framerate="23.976" gmrss:sap="false" gmrss:dvs="true" gmrss:subtitle="true" gmrss:cc="true" type="MPEG-DASH" url=[https://$%7bUS_VOD_PROD%7d/pub/global/%20xYh/EIw/SKYSHOWTIME_1611852294372.3757_01/cmaf/mpeg_cenc/master_cmaf.mpd]https://${US_VOD_PROD}/pub/global/ xYh/EIw/SKYSHOWTIME_1611852294372.3757_01/cmaf/mpeg_cenc/master_cmaf.mpd>
<gmrss:audioTrack dvs="false" index="0" lang="en-US" audioType="Surround" original="true"/>
<gmrss:audioTrack dvs="false" index="1" lang="en-US" audioType="Stereo"/>
<gmrss:audioTrack dvs="false" index="2" lang="es-ES" audioType="Surround"/>
<gmrss:audioTrack dvs="false" index="3" lang="es-ES" audioType="Stereo"/>
<gmrss:subtitle lang="en-US" role="cc" />
<gmrss:subtitle lang="pl-PL" role="subtitle" />
<gmrss:subtitle lang="pl-PL" role="forcedNarrative" />
<gmrss:subtitle lang="nl-NL" role="subtitle" />
<gmrss:subtitle lang="nb-NO" role="subtitle" />
<gmrss:subtitle lang="sv-SE" role="subtitle" />
<gmrss:subtitle lang="da-DK" role="subtitle" />
<gmrss:subtitle lang="fi-FI" role="subtitle" />
<gmrss:videoCodec>H.264</gmrss:videoCodec>
<gmrss:audioCodec>AAC</gmrss:audioCodec>
<gmrss:transport>HLS</gmrss:transport>
<gmrss:playerConfig key="ad_compatibility_encoding_profile">cmaf-hls-24fps-peacock-v1</gmrss:playerConfig>
<gmrss:transferMode>Streaming</gmrss:transferMode>
<gmrss:container>ISOBMFF</gmrss:container>
<gmrss:protectionScheme>CBCS</gmrss:protectionScheme>
<gmrss:protectionSystem>CKS</gmrss:protectionSystem>
<gmrss:protectionMethod>PLAYREADY</gmrss:protectionMethod>
<gmrss:protectionMethod>WIDEVINE</gmrss:protectionMethod>
<gmrss:protectionKey>"TEST-US-SLE-1-CENC:peacock_801363"</gmrss:protectionKey>
</media:content>
</media:group>
<!-- Coppa/GDPR info: not a part of MVP used as flag for DAI-->
<gmrss:subjectToCoppa xsi:nil="false" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance />
<!-- Rights metadata -->
<gmrss:contentProviderName>NBC</gmrss:contentProviderName>
<gmrss:distributionRights>
<gmrss:valid>start=2021-04-20T00:00:00Z;end=2120-01-01T05:00:00Z;scheme=W3C-DTF</gmrss:valid>
<gmrss:contentClass>SVOD</gmrss:contentClass>
<gmrss:contentTier>Basic</gmrss:contentTier>
<gmrss:playRegions>
<gmrss:playRegion type="ISODIVISION">PL</gmrss:playRegion>
</gmrss:playRegions>
</gmrss:distributionRights>
<gmrss:restriction type="REST:PLAYTERR">
<gmrss:playRegion>PL</gmrss:playRegion>
<gmrss:usage>inclusive</gmrss:usage>
</gmrss:restriction>
<gmrss:restriction type="REST:PLATFORMCAPABILITY">
<gmrss:platformCapability>RECS</gmrss:platformCapability>
<gmrss:usage>exclusive</gmrss:usage>
</gmrss:restriction>
<media:status reason="add" state="active"/>
<gmrss:languageDetails intendedAudience="en-GB"/>
</item>