Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

Introduction

Radioplayer Cloud allows you to submit your Station and Programme updates using this version of the DAB EPG spec. This version contains many updates that have rendered the extensions implemented by Radioplayer to the old spec largely redundant. We have adopted this standard so that it makes it possible for broadcasters to generate a single XML file that could be used in other parts of their business without any special customisations.

The purpose of this document is to describe the differences between the old specification and the new one, and how to adapt ingest files that you send to us to maintain your station information.

XML Version and Namespace

Please specify the XML schema version as follows in the ‘root’ of your XML document

...

This tells us that you are sending data in the new format.

Service Information

Ensemble element

The SPI XML definition no longer contains an element to represent the ensemble.

We only required this field to be completed to conform to the previous specification and had no functional use, so can be dropped with no impact.

Service Id

The serviceId element is no longer part of the DAB EPG spec and is not necessary to complete.

Defining the Radioplayer ID

There is still no ideal mechanism to specify the Radioplayer Station ID within any existing elements in the specification, so have extended the specification to allow you to send it to us.

...


The 3.1 specification is lenient in as much as it allows any elements to be added; however they must be added to the end of the service definition. Therefore this element should be added after the geolocation or serviceGroupMember elements (if you have one).

Defining Live Streams

The DAB EPG spec has been enhanced to support all the extensions added by Radioplayer to define live streams, so the listenLiveGroup element is no longer necessary.

...

  • iOS

  • Android

  • Web

  • Bose

  • Sonos

  • Echo

  • GoogleHome

  • Auto

Defining player URL

We only ever supported one console per station so this element is no longer defined in the serviceGroup. This has been moved to the link element of a service.

...

The web console player URL is identified by setting the ‘type’ attribute to “rp-web-player”. See below for a full list of currently supported ‘type’ values.

Service Footprint

A service footprint can be defined using the geolocation element within a service. This is the same element that can be used to limit streams.

...

The polygon should be closed.

Genres

See Station, Programme and On Demand genres

Service Groups

Service Groups can be specified in the new standard, but are not currently supported. Groups/brands of stations are managed within the Radioplayer Cloud CMS to manage search results and stations that are from the same broadcaster.

We may allow these rules to be managed by broadcasters in future versions of the platform.

As noted earlier, Radioplayer supports the type attribute on a link element to help us identify what the link is for. For example:

...


We perform specific processing when we see the above links (e.g. attaching the Twitter handle in station responses). Any other values will be attached to the station as plain text and returned in metadata API responses for the client to utilise as they see fit.

Social Identifiers

We support ingesting a station’s Twitter handle using the link element with the type set to “twitter”, for example:

...

Note, the mimeValue is not used.

Programme Information

Attaching a programme to a service

Please first note that according to DEB EPG spec 3.1: 

...

  1. You can POST the PI file to https://core-ingest.radioplayer.cloud/latest/pi/{rpuid} (include the RPUID in the path). This lets you submit unadulterated PI files to us and we will attach all programmes in the schedule to that station 

  2. You can add a <radioplayer:radioplayerId> element into the <scope> element to define the Radioplayer station id (the spec allows us to add namespaced elements to the scope.

...

Code Block
<schedule creationTime="2014-04-11T01:20:00+01:00" originator="Global Radio">
<scope startTime="2014-04-25T06:00:00+01:00" stopTime="2014-04-25T13:00:00+01:00">
 <serviceScope id="dab:ce1.c185.c479.0" />
 <serviceScope id="fm:ce1.c479.09580" />
 <serviceScope id="http://media-ice.musicradio.com/Capital" />
 <serviceScope id="http://media-ice.musicradio.com/CapitalMP3Low" />
 <radioplayer:radioplayerId>8261234</radioplayer:radioplayerId>
</scope>

On Demand Audio

The latest specification allows you to add OnDemand elements to the programme directly. This is via the onDemand element which should be inserted after the location element.

...

Not that the bearer element (the same element as on a station) is used to describe the stream url.

Short IDs and CRIDS

 As with the previous version of the specification, you should use the id attribute of a programme to uniquely identify each individual scheduled item. Even though the shortId attribute is required, we do not use it.

...

This could be used to correct an existing programme record; if you resubmit a schedule using the same station/programme/start time the information attached to the programme (e.g. description or imagery) will be updated accordingly.

Series Linking

You can include a single 'memberOf' element in your PI and OD files to allow you to identify which of your programmes belong to a series, and which series they belong to.

...

All memberOf elements that appear after the first within a given programme will be ignored.

Programme Events

Programme events can still be used to break the programme into smaller segments (e.g. news, traffic updates etc.) or identify now playing (music). The old platform supported defining rich information in the media credit (such as composer, producer) but this wasn’t used so we have simplified the processing.

...

If the programme event contains the <mediaCredit> element then the element text is used as the artist name, and the event is marked as a song. 

Special Processing

It is possible to delete all programmes in a given scope by submitting a schedule that contains no programmes.

...

Will delete all programmes with a start time sometime on the 1st July 2021.

Sample Files

Attachments