VOD - DASH/HLS

DASH VOD Manifest

POST https://live.serverside.ai/ad-aggregation-service/mrss/channel/:channelId

Get a VoD DASH Manifest for an existing MRSS playlist

Path Parameters

NameTypeDescription

channelId

string

Id of the channel in serverside.ai

Headers

NameTypeDescription

api-key

string

Get it from the channel in serverside.ai

Request Body

NameTypeDescription

deliverytypes

string

Static and always [ "dash" ]

url

string

URL to the mRSS feed

{
    "dash": {
        "url": "https://vodcms.blob.core.windows.net/mrss/serverside_mrss_dash_preroll_midroll.mrssd",
        "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": "https://vodcms.blob.core.windows.net/mrss/serverside_mrss_dash_preroll_midroll.mrss"
  "deliverytypes": [ "dash" ]
}

HLS VOD Manifest

POST https://live.serverside.ai/ad-aggregation-service/mrss/channel/:channelId

Get a VoD HLS Manifest for an existing MRSS playlist

Path Parameters

NameTypeDescription

channelId

string

Id of the channel in serverside.ai

Headers

NameTypeDescription

api-key

string

Get it from the channel in serverside.ai

Request Body

NameTypeDescription

deliverytypes

string

static and always [ "hls" ]

url

string

URL to the mRSS feed

{
    "hls": {
        "url": "https://staging-live.serverside.ai/ad-stitcher/m3u8/89ecfca4-fff2-4141-9ead-c6f824bf66b2.m3u8",
        "clips": [
            {
                "category": "ad",
                "titleId": "httpscdnspotxcdncommediavideosorig1010fa3ca3af9f4600e3eb580eb4da5afcmp4",
                "title": "DH - TB - PS - HOUSEAD NAB19 WOK 30SEC - NOWTILUS - DE",
                "duration": 30071.708,
            },
            {
                "category": "content",
                "titleId": null,
                "title": "Cosmo_Laundromat",
                "duration": 30030
            },
            {
                "category": "ad",
                "titleId": "httpscdnspotxcdncommediavideosorig2a2a1a62db20be5d414bff66b6e7ae7e86mp4",
                "title": "DH - TB - PS - HOUSEAD NAB19 WOK 10SEC - NOWTILUS - DE",
                "duration": 10051.708,
            },
            {
                "category": "content",
                "titleId": null,
                "title": "Cosmo_Laundromat",
                "duration": 30030
            },
            {
                "category": "ad",
                "titleId": "httpscdnspotxcdncommediavideosorig1010fa3ca3af9f4600e3eb580eb4da5afcmp4",
                "title": "DH - TB - PS - HOUSEAD NAB19 WOK 30SEC - NOWTILUS - DE",
                "duration": 30071.708,
            },
            {
                "category": "content",
                "titleId": null,
                "title": "Cosmo_Laundromat",
                "duration": 653277.625
            }
        ]
    }
}

Example Request Body:

{
  "url": "https://vodcms.blob.core.windows.net/mrss/serverside_mrss_hls_preroll_midroll.mrss",
  "deliverytypes": [ "hls" ]
}

Ad-Server Parameter

You may have to add additional parameters for the ad-server you are using. For details see: Ad-Server Parameter

Example Request Body for SpotX:

{
  "url": "https://vodcms.blob.core.windows.net/mrss/serverside_mrss_hls_preroll_midroll.mrss",
  "context": "web",
  "ifa": "ifa",
  "deliverytypes": [ "hls" ]
}

MRSS

The supported format for VoD based ad-insertion is MRSS.

Detailed information can be found here: http://www.rssboard.org/media-rss

In the item block a custom block ad:cuepoints is used, that holds the cuepoint information.

Parameter description

Field

Type

Mandatory

Description

cuepoint id

String

yes

splicetime

Integer

yes

0=pre-role | -1= post-role | splicetime in milliseconds for mid-roll

maxcount

Integer

no

Maximum number of ads for the given ad break

duration

Integer

yes

Ad break duration in seconds

intro

no

TBD

outro

no

TBD

MRSS XSD

MRSS Example

<?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>

Last updated