Radiant Media Player

Ad scheduler



Features

Insert pre-roll, mid-roll and/or post-roll ads at designated timestamps

Design a TV like experience with seamless multiple pre/mid/post roll video ads

Suitable for linear, non-linear (or both) ads

Compatible with on-demand and live media content

Does not require VMAP support


Documentation


Documentation sections

Use your own ad tags for consistent testing! The below ad tags are test Google-provided ad tags. They may or may not be available when requested.


1 pre-roll, 1 mid-roll, 1 post-roll video ads

<script src="https://cdn.radiantmediatechs.com/rmp/4.2.7/js/rmp.min.js" 
  integrity="sha384-C0sSn+J+s5Dqpm+q4b3+LYtSJvBnjJzqVnne0z+m+cWPz2Nkw6pSoBKTkBkt3/R2"
  crossorigin="anonymous"></script>
<div id="rmpPlayer"></div>
<script>
// Define bitrates
var bitrates = {
  mp4: [
    'https://www.rmp-streaming.com/media/bbb-360p.mp4'
  ]
};
// Define schedule
var schedule = {
  // Preroll
  preroll: [
    'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator='
  ],
  // Midroll
  midroll: [
    [60, 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator=']
  ],
  // Postroll
  postroll: [
    'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dredirectlinear&correlator='
  ]
};
var settings = {
  licenseKey: 'your-license-key',
  delayToFade: 3000,
  width: 640,
  height: 360,
  bitrates: bitrates,
  poster: 'https://www.radiantmediaplayer.com/images/poster-rmp-showcase.jpg',
  ads: true,
  // Inject schedule in player settings
  adSchedule: schedule
};
var elementID = 'rmpPlayer';
var rmp = new RadiantMP(elementID);
// Initialize player
rmp.init(settings);
</script>

The preroll and midroll items can hold information for non-linear (overlay, banner ...) or linear ads (video, full-slot ...).

You can input sub-second timestamps for the midroll parameter within the custom scheduler but strict adherence is not guaranteed (expect a 200-300ms tolerance on modern browsers). This is only supported for on-demand video. Example:

midroll: [
    [30.6, 'your-ad-tag-url'],
    [48.4, 'your-ad-tag-url']
]

TV-like experience: seamless multiple pre/mid/post roll video ads

When using the player in its TV-like mode it is implied that each ad must be a linear video-compatible ad for a consistent user experience.

Multiple seamless pre/mid/post roll video ads are set as an array:

<script src="https://cdn.radiantmediatechs.com/rmp/4.2.7/js/rmp.min.js" 
  integrity="sha384-C0sSn+J+s5Dqpm+q4b3+LYtSJvBnjJzqVnne0z+m+cWPz2Nkw6pSoBKTkBkt3/R2"
  crossorigin="anonymous"></script>
<div id="rmpPlayer"></div>
<script>
// Define bitrates
var bitrates = {
  mp4: [
    'https://www.rmp-streaming.com/media/ed-360p.mp4'
  ]
};
// Define schedule
var schedule = {
  // Multiple preroll video ads
  preroll: [
    'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=',
    'https://www.radiantmediaplayer.com/vast/tags/inline-linear.xml',
  ],
  midroll: [
    [60, 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dredirectlinear&correlator='],
    [60, 'https://www.radiantmediaplayer.com/vast/tags/inline-linear.xml']
  ],
  postroll: [
    'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator=',
    'https://www.radiantmediaplayer.com/vast/tags/inline-linear.xml'
  ]
};
var settings = {
  licenseKey: 'your-license-key',
  delayToFade: 3000,
  width: 640,
  height: 360,
  bitrates: bitrates,
  poster: 'https://www.radiantmediaplayer.com/images/poster-rmp-showcase.jpg',
  ads: true,
  // Inject schedule in player settings
  adSchedule: schedule
};
var elementID = 'rmpPlayer';
var rmp = new RadiantMP(elementID);
// Initialize player
rmp.init(settings);
</script>

Cycling video ads in a live stream

For live video streaming you can display mid-roll video ads at fixed or flexible intervals. In the following example a pre-roll is played when the live player is started and mid-roll video ads are played every 2 minutes (when the player is not paused) for the first 10 minutes of the live stream:

<script src="https://cdn.radiantmediatechs.com/rmp/4.2.7/js/rmp.min.js" 
  integrity="sha384-C0sSn+J+s5Dqpm+q4b3+LYtSJvBnjJzqVnne0z+m+cWPz2Nkw6pSoBKTkBkt3/R2"
  crossorigin="anonymous"></script>
<div id="rmpPlayer"></div>
<script>
// Define bitrates
var bitrates = {
  hls: 'https://dqwp3xzzbfhtw.cloudfront.net/testlive/smil:live.smil/playlist.m3u8'
};
// Define schedule
var schedule = {
  // Preroll
  preroll: [
    'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator='
  ],
  // Midroll: a mid-roll ad is played every 120 seconds (2 minutes) for the first 10 minutes of live video
  midroll: [
    [120, 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator='],
    [240, 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator='],
    [360, 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator='],
    [480, 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator='],
    [600, 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator=']
  ]
};
var settings = {
  licenseKey: 'your-license-key',
  delayToFade: 3000,
  width: 640,
  height: 360,
  bitrates: bitrates,
  isLive: true,
  poster: 'https://www.radiantmediaplayer.com/images/poster-rmp-showcase.jpg',
  ads: true,
  // Inject schedule in player settings
  adSchedule: schedule
};
var elementID = 'rmpPlayer';
var rmp = new RadiantMP(elementID);
// Initialize player
rmp.init(settings);
</script>

Mid-roll video ads using the midrollRepeat attribute (live or on-demand video)

The midrollRepeat attribute lets you repeat a request to a specific adTag at regular intervals.

<script src="https://cdn.radiantmediatechs.com/rmp/4.2.7/js/rmp.min.js" 
  integrity="sha384-C0sSn+J+s5Dqpm+q4b3+LYtSJvBnjJzqVnne0z+m+cWPz2Nkw6pSoBKTkBkt3/R2"
  crossorigin="anonymous"></script>
<div id="rmpPlayer"></div>
<script>
// Define bitrates
var bitrates = {
  mp4: [
    'https://www.rmp-streaming.com/media/ed-360p.mp4'
  ]
};
// Define schedule
var schedule = {
  // Preroll
  preroll: [
    'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator='
  ],
  // Midroll: every 60 seconds the player will attempt to load a video ad at the given URL.
  midrollRepeat: [60, 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator=']
};
var settings = {
  licenseKey: 'your-license-key',
  delayToFade: 3000,
  width: 640,
  height: 360,
  bitrates: bitrates,
  poster: 'https://www.radiantmediaplayer.com/images/poster-rmp-showcase.jpg',
  ads: true,
  // Inject schedule in player settings
  adSchedule: schedule
};
var elementID = 'rmpPlayer';
var rmp = new RadiantMP(elementID);
// Initialize player
rmp.init(settings);
</script>

Support notes

  • Mid-roll timestamps must be expressed in seconds
  • For live video content do not include post-roll data as this would be irrelevant
  • Post-roll video ads are disabled on iOS devices as they can produce content recovery issues
  • The midrollRepeat setting is capped at 50 midroll ads impression
  • Mid-roll or post-roll video ads are not supported with DVR streaming (only pre-roll will work).