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 a carousel 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.
The Playout server is managed through Playout Management Console (PMC).
The image below shows Playout Management Console with TV Applications and an example configuration for a carousel.
| EXAMPLE HEAD-END ARCHITECTURE FOR ICAREUS PLAYOUT CS CAROUSEL SERVER |
| EXAMPLE HEAD-END ARCHITECTURE FOR HBBTV |
There are several standards for TV Applications, which are based on the same underlying delivery technology called DSM-CC datacarousels. Quite the contradictory is the front-end and application development technologies, which differ on different standards.
Icareus Carousel support the following standards for TV Applications
Application Information Table (AIT) is stream meta-data containing information about applications in a carousel.
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 at time, starting from the first file again after last sent file.
The multinetwork feature in Icareus Playout opens the possibility to output several Networks (or Transport Streams over IP) from a single Playout server. Each Network may have it's own set of configuration parameters as well as datacasting services.
The basic idea is to add DVB Services to a Network and by selecting Carousels and AITs for these DVB Services manage the distribution of TV Applications on different Networks. To output a e.g. HbbTV Application the following steps need to be done:
This gives full flexibility to either have one DVB Service (and TV Applications) on one Network or to have separate DVB Service for each Network, thus deciding where and when each TV Application should be distributed.
Additionally it opens the possibility to regionalise the same Application for different parts of the actual Network by having e.g. regional news distributed over-the-air.
For service operators the value comes from the fact that a single server can be shared by many broadcasters, even in different multiplexes/transponders.
Networks are managed in the Networks tree. Each Network has its own output on the server and the configuration can be accessed by right clicking the Network and select _UDP1 (2) output -_tab as shown on screenshots 1 and 2 on the right. |
|
DVB Services hold the actual TV Applications (HbbTV, MHP, MHEG-5, etc.) and they should be added to a Network from the DVB Services tree. See screenshot 3 on the right. Attaching Carousels with AIT and Applications to DVB Services is also done by right clicking the desired Carousel as shown on screenshot 4 right. |
|
This dialogue allows you to edit DSM-CC object carousel (i.e. HbbTV or MHP carousel) and DSM-CC data carousel related settings.
Default caching transparency Default caching transparency for object carousel modules, used when creating new carousels in PMC. Default priority Default priority for object carousel modules, used when creating new carouselsin PMC. Compress modules by default If this setting is enabled, object carousel modules will be compressed by default when creating new carousels in PMC. DSI and DII repetition rate Repetition rate of Download Server Initiate and Download Info Indication in data and object carousels, measured in milliseconds. DIN event repetition times How many times to repeat "Do it now" stream events in carousels. DIN event repetition rate Repetition interval for "Do it now" stream events in MHP carousels, measured in milliseconds. |
|
|
On Icareus Playout, Applications are managed as part of DSM-CC Carousel. One 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 at 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.
Applications and Carousels are managed in Applications Carousel repository. There are three ways to add an application:
Carousels or Applications must be uploaded to the server before they can be used. |
A very common scenario is that one application is used frequently over the time. It is thus handy to have a location where one can collect these frequently used carousels. This place, called carousel tree, is shown in the lower left corner of the window. To add an application to the carousel tree, right click the tree and select New carousel. A dialogue appears that prompts you to point the root directory of the carousel. The other way of adding an application is to drag a directory from your file manager and drop it over the carousel tree. You can remove carousels from the tree by right clicking the carousel and selecting Remove carousel. This does not remove the files from the file system, only from this favourite list. |
You can update a carousel by updating all files in the carousel or by adding, removing and modifying single files and directories. To update all files, drag the carousel root folder from a file explorer to the carousel content tree. You will have to restart the carousel for the changes to take effect. It is also possible to update files within the carousel via FTP or SFTP. You can use any FTP client to connect to the Playout server and in the FTP root folder you will find the carousel folder that contains all application carousels. |
To add a file, right click on a directory in the carousel content tree and select Add File. You will be prompted to select the new file.
To add a directory, right click on a directory in the carousel content tree and select Add Directory. You will be prompted for a name for the new directory.
To update the contents of a file, right click on a file in the carousel content tree and select Update File Content. 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, right click on it and select Remove File or Remove Directory. Directories are removed recursively.
All modifications are cached in PMC until you apply them. This can be done by right clicking on the carousel content tree and selecting Save Changes. Files and directories with cached modifications are shown with a grey background.
Sometimes it is necessary to update a carousel periodically. A ticker application, for example, might update its news content every 15 minutes. To automate this kind of periodical updating, PMC offers a scheduled update system for carousels. To edit scheduled updates for a carousel, right click the carousel content tree and select Schedule Carousel Update. In the upper part you can configure the period of updates, given in various time units. In the lower part you can select the files that are to be scheduled for updating. The list to the left contains all files in the carousel, the list to |
You can edit carousel collections by selecting a carousel in the repository and selecting Collections tab from the right side panel.
Collection editor allows user to define collections to describe a group of one or more files having similar attributes and repetition parameters. Collections have the following properties:
By default there is only one collection named Default.
To add a new collection, right click the module tree, select Add collection from the pop-up menu and enter a name for the collection. To move files from one collection to another, select the files you want to move, right click the files and select Move to collection from the pop-up menu.
To save the changes you have made, click the Save changes button.
It is possible to configure if carousel packets are not sent for http based applications. The following commands allow configuring this.
#su - postgres#psql#\c playout#select * from config where name='send-carousel-for-http-apps'; // check current value#update config set value='1' where name='send-carousel-for-http-apps'; // change the value: 1 means carousel packets are sent, 0 means carousel packets are not sent#\q#exit |
All applications should be restarted to use new configuration value. Two options are available.
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.
Carousels (or Streams) once attached to a Service, can be broadcasted, or streamed actually, 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.
When you select a service or a single stream, streams and their timers are shown on the right side of the PMC window under the Streams tab.
To start a stream manually, select it from the server tree and you will see the stream and its timers on the right. Right click on the stream and select Start from the menu. The stream will now run until it is stopped manually.
Mode column in the stream table indicates if the stream has been started or not. On indicates that the stream is set to run at all times, Off indicates that the stream will only be started by a timer.
Status column indicates the actual running status of the stream. If the stream is running normally, it will show the text Running with a green background. If there was an error last time the stream was started, it will show the text Error with a red background.
A timer can be created by right clicking on a stream under the Streams tab and selecting Add Timer. You can set the start and stop times for the timer (see figure 5.2).
Timers can be edited by right clicking on the timer and selecting Edit timer from the menu.
A timer can be deleted by right clicking on the timer and selecting Delete timer from the menu.
Each carousel can have an AIT that describes some basic parameters for applications in the carousel. AIT consists of three components:
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.
When a carousel is attached to a service, PMC asks the user whether he/she wishes to create an AIT for the carousel. AIT can also be created later by right clicking on a carousel and selecting Create AIT from the menu. In either case, a simple dialogue appears:
This is the minimum set of information that is needed to create the AIT.
It includes the name of the application, AIT PID, initial class (for example application.TheXlet) for Java Applications, base directory for the application, component tag and an autostart option.
After applications are atatched to sevice(s) and started, it is possible to see some useful data about them by opening "Multiplexer Info" dialog; Status -> Multiplexer Info.
Here is an example of this dialog for case where HbbTV and MHP applications share the same AIT PID and are running under same service:
When adding an AIT for a carousel, the PMC 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. This can be accomplished by right clicking carousel in the carousel repository and then selecting Edit AIT from the menu. AIT tree can be navigated using UP and DOWN. Levels can be expanded and collapsed using RIGHT and LEFT. Menu can be opened by pressing INSERT and hidden by pressing ESC. Editing Fields Each field in the AIT is shown as . A field can be edited several ways: • Select the field from the tree and press ENTER. • Double-click the field from the tree. • Select the field from the table beside the tree. Regardless the way choose, a dialogue appears that prompts you to give a new value for the field. Additional information, such as proper value ranges for the field, may also be shown. If the value you enter is not within that range, PMC prompts you to enter another value. Adding Loop Items Sometimes it is necessary to add new items to a loop. For example, one could want to add a new parameter to the descriptor dvb_j_application_descriptor, thus wanting to add a new loop item in the loop dvb_j_parameters. To add an item into a loop, you can do any of the following: • In the tree view right click the loop to which you want to add the item and select Add a new item. • In the tree view move the cursor to the loop to which you want to add the item using arrow keys. Press INSERT and select Add a new item. |
<!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> |
Now it is also possible to edit a value of so called "magic-bit". This can be done by editing PMT descriptors of carousel. The Program Map Table Descriptors dialog can be opened from popup menu that is displayed when pressing right hand mouse button for carousel.
The dialog looks like this:
Now the "magic-bit" can be edited by adding an "Application signalling descriptor". That can be done by clicking the right hand mouse button for "PMT stream descriptots" and choosing "Add descriptor" from popup.
The "Select Descriptor" dialog looks like this:
After pressing "OK" you should see this view:
Now you must add an application with popup menu. After that you should see this kind of settings:
The descriptor "test_application_flag" is actually the "magic-bit". The value for this can be set to zero or 1.
The value of this descriptor can be seen with folowing steps:
The information PMT dialog for selected service looks like this: