VOD Channels

VOD channels need extra parameters saved with them, and also need an a playlist (mRSS) to be created before they can be viewed. Here you will find guidance on setting up VOD channels and playlists.

Creating or updating an mRSS feed

POST mRSS

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

Path Parameters

Name
Type
Description

id

string

The Channel's id (uuid)

Headers

Name
Type
Description

api-key

string

UUID

Request Body

Name
Type
Description

url

string

URL to the mRSS feed

context

string

e.g: 'web'

deilverytypes

array

Specifies the delivery type. Can only be 'hls' or 'dash' (not both at the same time). e.g. ['hls']

ifa

string

Identifier for Advertising - see link below.

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

Request example 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 the Serverside.ai that is suitable to serve ads you have to make sure to include the related config. See Channels POST for general information.

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>

Cuepoint

Field

Type

Mandatory

Description

cuepoint id =

String

yes

name / id for cuepoint

splicetime

Integer

yes

0= pre-roll

-1= post-roll

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

Last updated