Introduction
Icareus Playout Carousel Server is a playout system for delivery of DSM-CC object carousels, DSM-CC data carousels and related tables (e.g. AIT) over DVB services. Object carousels can be used for delivering MHP, Hbbtv, tru2way or mheg-5 applications.
Icareus Playout CS100 Carousel Server allows the building and supervision of high quality value-added television services by multiplexing data in real-time. The data can be received from multiple sources: DVB-ASI feeds and IP-networks. All carousels are generated in real-time, and both the carousel content and AIT application signaling can be updated dynamically.
The server features an Applications repository that can be updated and read from concurrently. CS100 Carousel Server can in this way act as a carousel ‘proxy server’, and output carousels at a faster bitrate than they are being updated.
For carousel description, Playout Carousel Server uses a common Object Carousel Interoperability Format (OBCIG). OBCIG XML defines an interoperability format to support transfer of carousel content between content providers and broadcasting environments.
All Playout servers are equipped with a PID Server allocating identifier values to various tables and elementary streams. Icareus Playout CS100 Carousel Server can automatically assign ID values to all stream content it generates, either using the internal PID server process or from a common PID server within the network.
On Icareus Playout, applications are managed as part of DSM-CC Carousel. Once carousel by default contains one application, although it is possible to add applications to a carousel by editing the AIT table of that carousel.
This approach has been adopted to give more freedom in the configuration of the AIT and applications. It for example enables operators and broadcasters to send completely different kinds of AIT tables for each DVB service or network to meet the various technical requirements.
Object carousels are the file system streams in which applications are sent to a receiver. When an application is running, the Playout Server streams the application directory, sending each file in the directory structure one at a time, starting from the first file again after last sent file.
The broadcasting of the carousels is managed per DVB service and utilizing timers, it may be fully automated and controlled also from 3rd party systems.
Key Terms
APPLICATIONS
There are several standards for TV applications, which are based on the same underlying delivery technology called DSM-CC datacarousels. Quite contradictory are the front-end and application development technologies, which differ on different standards.
Icareus carousel supports the following standards for TV applications:
- HbbTV
- MHP
- MHEG-5
- Ginga
- Tru2Way
AIT
Application Information Table (AIT) is stream meta-data containing information about applications in a carousel.
DSM-CC CAROUSELS
Object carousels are the file system streams in which applications are sent to a receiver. When an application is running, the Playout Server streams the application directory, sending each file in the directory structure one at a time, starting from the first file again after last sent file.
Stream Events
DSM-CC Stream-events can be used to trigger event via broadcast stream. They are always part of applications or datacarousels within the Icareus Playout system.
Applications Tree
The Applications tree lists all available applications on Icareus Playout server. It is a repository and user may add any of the applications to any DVB Service.
Broadcasting Applications
Applications/Carousels (or Streams) once attached to a service, can be broadcasted/streamed, either manually or using timers.
Streams are transport stream sources (DSM-CC carousels etc.) that have been attached to a DVB service. A stream is required in order to start a source and to add it to Playout server's internal transport stream multiplexer. Please refer to the Managing Services article for details how to assign applications to services.
Adding Applications
Applications are added with the "Add Application" button.
This opens a modal that is used to define application settings.
Now also MHP applications can be fetched from URL as an application location, like it has been with HbbTV.
|
The settings depend on the application type, and do require the understanding of different DVB standards, which is out-of-scope of this user manual.
Application Settings
Properties
|
Application ID: Icareus Playout internal Id of the application
Application Name: User given name for the application
Bit rate (bit/s): Output bitrate of this application, affects only if a DSM-CC carousel is included.
Carousel PID: Output PID for the carousel
Carousel Id: Internal Id for the Carousel
Component tag: Carousel Component Tag.
AIT PID: PID for the Application Information Table
Stream Event PID: PID for the Dsm-cc Type C stream events
Stream Event Component tag:
Component tag for the above
Application Type: Applications standard
Protocol type: Broadcast / Broadband application, tells the delivery method of the application
|
|
AIT table
This tab provides an editor for the AIT table. When adding an AIT for a carousel, the Icareus Playout asks only basic information about the application and fills the rest of the AIT with default values. Sometimes in advanced use it is necessary to edit the AIT by hand.
AIT Components
Each carousel can have an AIT that describes some basic parameters for applications in the carousel. AIT consists of three components:
- Fields
- Descriptors
- Loops
Fields are either string or integer values with a short name. Integer values are shown as hexadecimal numbers. A field is shown in the AIT editor as A descriptor is a structure that can have fields and loops in it.
For example, a descriptor application_identifier has organisation_id and application_id fields. A descriptor is shown as A loop contains a list of loop items. For example, an item in loop application_name_loop has an integer field named ISO_639_language_code and a string field named application_name.
AIT table details are out of scope for this user manual and reader should look into the respective standard.
A default standards compliant AIT table can be created when the application is created.
Application Recording Descriptor
<!DOCTYPE data PUBLIC
""
"si.dtd"
>
<data>
<descriptor name=
"Application recording descriptor"
>
<field name=
"descriptor_tag"
visible=
"false"
value=
"6"
type=
"ulong"
bitcount=
"8"
/>
<length bitcount=
"8"
target=
"total"
/>
<field name=
"scheduled_recording_flag "
value=
"0"
type=
"ulong"
bitcount=
"1"
/>
<field name=
"trick_mode_aware_flag "
value=
"0"
type=
"ulong"
bitcount=
"1"
/>
<field name=
"time_shift_flag "
value=
"0"
type=
"ulong"
bitcount=
"1"
/>
<field name=
"dynamic_flag"
value=
"0"
type=
"ulong"
bitcount=
"1"
/>
<field name=
"av_synced_flag"
value=
"0"
type=
"ulong"
bitcount=
"1"
/>
<field name=
"initiating_replay_flag"
value=
"0"
type=
"ulong"
bitcount=
"1"
/>
<field name=
"reserved"
visible=
"false"
value=
"0"
type=
"ulong"
bitcount=
"2"
/>
</descriptor>
</data>
PMT table
This tab provides an editor for the PMT table. When adding an PMT for a carousel, the Icareus Playout asks only basic information about the application and fills the rest of the PMT with default values.
Sometimes in advanced use it is necessary to edit the PMT by hand.
PMT Components
See text from AIT components.
Files / Carousel Content
Introduction
It is possible to add files to a carousel either via browser, local FTP folder or remote FTP Folder.
The web UI shows the files in the carousel folder of the server on which the web UI is used.
- When adding files to a carousel via web browser they are automatically pushed to all Icareus Playout servers in the cluster/redundant environment.
- When adding files via local FTP they must be uploaded separately to all Icareus Playout servers.
- When adding files via remote FTP Folder, files are automatically downloaded from the source to all Icareus Playout servers.
Manually Adding, Modifying, Removing Files
You can update a carousel by updating all of the files in the carousel or by adding, removing and modifying single files and directories.
You will have to save and restart the carousel for the changes to take effect.
To add a file, click the plus icon
To add a folder, click the folder icon
To update the contents of a file, click the wrench icon.

You will be prompted for the new file. Note that the name of the original file will not be changed.
To remove a file or a directory, click the trash can icon.

Directories are removed recursively. All modifications are cached in PMC until you apply them. This can be done by clicking the Save button at the bottom of the page.

Configuring DSM-CC carousel update method
You can choose from three different DSM-CC Carousel update methods when configuring how to update files in a carousel to meet different use cases.
- Individual file updates
- Local FTP
- Remote (S)FTP
- Http(s)
Each of the update methods operate through a local folder that is found on your Icareus Playout hard drive in:
/opt/playout/ftp/carousel/[application_id]
[application_id] is the unique ID for the carousel set by Icareus Playout system. It can be seen on the Web Console under Application's Settings tab
On clustered Icareus Playout systems where there are separate
admin servers and
player servers
- the logic may vary per update method
- each server will run a local FTP server that is mapped to the local folder as described above
Individual files
With this method user can update single/individual files from the
local carousel folder to Icareus Playout outputs. It requires that the files have already been loaded to the local carousel folder. Files can be updated via FTP or via other access to the corresponding folder, e.g. SMB.
A typical use case could be a news application where only the news data should be updated frequently, but not the application files.
Once the setting is saved Icareus Playout keeps monitoring files in the local carousel folder and updates the files to output (ASI/IP/Modulator) based on the Schedule.
You can also define an update schedule to a folder, if you want to use the same values for all files in it.
Local FTP
Each Icareus Playout server runs a local (S)FTP server.
Local FTP server's root folder on local disk is:
/opt/playout/ftp/carousel/
This update method uses the local carousel folder that is mapped as FTP servers root.
The process monitors the carousel folder, which is named after the application ID /opt/playout/ftp/carousel/[application_id] where [application_id] is the unique ID for the carousel set by Icareus Playout system. It can be seen on the Web Console under the Application's Settings tab.
If the process notices changes in the folder, a carousel update is performed on the output. Schedule frequency for the update is configured via the web UI as depicted below. A change can be:
a file/folder has been added, a file/folder has been deleted, a file/folder has been changed.
Scheduled update is run individually on all Icareus Playout servers, so files have to be pushed separately to all Icareus Playout servers individually! The party responsible for the updates has to guarantee that all servers have the same content.
Local FTP address is the IP address of your Icareus Playout server, and its credentials are the same that you use for Icareus Playout Management Console or Web Console. Additional users can be created on Linux level. Creating users in Linux is outside the scope of this manual, please refer to a Linux manual instead.
Remote FTP
With this option, you can configure the remote ftp/sftp server from where the carousel content will be pulled. The process is run individually on all Icareus Playout servers.
The update schedule interval is given as depicted in the below screenshot as part of the general connection parameters.
Username used is the username to the remote host/server and should be given in the form of standardised username syntax without server details. E.g.
user and not
user@server.fi. Domain level user names maybe supported depending on the remote system.
If parameters for remote connection are invalid, or connection fails for some other reason, the error should be seen in the Playout log.
In the case of a successful connection, the content from the remote end should be seen in file/folder tree after all files/folders are pulled from remote end.
If you use "ftp://" of "sftp://" prefix in a hostname, and leave the port value empty, default port (21 for ftp and 22 for sftp) is used.
If you use port value 21 or 22, the corresponding prefix is not mandatory in a hostname.
In case of using some other port number than 21 or 22, the wanted prefix is mandatory for the hostname.
Please note that if you use sftp, the syntax should be like in this example:
sftp://upload.mycompany.com:software/latest/*
The previous example fetches just all content under folder "latest". If also the folder "latest" itself is wanted to be fetched, then the syntax should be like this:
sftp://upload.mycompany.com:software/latest
Http(s) update
Https update enables you to download files to your local carousel from remote HTTP/web servers. The system requires that a full http URL to a folder is defined. It does not support updating single files with this method.
The process is run individually on all Icareus Playout servers.
The update schedule interval is given as depicted in the below screenshot as part of the general connection parameters.
Username used is the username to the remote host/server and should be given in the form of standardised username syntax without server details. E.g.
user and not
user@server.fi. Domain level user names maybe supported depending on the remote system.
If parameters for remote connection are invalid, or connection fails for some other reason, the error should be seen in the Playout log.
In the case of a successful connection, the content from the remote end should be seen in file/folder tree after all files/folders are pulled from remote end.
Stream Events
Stream events are triggers sent via broadcast network.
They are added is two phases, first an object needs to be added and then it is possible to add a stream events to the object.
New object is added by clicking the "Add Object" button.
New stream events are added by clicking the "
Plus" icon next to the object in the table.
Add Event Modal
|
Event Name: is the name for event visible on the UI
Sending period in seconds: If value is set Icareus Playout sends an stream-event that has current time as timestamp as the payload of the stream-event
Event Type: Standard based stream.event type definition
Event Sending: Is periodic sending of stream events active or not
|
|
Periodic Sending of DIN Stream events
Periodic sending mechanism sends a single DIN stream event between the configured seconds.
The Payload of the DIN event is a timestamp of current time.
Sending can be activated and disabled with the
"Play" and
"Stop" buttons.
Triggering DIN Stream Events
Stream events can be triggered both manually and automatically via the API.
Manual events are triggered with the
"Fire" button

. The fire button opens a modal with options to define the payload of the stream event.
NPT Stream Events
Icareus Playout can generate an NPT (Normal Play Time) stream for testing NPT stream events. To generate an NPT stream events it is required to input A/V stream to Icareus Playout. If you add an NPT event you can also define one or more NPT times when it will be fired.
Carousel transport stream generation
For each running object carousel on the Icareus Playout server, a DSM-CC input process is used to generate the carousel transport stream. The generated transport stream is sent to the Playout Multiplexer which sends it to the correct output.
The carousel transport stream includes a DSI (Download Server Initiate) and one or more DII (Download Indication Information) messages. The DII messages have info about what modules the carousel contains.
Each module can contain multiple messages, e.g. File Messages and Directory Messages that describe the files and directories that are part of the carousel. For large carousels, sometimes more than 100 modules are needed and in this case the carousel often contains more than one DII.
When the carousel is updated, the transaction id of the relevant DII is incremented. In addition the module version is incremented for the relevant file's module and for the module that contains the directory where the file is. This allows receivers to efficiently detect when there are changes in the carousel files.
Simulcasting MHP and HbbTV
Now it is also possible to use same AIT PID for HbbTV and MHP carousels under same service. If this feature is used, it is not possible to stop just one of them. This means, that if e.g. HbbTV carousel is wanted to be restarted, it must be done so that MHP carousel with the same AIT PID in same service is also stopped if it is running. In this case "restart" operation must not be used.
In case of MHP application, one must put some character to the Initial Class field, even if an URL is used. E.g. Space is good enough in this kind of case.
Carousel Packets for broadband applications
It is possible to configure if carousel packets are not sent for http based applications. The following commands allow configuring this.
All applications should be restarted to use new configuration value. Two options are available.
- Restart all services using menu: Server->Service Management->Restart All
- Restart every application separately: Right click application name in the DVB services node and select 'Restart' menu item