VideoMetadata
What's the VideoMetadata
?​
The VideoMetadata
is an object that describes the video to play.
All VideoMetadata fields​
Check the full list
Category | Property | Type | Default | Description | Example |
---|---|---|---|---|---|
Advertising and Integrations | ad | string | "" | VAST or VMAP url | "http://vast.com/vmap.xml" |
Core | assetState | AssetState | |||
Playback | audioTracks | array of AudioTrack | "" | List of audio tracks for this media | |
Experience | behaviour | Behaviour | |||
Core | capabilities | Capabilities | |||
Experience | customActions | array of CustomAction | "" | ||
Experience | customDataPanels | array of CustomDataPanel | "" | ||
Playback | defaultAudioTrackId | string | "" | The default id of the audio track that will be used if there is no user selection | |
Core | eventId | string | "" | Identified the event associated to the video. This is used to fetch data associated to the video (overlays, data panels, etc..) | "videoId" |
Core | expectedDuration | number | "0" | Expected duration of the video (milliseconds) | "0" |
Experience | image | string | "" | A static thumbnail that can be used to represent the video | "http://thumbnail.com/image.png" |
Advertising and Integrations | livelikeProgramId | string | "" | ID of the Livelike program for enabling Livelike feature | "aaeeff00" |
deprecated | multicam (@deprecated) | Multicam | |||
deprecated | overlayThumbnailUrl (@deprecated) | string | "" | Thumbnail shown when datapanels menu is open (tablet, hmtl5) | |
Core | programDateTime | string | "" | Absolute time when the video was started (ISO 8601 date time) Used to synchronize video and additional data | "2020-02-14T15:01:50Z" |
Experience | skipIntervals | array of SkipInterval | [] | List of time intervals during which to display the skip button | |
Experience | socialSharing | SocialSharing | |||
Playback | sources | array of VideoSource | "" | List of video sources for this media | |
Playback | stereoMode | StereoMode | |||
Core | title | string | "" | Title of the video | "title" |
Core | subtitle | string | "" | Subtitle of the video | "subtitle" |
Playback | trimIn | number | "0" | client side trimming-in (milliseconds) | "0" |
Playback | trimOut | number | "0" | client side trimming-out (milliseconds) | "0" |
Core | videoId | string | Unique id of the video | "videoId" | |
Experience | videoLists | array of VideoList | "" | if empty, the video lists are not visible | |
Experience | vttThumbnails.baseUrl | string | Base url of the vtt thumbnails file | "http:/domain.com/path" | |
Experience | vttThumbnails.filename | string | Filename of the vtt thumbnails file | "file.vtt" | |
Experience | vttThumbnails | ||||
Playback | dvrType | DvrType |
VideoMetadata by Categories​
Core​
Property | Type | Default | Description | Example |
---|---|---|---|---|
assetState | AssetState | |||
expectedDuration | number | "0" | Expected duration of the video (milliseconds) | "0" |
eventId | string | "" | Identified the event associated to the video. This is used to fetch data associated to the video (overlays, data panels, etc..) | "videoId" |
programDateTime | string | "" | Absolute time when the video was started (ISO 8601 date time) Used to synchronize video and additional data | "2020-02-14T15:01:50Z" |
title | string | "" | Title of the video | "title" |
subtitle | string | "" | Subtitle of the video | "subtitle" |
videoId | string | Unique id of the video | "videoId" |
Playback​
Property | Type | Default | Description | Example |
---|---|---|---|---|
trimIn | number | "0" | client side trimming-in (milliseconds) | "0" |
trimOut | number | "0" | client side trimming-out (milliseconds) | "0" |
audioTracks | array of AudioTrack | "" | List of audio tracks for this media | |
defaultAudioTrackId | string | "" | The default id of the audio track that will be used if there is no user selection | |
dvrType | DvrType | |||
sources | array of VideoSource | "" | List of video sources for this media |
Experience​
Property | Type | Default | Description | Example |
---|---|---|---|---|
behaviour | Behaviour | "" | ||
customActions | array of CustomAction | "" | ||
customDataPanels | array of CustomDataPanel | "" | ||
image | string | "" | A static thumbnail that can be used to represent the video | "http://thumbnail.com/image.png" |
related | Related | |||
socialSharing | SocialSharing | |||
stereoMode | StereoMode | |||
upNext | UpNext | |||
videoLists | array of VideoList | "" | if empty, the video lists are not visible | |
vttThumbnails.baseUrl | string | Base url of the vtt thumbnails file | "http:/domain.com/path" | |
vttThumbnails.filename | string | Filename of the vtt thumbnails file | "file.vtt" | |
vttThumbnails |
3rd Parties​
Property | Type | Default | Description | Example |
---|---|---|---|---|
ad | string | "" | VAST or VMAP url | "http://vast.com/vmap.xml" |
livelikeProgramId | string | "" | ID of the Livelike program for enabling Livelike feature | "aaeeff00" |
Types​
AssetState​
Property | Type | Values | Default | Description |
---|---|---|---|---|
assetstate | enum (of strings) | "live" "vod" | "vod" | Whether the video should be displayed as VOD or LIVE |
AudioTrack​
├── videoMetadata
│ └── audioTracks
│ └── audioTrack
Property | Type | Description |
---|---|---|
id | string | Unique identifier of the track |
label | string | Label of the audio track displayed in the audio tracks selection setting panel |
selector | string | Result of the audio track found in the manifest, based on the selection method configured. |
Behaviour​
├── videoMetadata
│ └── behaviour
Property | Type | Default | Description |
---|---|---|---|
endOfPlay | EndOfPlay | ||
externalStreamingEnabled | boolean | "true" | |
seekInterval | number | "10000" | milliseconds |
spoilerMode | SpoilerMode | ||
timelineMode | TimelineMode |
EndOfPlay​
├── videoMetadata
│ └── behaviour
│ └── endOfPlay
Property | Type | Default | Description |
---|---|---|---|
countdownToAutoplay | number | "10000" | milliseconds |
squeezeBackTime | number | "0" (disabled) | milliseconds |
SpoilerMode​
Property | Type | Values | Default | Description |
---|---|---|---|---|
spoilermode | enum (of strings) | "notSpoiled" "highlights" "chapterNotSpoiled" "chapterAndDurationNotSpoiled" "chapterDurationAndSeekbarNotSpoiled" | "notSpoiled" | Define if events in certain features are spoiled or not |
TimelineMode​
Property | Type | Values | Default | Description |
---|---|---|---|---|
timelinemode | enum (of strings) | "enhanced" "alternate" | "enhanced" |
Capabilities​
Property | Type | Default | Description | Example |
---|---|---|---|---|
alternateCommentary | boolean | "true" | HTML5 only - enable or disable the alternate visualisation of timeline | "true" |
cc | boolean | "true" | enable or disable the closed captions | "true" |
chapters | boolean | "true" | enable or disable the chapters functionality | "true" |
commentary | boolean | "true" | enable or disable the commentary functionality | "true" |
dataPanels | boolean | "true" | enable or disable data panels | "true" |
boolean | "true" | "true" | ||
boolean | "true" | "true" | ||
relevantCommentary | boolean | "true" | enable or disable the relevant commentary functionality | "true" |
score | boolean | "true" | enable or disable the score functionality | "true" |
snapStats | boolean | "true" | enable or disable the snap stats functionality | "true" |
timeline | boolean | "true" | "true" | |
title | boolean | "true" | "true" | |
userAudioSelection | boolean | "true" | "true" | |
videoQuality | boolean | "true" | enable or disable the video quality selector | "true" |
vr | boolean | "true" | "true" | |
wallclock | boolean | "true" | if false wallclock time is hidden in live videos with limited DVR | "true" |
CustomAction​
├── videoMetadata
│ └── customActions
│ └── CustomAction
Property | Type | Default | Description |
---|---|---|---|
actionId | string | "" | |
icon | string | "" |
CustomDataPanel​
├── videoMetadata
│ └── customDataPanels
│ └── CustomDataPanel
Property | Type | Default | Description |
---|---|---|---|
feedUrl | string | "" | Url of the feed. The item will be ignored if this parameter is an empty string |
id | string | "" | |
menu | string | "" | The Data Panel title that will be shown in the tab bar. The item will be ignored if this parameter is an empty string |
pollingInterval | number | "0" | How often the feed url will be polled (milliseconds). "0" means that polling is disabled. If this value is less than 1000 (1s), then 1000 will be applied |
DvrType​
Property | Type | Values | Default | Description |
---|---|---|---|---|
dvrtype | enum (of strings) | "none" "full" "limited" | "full" | Type of DVR window for this video |
Multicam (@deprecated)​
Property | Type | Default | Description |
---|---|---|---|
enable360Cameras | boolean | "true" | |
enableVRFor360Cameras | boolean | "true" | |
pitchViewEnabled | boolean | "true" | |
videoListUrl | string | "" |
Recommendation (@deprecated)​
Property | Type | Default | Description |
---|---|---|---|
autoLoadTime | number | "10000" | milliseconds, 0 means disabled [html5 only] |
feedUrl | string | "" | if empty, disable the feature |
redirectOnClick | boolean | "false" | whether clicking an item redirects to a new player page [html5 only] |
sortList | boolean | "true" | puts the current video as first, if present [html5 only] |
Related​
├── videoMetadata
│ └── related
Property | Type | Default | Description |
---|---|---|---|
imageFormat | string | tile | The format of the thumbnail (just 'tile' so far) |
items | array of relatedItem | The list of related items to show | |
rowTitle | string | "diva_eop_related_title" | a dictionary tag, the title of the related row |
caption | string | The caption of the next video put below the title | |
imageUrl | string | The image url of the next video | |
itemId | string | The id of the next video | |
title | string | The title of the next video |
Related Item​
├── videoMetadata
│ └── related
│ └── items
│ │ ├── item
Property | Type | Default | Description |
---|---|---|---|
adBadge | boolean | false | Audio Description badge (Accessibility) (tv only) |
caption | string | The caption of the related video item | |
ccBadge | boolean | false | Closed Caption badge (Accessibility) (tv only) |
imageUrl | string | (fallback image) | The image url of the related video item |
itemId | string | The id of the related video item | |
title | string | The title of the related video item |
Scrubbing​
├── videoMetadata
│ └── behaviour
│ └── seekSpeed1
seekSpeed2
seekSpeed3
Property | Type | Description |
---|---|---|
seekSpeed1 | number | Level of lowest speed of scrubbing the seekbar |
seekSpeed2 | number | Mid level of speed of scrubbing the seekbar |
seekSpeed3 | number | Highest level of speed of scrubbing the seekbar |
SkipInterval​
├── videoMetadata
│ └── skipIntervals
│ └── SkipInterval
Property | Type | Description |
---|---|---|
autoHide | number | Auto hide timeout if not interacted |
end | number | End in milliseconds from the beginning of the video |
label | string | Key to look for inside the dictionary for one specific interval |
start | number | Start in milliseconds from the beginning of the video |
SocialSharing​
├── videoMetadata
│ └── socialSharing
Property | Type | Default | Description |
---|---|---|---|
excludedNativeSharingApps | array of array | "" | |
excludedSharingApps | array of array | "" | |
message | string | "" |
StereoMode​
├── videoMetadata
│ └── stereoMode
Property | Type | Values | Default | Description |
---|---|---|---|---|
stereomode | enum (of strings) | "none" "monoscopic" "updown" | "none" | Type of 360 video layout |
UpNext​
├── videoMetadata
│ └── upNext
Property | Type | Default | Description |
---|---|---|---|
caption | string | The caption of the next video put below the title | |
imageUrl | string | The image url of the next video | |
itemId | string | The id of the next video | |
title | string | The title of the next video |
VideoList​
├── videoMetadata
│ └── videoLists
│ └ ── VideoList
Property | Type | Default | Description |
---|---|---|---|
behaviour | VideoListBehaviour | ||
feedUrl | string | "" | the url of videoList, if empty the video list related is not valid |
highlightColor | string | "#ffff00" | The color used to highlight the currently selected video on tablets (dark theme theme) |
highlightColorLight | string | "#ffff00" | The color used to highlight the currently selected video on smartphones (light theme) |
id | string | "" | The identifier used for this video list in the analytic events |
isRecommended | boolean | false | First element with isRecommended equal true will be shown at top position in End of Play view |
menu | string | "" | The name of the videolist shown to the user in the tab bar |
message | string | "" | The text shown as a header within the video list (not the title of the tab) |
messageNoVideo | string | "" | The message show when the video list is empty (it replaces message ) |
pollingInterval | number | "0" | How often to poll the videolist url for new data (milliseconds) "0" means that polling is disabled. If this value is less than 1000 (1s), then 1000 will be applied |
redirectOnClick | boolean | "false" | (HTML5 only) Whether the browser will open the video in a new page |
VideoListBehaviour​
Property | Type | Values | Default | Description |
---|---|---|---|---|
videolistbehaviour | enum (of strings) | "switch" "multiview" "pipview" "multistreamSwitch" "multistreamMultiview" "multistreamPipview" "modal" | "switch" | How Diva will behave when opening one of the videos of the videolist |
VideoSource​
├── videoMetadata
│ └── sources
│ └── VideoSource
Property | Type | Default | Description | Example |
---|---|---|---|---|
daiType | DaiType | |||
drm | VideoSourceDrm | |||
format | string | A string representing the video source format. Supported formats are 'hls', 'dash', 'mp4' | "hls" | |
hdrType | HdrType | |||
name | string | "same-as-format" | A string representing the video source name, defaults to the same value of format | "hls-for-chromecast" |
offset | number | "0" | Program date time offset for this video source (milliseconds, can be negative) | "0" |
uri | string | Uri of the media to be played (usually a DASH/HLS manifest) | "https://azuremedia.com/some/manifest.m3u8" |
DaiType​
Property | Type | Values | Default | Description |
---|---|---|---|---|
daiType | enum (of strings) | "none" "googleLive" "googleVod" | "none" | type of DAI to use (currently only googleLive is supported) |
HdrType​
Property | Type | Values | Default | Description |
---|---|---|---|---|
hdrType | enum (of strings) | "hdr10" "none" | Type of HDR (currently only HDR10 is supported) |
VideoSourceDrm​
Property | Type | Default | Description |
---|---|---|---|
licenseUrl | string | "" | |
token | string | "" | |
type | VideoSourceDrmType |
VideoSourceDrmType​
Property | Type | Values | Default | Description |
---|---|---|---|---|
videosourcedrmtype | enum (of strings) | "none" "fairplay" "widevine" "playready" "aes" | "none" | Drm types |
VideoMetadata
sample​
{
"assetstate": "vod",
"expectedDuration": 0,
"eventId": "videoId",
"programDateTime": "2020-02-14T15:01:50Z",
"title": "title",
"subtitle": "subtitle",
"videoId": "videoId",
"behaviour": {
"endOfPlay": {
"countdownToAutoplay": 10000,
"squeezeBackTime": 10000
},
"externalStreamingEnabled": true,
"seekInterval": 10000,
"spoilermode": "notSpoiled",
"timelinemode": "enhanced",
"seekSpeed1": 10000,
"seekSpeed2": 20000,
"seekSpeed3": 30000
},
"capabilities": {
"alternateCommentary": true,
"cc": true,
"chapters": true,
"commentary": true,
"dataPanels": true,
"relevantCommentary": true,
"score": true,
"snapStats": true,
"timeline": true,
"title": true,
"userAudioSelection": true,
"videoQuality": true,
"vr": true,
"wallclock": true
},
"customActions": [
{
"actionId": "actionId",
"icon": "icon"
},
],
"customDataPanels": [
{
"feedUrl": "",
"id": "",
"menu": "",
"pollingInterval": 0
}
],
"image": "http://thumbnail.com/image.png",
"videoLists": [],
"vttThumbnails": {
"baseUrl": "http:/domain.com/path",
"filename": "file.vtt"
},
"skipIntervals": [
{
"autoHide": 0,
"end": 0,
"label": "label",
"start": 0
}
],
"socialSharing": {
"excludedNativeSharingApps": [],
"excludedSharingApps": [],
"message": ""
},
"stereoMode": {
"stereomode": "none"
},
"upNext": {
"caption": "",
"imageUrl": "",
"itemId": "",
"title": ""
},
"related": {
"imageFormat": "tile",
"items": [
{
"adBadge": false,
"caption": "",
"ccBadge": false,
"imageUrl": "",
"itemId": "",
"title": ""
}
],
"rowTitle": "diva_eop_related_title"
},
"ad": "http://vast.com/vmap.xml",
"livelikeProgramId": "aaeeff00",
"trimIn": 0,
"trimOut": 0,
"audioTracks": [],
"defaultAudioTrackId": "",
"dvrtype": "full",
"sources": [
{
"daiType": "none",
"drm": {
"licenseUrl": "",
"token": "",
"type": "none"
},
"format": "hls",
"name": "hls",
"uri": "https://azuremedia.com/some/manifest.m3u8",
"offset": 0,
"hdrType": "hdr10"
}
],
}
What's the VideoMetadataMap?​
The VideoMetadataMap
is the runtime representation of the VideoMetadata
.
Each platform has its VideoMetadataMap
to read and overwrite the VideoMetadata
fields: