Contact support

VoD: DASH and HLS

Overview

This document explains how to retrieve VoD DASH and HLS manifests from Serverside.ai using MRSS playlists. It also describes the required request parameters and headers, and includes information about ad cue points embedded in the stream.

DASH VoD manifest

Request

POST https://mydomain.com/ad-aggregation-service/mrss/channel/:channelId

Retrieves the VoD DASH manifest for an existing MRSS playlist.

Path parameters

Field Type Description
channelId string The ID of the channel in Serverside.ai.

Headers

Field Type Description
api-key string The parameter obtained from the channel in Serverside.ai.

Request body

Field Type Description
deliverytypes string The static delivery type. It is always [ "dash" ].
url string The URL to the mRSS feed.

Response (200)

{
    "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

Request

POST https://mydomain.com/ad-aggregation-service/mrss/channel/:channelId

Retrieves the VoD HLS manifest for an existing MRSS playlist.

Path parameters

Field Type Description
channelId string The ID of the channel in Serverside.ai.

Headers

Field Type Description
api-key string The parameter obtained from the channel in Serverside.ai.

Request body

Field Type Description
deliverytypes string The static delivery type. It is always [ "hls" ].
url string The URL to the mRSS feed.

Response (200)

{
    "hls": {
        "url": "https://mydomain.com/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 might need to add additional parameters for the ad server you are using. For more information, see the articles under Ad server integration.

 

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. For more information, see Media RSS Specification.

In the item block, a custom block ad:cuepoints is used to hold the cue point information.

Parameter description

Field Type Mandatory Description
cuepoint id string yes The ID of the cue point.
splicetime integer yes

The splicetime of the ad break in milliseconds.

0: pre-roll

-1: post-roll

any other integer: mid-roll at the specified time in milliseconds

maxcount integer no The maximum number of ads for a given ad break.
duration integer yes The duration of the ad break in seconds.
intro   no TBD
outro   no TBD

MRSS XSD

https://static.helpjuice.com/helpjuice_production/uploads/upload/image/16110/direct/1755075177307/serverside_ai_vod.xsd

Example MRSS 

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