Channels: VoD
Overview
mRSS feed creation and update
POST mRSS
Path parameters
Headers
Request body
200: Response for DASH (HLS identical, top-level key: 'hls')
Example request body
VoD channel creation
Ad-source params that are special for VoD channels (channel.adSource.params)
mRSS: template
mRSS [simple - .mp4]
mRSS [extended - DASH/HLS without AdCuePoint]
mRSS [extended - DASH/HLS with AdCuePoint]
Cue point
Overview
VoD channels require additional parameters and an mRSS playlist to be created before they can be viewed. This document provides guidance on setting up VoD channels and creating or updating playlists.
mRSS feed creation and update
POST mRSS
POST https://mydomain.com/ad-aggregation-service/mrss/channel/:id
Path parameters
| Field | Type | Description |
|---|---|---|
id |
string | The channel’s unique identifier (UUID). |
Headers
| Field | Type | Description |
|---|---|---|
api-key |
string | The API key used for authentication (UUID format). |
Request body
| Field | Type | Description |
|---|---|---|
url |
string | The URL to the mRSS feed. |
context |
string | The environment: web or app. |
deliverytypes |
array | The delivery type. Can be either 'hls' or 'dash' (not both at the same time), for example, ['hls']. |
ifa |
string | The Identifier for Advertising (IFA). For more information, see Guidelines for Identifier for Advertising On OTT Platforms. |
200: Response for DASH (HLS identical, top-level key: 'hls')
{
"dash": {
"url": "http://localhost:3002/mpds/b435da54-f8a2-497f-b0a3-8411e94e56d1.mpd",
"clips": [
{
"category": "intro",
"titleId": null,
"title": "intro",
"duration": 4000
},
{
"category": "ad",
"titleId": "Ferrero_Love_Brands_WM_2018_4_Praemienmov",
"title": "mov.ad instream ad via adition : 11244",
"duration": 15000
},
{
"category": "outro",
"titleId": null,
"title": "outro",
"duration": 4000
},
{
"category": null,
"titleId": null,
"title": "15 Fakten zu den MIGHTY MORPHIN POWER RANGERS!",
"duration": 11520
}
]
}
}Example request body
{
"url": "http://localhost:3003/samples/playlists/mrss/mrss-cuepoints-extended-simple.xml",
"context": "web",
"deliverytypes": [ "dash" ],
"ifa": "6f3f587acc245e113eba8eb06bad1486"
}VoD channel creation
To create a channel via Serverside.ai that can serve ads, you must include the relevant configuration. For more information, see channels Channels: POST.
Ad-source params that are special for VoD channels (channel.adSource.params)
params: {
"generic": {
"VPI": "MP4",
"media_transcoding": "high",
"ssai[enabled]": 1,
"ssai[vendor]": ""
},
"context": {
"web": {
"content_page_url": ""
},
"app": {
"app[bundle]": ""
}
}mRSS: template
mRSS [simple - .mp4]
<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
<channel>
<item>
<title>VoD Playlist</title>
<media:category>ad</media:category>
<media:content type="video/mp4" url="https://hostname/vod/contents/check/25s_ISVA.mp4"/>
</item>
</channel>
</rss>mRSS [extended - DASH/HLS without AdCuePoint]
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:ad="http://ssai.nowtilus.tv/mrss/" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>VoD Playlist</title>
<link></link>
<description>Intro</description>
<item>
<title>Hinter den Kulissen</title>
<media:content url="https://hostname/6671a1574df08e28392a140713b9d7c5.jpeg" medium="image"></media:content>
<media:content url="https://hostname/vod/L2QfSeA81Qg/playlist_hd.m3u8" type="application/vnd.apple.mpegurl"></media:content>
<media:content url="https://hostname/vod/L2QfSeA81Qg/HD_manifest.mpd" type="application/dash+xml"></media:content>
</item>
</channel>
</rss>mRSS [extended - DASH/HLS with AdCuePoint]
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:ad="http://ssai.nowtilus.tv/mrss/" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>VoD Playlist</title>
<link></link>
<description>Intro</description>
<item>
<title>Hinter den Kulissen</title>
<media:content url="https://hostname/6671a1574df08e28392a140713b9d7c5.jpeg" medium="image"></media:content>
<media:content url="https://hostname/vod/L2QfSeA81Qg/playlist_hd.m3u8" type="application/vnd.apple.mpegurl"></media:content>
<media:content url="https://hostname/vod/L2QfSeA81Qg/HD_manifest.mpd" type="application/dash+xml"></media:content>
<ad:cuepoints>
<cuepoint id="adpod-0">
<splicetime>0</splicetime>
<maxcount>2</maxcount>
<duration>45</duration>
<intro type="application/vnd.apple.mpegurl" url="https://hostname/vod/4O5_sMiF1Qg/playlist_hd.m3u8"></intro>
<intro type="application/dash+xml" url="https://hostname/vod/4O5_sMiF1Qg/HD_manifest.mpd"></intro>
<outro type="application/vnd.apple.mpegurl" url="https://hostname/vod/x7OmjR2I1Qg/playlist_hd.m3u8"></outro>
<outro type="application/dash+xml" url="https://hostname/vod/x7OmjR2I1Qg/HD_manifest.mpd"></outro>
</cuepoint>
</ad:cuepoints>
</item>
</channel>
</rss>Cue point
| Field | Type | Mandatory | Description |
|---|---|---|---|
cuepoint id |
string | yes | The name or ID for the cue point. |
splicetime |
integer | yes |
The splicetime of the ad break in milliseconds.
|
maxcount |
integer | no | The maximum number of ads allowed for the given ad break. |
duration |
integer | yes | The duration of the ad break in seconds. |