DVB/HBBTV Inserter User Guide

The Vizion'R HbbTV injector enables to insert in real time all kind of HbbTV contents (interactive applications, advertisement, quizzes, games etc...) within an existing Transport Stream - SPTS (Single Program Transport Stream) or MPTS (Multiple Program Transport Stream).
inserter_schema
This solution generates and injects HbbTV applications into an exiting TS Stream (SPTS or MPTS) at constant Bitrate, meaning that no overhead is added into the TS stream, so the bitrate of output is strictly equals to the intput bitrate.

Inputs / Outputs

All inputs/outputs can be configured live (without restarting)
  • UDP unicast/multicast
  • Multiple outputs
  • Professional Cards (Dektec) with support for ASI IN/OUT + Modulation (DVB-T/S/C)
  • Option : can get/export data to/from Apple HLS Streams (m3u8)

HBBTV Applications

Great flexibility for deploying HbbTV applications
  • Applications can be shared by several programs
  • A program can declare several applications
  • Support for applications priorities
  • Support for applications control codes
  • Broadband/Broadcast mode supported for applications

Data transmission control

Transmission parameters (repetition period, bitrate) can be set for any inserted data (AIT / Object carousel / Stream Event Descriptors)

Website broadcast (Object carousel)

  • automatic FTP mount to allow remote data providing and update
  • automatic carousel update when carousel files change

Stream events

  • Stream Events are supported in broadcast and/or broadcast mode
  • Stream Events declaration and triggers can be remotely controled (FTP)
While having most features you can find in other solutions, Vizion'R HbbTV Inserter also includes other very innovative technologies...

OS independance

Known to work with the following architectures
  • Windows (32/64 bits - XP/Vista/7/8)
  • Linux (32/64 bits) - Tested under Ubuntu/CentOS 32/64 bits, but should work elsewhere
  • Mac OS X (Snow Leopard and later)

BroadCastBoost Technology

Vizion'R HbbTV Inserter includes a full MPEG2-TS Demux/Mux, meaning we can optimize the output to match the stuffing of the input stream (We call this "BroadCastBoost" technology aka BCB) - it means broadcast files can be send far faster than our competitors (sometimes with a factor > 10x). For more details, see BroadcastBoost detailed information.

AnyDevPush

Use Stream Events for devices others than TVs (Smartphones, Tablets, Web Browsers...) : now you can pilot any web application with Stream Events from broadcast

Ultra low latency

Over UDP, the full latency for the Inserter is ONLY 8 TS packets, Sending a Stream Event for Advertisement for instance has a latency of less than 200 ms

Easy to configure

Very easy to use, full GUI with all features + ability to use simple protocols such as FTP (included) to send/configure stream events or files to broadcast

Safe by default

The Inserter is built with Failsafe Behaviour in mind : if the Inserter does not understand (for instance De-synchronization) something in the input stream, it works safely by not modifying the stream and forwarding it untouched to its outputs
Vizion'R HbbTV Inserter works virtually on any platform supporting a Java Virtual Machine.
It has been tested on the following systems:
  • Windows (32/64 bits - XP/Vista/7/8)
  • Linux (32/64 bits) - Tested under Ubuntu/CentOS 32/64 bits, but should work elsewhere
  • Mac OS X (Snow Leopard and later) (Dektec support not working).

Installation for Windows (Vista/7/8)

Installing on Windows should take around 15 minutes

Install Java JRE or Java JDK 7

If not installed, please install JDK (Java Development Toolkit, version 7) or JRE 7 (Java Runtime, version 7).
WARNING: if you are using a Windows 64 bits OS, be sure to install a 64 bits JVM, otherwise output to Dektec cards won't work (but all other features will).

You can download it from here: http://www.oracle.com/technetwork/java/javase/downloads/index.html.

Install Apache Tomcat 7

You can download it from here: http://tomcat.apache.org/download-70.cgi. The best is to select the version called "32-bit/64-bit Windows Service Installer". You can use all default options to install it.

Install the Dektec Drivers (Optional)

Download the Dektec Drivers from here: http://www.dektec.com/Downloads/DriversSDKs.asp and install it as Administrator (warning for USB Drivers, unplug the Card before installing it).
WARNING: If you have existing drivers for your Dektec Card, be sure to install the latest ones from the Dektec web site.

Update Tomcat Policy

We now suppose you have installed Tomcat 7 in directory C:\Program Files\Apache Software Foundation\Tomcat 7.0\.
Edit the file C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\catalina.policy and add into this file the following lines: grant {
permission java.io.FilePermission "c:/.vizionr/hbbtv/-" "read,write,delete";
};

Install the application into tomcat

Rename the war provided by Vizion'R into file "hbbtv.war", then, copy it in the directory C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\.
You can now Test the application.

Installation instructions for Ubuntu

Installing on a recent Ubuntu should take around 10 minutes.

Install Oracle Java 7

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

Install Tomcat

sudo apt-get install tomcat7

Change Tomcat Settings

Edit /etc/default/tomcat7 and add the line : JAVA_HOME=/usr/lib/jvm/java-7-oracle/ Create a file /etc/tomcat7/policy.d/05vizionr.policy and put the following text:
grant {
permission java.io.FilePermission "/usr/share/tomcat7/.vizionr/-" "read,write,delete";
permission java.io.FilePermission "/usr/share/tomcat7/.vizionr/hbbtv/-" "read,write,delete";
permission java.io.FilePermission "/usr/share/tomcat7/.vizionr/dektec/-" "read,write,delete";
};

Create the directory /usr/share/tomcat7/.vizionr/hbbtv/ (Inserter's inner data):
sudo mkdir -p /usr/share/tomcat7/.vizionr/hbbtv/
sudo chown tomcat7 /usr/share/tomcat7/.vizionr/hbbtv/
sudo chmod u+rwx /usr/share/tomcat7/.vizionr/hbbtv/

And create the directory /usr/share/tomcat7/hbbtv/ (for HbbTV data injection):
sudo mkdir -p /usr/share/tomcat7/hbbtv
sudo chown tomcat7 /usr/share/tomcat7/hbbtv/
sudo chmod u+rwx /usr/share/tomcat7/hbbtv/

Adapting UDP Settings to work with huge UDP Streams

Since HbbTV Inserter will work with huge amount of UDP datagrams, it is better to customize Linux settings to avoid loosing UDP packets.
To change these settings, edit the file /etc/sysctl.conf and add those two lines:
net.core.rmem_max=3145728
net.core.wmem_max=52428

Once the file modified, reboot. With these settings, even on slow computer, you probably won't loose UDP packets.

Install Dektec Drivers (Optional)

Download the Drivers for Linux here: http://www.dektec.com/Products/SDK/LinuxSDK/Downloads/LinuxSDK.tar.gz. We provide a script here that performs all the necessary steps to install the Dektec Drivers for your kernel: install_dkms.sh. Save this script in the directory of LinuxSDK and launch it as root: sudo sh install_dkms.sh

Install Vizion'R HbbTV Inserter application

Copy the war file into directory /var/lib/tomcat7/webapps/ with the following command (be sure to replace VERSION with the version you have): sudo cp vizionr-hbbtv-VERSION-bin.war /var/lib/tomcat7/webapps/hbbtv.war .
Restart tomcat: sudo /etc/init.d/tomcat7 restart.

Test the application

Login Screen
The application should now be accessible at http://localhost:8080/hbbtv/.
You can now login with user: admin and password: admin.
DO NOT FORGET TO CHANGE the password once loggued.

Sending a Test Stream to the application

Using a TS file
If you don't have a running Stream, use our tool TSRestreamer.jar.
To use it: java -jar TSRestreamer.jar 24882000 NTN.ts 127.0.0.1 10001 (24882000 is the bitrate in bps of the TS file you would like to stream, 127.0.0.1 the address of the HbbTV Inserter and 10001 would be the port of the UDP input in the inserter, NTN.ts can be downloaded from our website for testing purposes).
To know the bitrate for given modulation, you can have a look to this table: http://www.szeluhua.com/upload/2010413223427664.pdf.
Using live content from a live DVB stream
If you want to test live, you can directly use tools to broadcast streams to UDP.
For this purpose, you can either use professional cards (Dektec for instance) or even budget cards!
Linux
With Linux for instance, use a Linux-supported DVB device (example: Terratec Cinergy TStick - around 20€) and use the following command: dvbstream -f 506000 8192 -o - | nc -u 127.0.0.1 10002 Where 506000 is the frequency of DVB multiplex and 10002 is the Input port configured in our inserter.
With Windows
Download the tool called DVPiper and Unzip it.
Before starting DVPiper for the first time, you have to register a DLL. It can be done this way: Use the start Menu, find the command prompt into accessories and right click on it "Execute as Administrator". Type "cd " and Drag and drop the directory where DVPiper has been downloaded, then type Enter. The command prompt should be in the DVPiper directory. Simply type "install.bat" and then type ENTER. DVPiper is now ready to work.
Redirecting the output of your DVB Card to the inserter can now be done with the following command (in the command prompt): DVPiper.exe -type DVB-T -frequency 586000 -symbolrate 27500 -bandwidth 8 -command "record(rid(123),send(udp(127.0.0.1,1234)))" Where 586000 is the frequency in kHz, 127.0.0.1 is the address of the HbbTV inserter and 1234 is the UDP port the inserter is listening to.

Status

Status View
This section of the Web Application is the first one you see when you log-in. It displays all information needed about the Input and outputs using user-friendly graphics, and detailed tree information.
With one single view, you can have a quick overview of the health of the mux thanks to green/red lights as well as inspecting advanced params from inputs (PIDs, bitrates...)
Status View (2)
This tab shows the status of the HbbTv Inserter.
The left panel displays the overall inserter state:
  • The Inserter main status details the configuration of the input TS stream:
    • Input/Output connectors of the Inserter,
    • Synchronization status,
    • Description of the DVB programs found in the input stream.
  • For each mounted HbbTv configuration, a matching item presents the insertion state for the target program:
    • Listing of all transmitted HbbTv data (AIT, DSMCC, ...) along with the associated transmission constraints,
    • Reporting of the actual transmission parameters found in the outputted stream (repetition periods and bitrates).
  • When one of the status items shows an error in red, this error status is spread to the top level of the associated status tree to allow fast error detection even if the tree is closed.
Status View - View Details (3)
The right panel draws a pie chart of the bitrate free space in the output signal.
  • For each mounted program configuration in the Inserter, all the transmitted data bitrates are added to obtain the bitrate amount taken by the program.
  • Considering the overall stuffing in the TS stream, the free space is obtained by substracting all the bitrates programs. The knowledge of the free bitrate space can help to adjust transmission parameters of new/existing configurations.

Inputs

Viewing inputs
Edit / Create Inputs
This tab lists all the available inputs for the HbbTv Inserter.
The input defines the connection of the Vizion'R HbbTv Inserter to a source MPTS or SPTS stream.
NB: at most one input can be set for the Inserter.
  • To add a new input:
    • Click on the 'add' button at the left bottom of the page,
    • A dialog then prompts you to select the source connection parameters (protocol, address, port).
      For instance, to create a new UDP source connection:
      • Select 'UDP' in the protocols list box,
      • Type the source UDP address ('127.0.0.1' for example),
      • Type the source UDP port ('12345' for example),
      • Then click OK to add the new input. (Clicking outside from the dialog will cancel the operation)
  • To edit an existing input:
    • Click on the 'Edit' button on the left of the input entry,
    • A dialog will present the current parameters of the source, allowing you to change any of them,
    • Then click OK to modify the input. (Clicking outside from the dialog will cancel the operation)
  • To activate an input:
    • Click the radio button on the left of the input entry,
    • Then this input becomes the single input of the Inserter (all the other declared inputs become unselected).
  • To remove an input:
    • Click on the 'Remove' button on the right of the input entry,
    • Note that this removal cannot be undone.

Outputs

Viewing Outputs Creating / Editing Outputs
This tab lists all the available outputs for the HbbTv Inserter.
In this software version, at most one output can be set for the HbbTv Inserter.
The output connection defines where the modified stream (after HbbTv signalling and data insertion) is redirected to.
  • To add a new output:
    • Click on the 'add' button at the left bottom of the page
    • A dialog then prompts you to select the output connection parameters (protocol, address, port).
      For instance, to create a new UDP output:
      • Select 'UDP' in the protocols list box,
      • Type the source UDP address ('127.0.0.1' for example),
      • Type the source UDP port ('23456' for example),
      • Click OK to add the new output. (Clicking outside the dialog box will cancel the operation).
  • To edit an existing output:
    • Click on the 'Edit' button on the left of the output entry,
    • A dialog will present the current parameters of the output, allowing you to change any of them,
    • Click OK to confirm. (Click outside the dialog box will cancel operation)
  • To activate an output:
    • Click the checkbox button on the left of the output entry.
    • Then this output becomes an new output of the Inserter.
  • To remove an output:
    • Click on the 'Remove' button on the right of the output entry,
    • Note that this removal cannot be undone.

Programs

Programs View
This tabs lists all programs HbbTv configurations declared.
An HbbTv program configuration defines all the HbbTv application data to be transmitted to a target program.
This tab lists all those configurations, along with some specifications:
  • The program Number attached to an HbbTv configuration stands for the program number (in PAT) fits with the source MPTS/SPTS stream.
  • The Configuration Name is a human-readable label for the HbbTv configuration attached to this program.
  • An HbbTv configuration can be activated on the Inserter.
    • When a configuration is activated, all the associated parameters are transmitted to the Inserter to start performing HbbTv insertion.
    • When a configuration is unmounted, the Inserter stops all insertion operations on this program.
    • A program can be mounted even if not present in the source stream. In this case, no synchronization can be performed by the Inserter for this program, so the mount operation has no effect. Nevertheless, whenever the program appears in the source stream, the Inserter will start performing insertion when synchronized on the program.
  • The present flag states whether the program attached to the configuration is present in the input stream.
  • The status flag indicates the sanity of the Insertion process for this program. If the program is flagged as wrong, you can get details in the status tab.
  • To add a new program HbbTv configuration:
    • Click on the 'Add' button at the left bottom of the page.
    • A dialog then prompts you to set the program number:
      • Either by providing directly (if known) the number of the target program in the source stream.
      • Or by choosing one of the listed programs found by the Inserter in the source stream.
    • Then click on the 'Add program' button to terminate. A new program configuration will then be added to the list of declared configurations.
  • To edit an existing program configuration:
    • Activate the hyperlink on the configuration Name,
    • The tab view will then switch to allow you modify the configuration parameters.
  • To remove a program configuration:
    • Click on the 'Remove' button on the left of the configuration entry.
    • Then the configuration will be removed from the list.
    • Note that this removal cannot be undone.

Adding new Programs

Adding a new Program
Adding new programs is really easy: Vizion'R HbbTV Inserter automatically finds the program identifiers and channel names. However, you still can add manually a program by specifying its program number. In that case, if the program does not exist in current Mux, it will be ignored, but if you change to another input stream containing this specific Program Number, it will be mounted automatically.

Program configuration

Detailed View of a Program (1)
Detailed View of a Program (2)
An HbbTv Program configuration defines a list of HbbTv applications to be inserted for a given program.
  • A program configuration can be mounted to (or unmounted from) the HbbTv Inserter by switching the state of the 'Mount configuration' checkbox
  • You can set or change the configuration name with the dedicated 'Name' text feld
  • The 'Applications' section lists all the transmitted HbbTv applications (Those applications are declared in the 'Applications' tab):
    • To add a new application transmission:
      • Select one of the available HbbTv applications in the bottom list, then click on the 'Add' button.
      • A new application transmission configuration will be added to the list of declared transmission.
    • To edit an application transmission:
      • You can configure an HbbTv application transmission configuration by setting every parameters presented in the configuration line for the application:
        • The application own data can be modified by activating the hyperlink on the 'Application Name' column
        • The 'Autostart' flags indicates the HbbTv application signalled status. an autostart HbbTv application automatically shows up on the TV screen when loaded. It is recommended to set only one application as Autostart for a given program.
        • The 'Declare broadband' flag tells whether the application broadband URL (if present) must be signalled in the Application Information Table for the application.
        • The 'Declare Broadcast' flag tells whether the DSMCC component for application broadcasted data (if present) must be signalled for the program (in Program Map Table).
        • The 'Transmit Broadcast' flag tells whether the application broadcast data (if present) must be transmitted.
        • You can configure the AIT (Application Information Table) and DSMCC (broadcasted files) transmissions parameters by setting:
          • The TS PID on which data is transmitted,
          • The Transmission Constraints for the data, either defined as a fixed bitrate or a fixed repetition period value.
    • To remove an application transmission:
      • Click the 'Remove' button on the left of the application transmission entry.
    • To validate all changes for the program configuration, click the 'Save' button at the bottom of the page.

Applications

List of applications
Adding a new application in the list of applications
This tab lists all declared HbbTv applications.
An HbbTv application can be used or shared by several programs.
  • To declare a new HbbTv application:
    • Click on 'Add' button at the bottom of the page,
    • A dialog will prompt you for the name of the application,
    • Click on 'Add application' button to finish,.
    • A new HbbTv application will be added to the list of declared applications. You can then click on the application name hyperlink to edit its parameters.
  • To edit an existing HbbTv application:
    • Click on the application name hyperlink,
    • A configuration page will enable the application parameters configuration.
  • To remove an HbbTv application:
    • Click on the 'Remove' button on the left of the application entry in the list.
    • Note that this removal cannot be undone..

Application configuration

Modifying HbbTV Application Parameters
Modifying HbbTV Application Organization ID
An HbbTv Application defines the HbbTv data that can be inserted for one or more program,
  • either in Broadband mode: signalling of a web portal URL in an Application Information Table
  • and/or in Broadcast mode: transmission of a file system in a DSMCC Object Carousel.

The configuration of an HbbTv application is as follows :
  • Application General Setting:
    • The Application Name is a label for the application
    • The Organization and Application ids can be defined by user or broadcaster,
    • The Entry Point defines the application first file to be displayed by the HbbTv receiver (index.html, for instance). This file can be accessed by the receiver either by the broadcasted files or by the broadband signalling.
  • Application Broadband Setting:
    • The Brodband URL defines the remote link to access the application entry point. This link should point to the web directory which contains the entry point.
    • A check box allows to set/remove the broadband signalling of the application. If unset, the Broadband URL will not be transmitted in the Application Information Table.
  • Application Broadcast Setting:
    • The Local Directory defines the folder, on the server machine that runs the HbbTv Inserter, where files to be broadcasted are stored. When broadcast is enabled, the HbbTv Inserter will listen for changes in this folder to regenerate the DSMCC Object Carousel.
    • A check box allows to set/remove the broadcast signalling of the application. If unset, no data will be broadcasted for this application.
    • The Component Tag must only identify the application DSMCC component within the transport stream. The value must lie between 0 and 255
    • The Carousel ID identifies the download signalisation messages for the application, and should be unique for an application transmission within a program.
    • You can automatically bind an FTP account to the defined broadcast directory. This way, broadcast files can be sent by a third part provider.
  • To validate all changes for the application configuration, click the 'Save' button at the bottom of the page

Some features described here are not present in the Trial Version of HbbTV Inserter, contact us for more details.

Stream Events

Stream Events are declared in the broadcast channel.
You have to activate the FTP feature in order to create and trigger the Stream Events.
By uploading a .event file, you can describe the supported Stream Events. Once declared, Stream Events will be automatically updated by putting a file with same name but with the .trigger extension instead. Thus, all all this can be achived using plain FTP without complicated interface. Stream Events are sent both for Broadband and Brodcast content. The latency beteen the trigger and its sending in the TS stream should be less than 200ms in normal conditions.

Declaring and triggering stream events

Vizion'R HbbTV Inserter allows declaration of streamEvents into a DSMCC Object Carousel and triggering of thoses events in Broadband and/or Broadcast mode.
To enable stream events for an application:
  1. Go to the configuration of an application
  2. Enable Broadcast for the application (checkBox in 'Broadcast' section)
  3. An injection folder will be automatically created for the Object Carousel of the application. You can also activate FTP to enable remote updates of the object carousel
  4. Specify (or use default ones) names patterns for the StreamEvents declaration and trigger files.
Then, every file posted in the injection folder, and matching the StreamEvents declaration/trigger patterns, will be automatically handled as StreamEvent data.

Declaration of a StreamEvent

The expected format for a StreamEvent declaration file is as follows if you want to declare a StreamEvent named 'event1' with ID '1':
<?xml version="1.0" encoding="UTF-8"?> <dsmcc xmlns="urn:dvb:mis:dsmcc:2009">
 <dsmcc_object>
  <stream_event stream_event_id="1" stream_event_name="event1" />
 </dsmcc_object>
</dsmcc>

The name given to the file will be used to transmit the StreamEvent object into the Object carousel.

Trigger a StreamEvent

The expected format for a StreamEvent trigger file is as follows if you want to trigger the message 'VALUE FOR EVENT 1' for the StreamEvent with ID '1':
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<triggers>
 <trigger stream_event_id="1">VALUE FOR STREAM EVENT 1</trigger>
</triggers>

The StreamEvent will be broadcasted as a 'do it now' event

Listening for a StreamEvent trigger from a HbbTv application

In Broadcast environment, you can register callbacks for a StreamEvent by making this call on your video object:
video.addStreamEventListener("/myEvent.streamEvents", "event1", CALLBACK);
Where:
  • 'myEvent.streamEvents' is the name of the StreamEvent declaration file
  • 'event1' is the name of the event
In Broadband environment, you must use a DVB URI to access the object carousel that holds the StreamEvent. You can get this URI by clicking the hyperlink named 'Get DVB URL for StreamEvents' in the application transmission of a program. Then the callback is registered this way:
video.addStreamEventListener("dvb://20fa.2.206.3/myEvent.streamEvents", "event1", CALLBACK);
Where:
  • 'dvb://20fa.2.206.3/' is the URI prefix given by the inserter when clicking the hyperlink
  • 'myEvent.streamEvents' is the name of the StreamEvent declaration file
  • 'event1' is the name of the event

AnyDevPush

AnyDevPush is a technology developped by Vizion'R to use Stream Events with all devices (Tablets, Smartphones, Web Browsers), that let you use Stream Events for any Web Device in the same way as HbbTV Stream Events. In that case, latency is around 1s. Contact us for more details.

WebServices

An interface for WebServices can be used for controlling and monitoring the Inserter. It can let you change all parameters of the Application "Live" from any third party application:
  • Starting / Stopping application transmissions
  • Getting status information
  • ...
Contact us for more details.

BroadCastBoost

BroadcastBoost technology is developped by Vizion'R in order to deliver at the most optimized rate the DSMCC files over the Network. Files broadcasted thru DSMCC can now be delivered at a very very fast rate, sometimes 10x the speed of conventional DSMCC inserters.

How does it works ?

BroadcastBoost uses all the stuffing available in order to fill the mux at maximum bitrate all the time. Since HbbTV Inserter works a Broadcaster level, it can optimize the delivery in real time to use all the stuffing available in real time.

Broadcast Boost Use case

With traditionnal delivery, HbbTV insertion is done at constant bitrate. Of course, it can work with Vizion'R Inserter. But the best strategy is to enable BroadcastBoost on some HbbTV Applications. Don't waste bandwidth, it is so precious and expensive!

Let's take a DVB-T Constant Bitrate Multiplex of 24Mbps with 5 channels with 150 kbps of Constant Bitrate of HbbTV DSMCC data. On such Multiplexes, it is not uncommon to have more than 1.5Mbps of Stuffing (data not used by any channel). BroadcastBoost let you use all of the space available to perform HbbTV insertion.

Instead of having 5 applications with 150 kbps, you can have 5 channels with up to 600kbps! Files will be delivered 4 times faster, without changing anything except using BroadcastBoost Technology!

Real Life Example: The full application is around 900kBytes.

Size of app Stuffing Delivery DSMCC bandwidth (kbps) Display time in secs
(kBytes) (Mbps) Mode normalstuffing MinMaxSpeedup
900k bytes * Classic 150N/A 4896  
1.5 BroadcastBoost 150+300 1632 3 times faster!
3.0 BroadcastBoost 150+600 1020 5 times faster!

Of course, it is possible to select the applications that will use Broadcast Boost, so, by selecting only one single application to User BroadcastBoost, you may use the whole stuffing for one single application, meaning loading times close to 4 seconds!

Very interresting Use-cases

You are a Satellite Operator with an average 2Mbps of stuffing, there are some existing HbbTV channels and you want to broadcast your own HbbTV Application. Use BroadcastBoost for your own application, it will fill your whole stuffing automatically, so your average bandwidth for HbbTV will be 2Mbps... ideal for real enhanced User experience!

Options that may be activated if you need it

  • Support for hardware Dektec cards (Input/Output)
  • SNMP Traps Monitoring
  • Input / Ouput to HLS (Streaming for iOS and Android devices)
Vizion'R HbbTV Inserter works virtually on any platform supporting a Java Virtual Machine.
It has been tested on the following systems:
  • Windows (32/64 bits - XP/Vista/7/8)
  • Linux (32/64 bits) - Tested under Ubuntu/CentOS 32/64 bits, but should work elsewhere
  • Mac OS X (Snow Leopard and later) (Dektec support not working).

Installation for Windows (Vista/7/8)

Installing on Windows should take around 15 minutes

Install Java JRE or Java JDK 7

If not installed, please install JDK (Java Development Toolkit, version 7) or JRE 7 (Java Runtime, version 7).
You can download it from here: http://www.oracle.com/technetwork/java/javase/downloads/index.html.

Install Apache Tomcat 7

You can download it from here: http://tomcat.apache.org/download-70.cgi. The best is to select the version called "32-bit/64-bit Windows Service Installer". You can use all default options to install it.

Update Tomcat Policy

We now suppose you have installed Tomcat 7 in directory C:\Program Files\Apache Software Foundation\Tomcat 7.0\.
Edit the file C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf and add into this file the following lines: grant {
permission java.io.FilePermission "c:/.vizionr/hbbtv/-" "read,write,delete";
};

Install the application into tomcat

Rename the war provided by Vizion'R into file "hbbtv.war", then, copy it into C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\.
You can now Test the application.

Installation instructions for Ubuntu

Installing on a recent Ubuntu should take around 10 minutes.

Install Oracle Java 7

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

Install Tomcat

sudo apt-get install tomcat7

Change Tomcat Settings

Edit /etc/default/tomcat7 and add the line : JAVA_HOME=/usr/lib/jvm/java-7-oracle/ Create a file /etc/tomcat7/policy.d/05vizionr.policy and put the following text:
grant {
permission java.io.FilePermission "/usr/share/tomcat7/.vizionr/hbbtv/-" "read,write,delete";
};

Create the directory /usr/share/tomcat7/.vizionr/hbbtv/ (Inserter's inner data):
sudo mkdir -p /usr/share/tomcat7/.vizionr/hbbtv/
sudo chown tomcat7 /usr/share/tomcat7/.vizionr/hbbtv/
sudo chmod u+rwx /usr/share/tomcat7/.vizionr/hbbtv/

And create the directory /usr/share/tomcat7/hbbtv/ (for HbbTV data injection):
sudo mkdir -p /usr/share/tomcat7/hbbtv
sudo chown tomcat7 /usr/share/tomcat7/hbbtv/
sudo chmod u+rwx /usr/share/tomcat7/hbbtv/

Adapting UDP Settings to work with huge UDP Streams

Since HbbTV Inserter will work with huge amount of UDP datagrams, it is better to customize Linux settings to avoid loosing UDP packets.
To change these settings, edit the file /etc/sysctl.conf and add those two lines:
net.core.rmem_max=3145728
net.core.wmem_max=52428

Once the file modified, reboot. With these settings, even on slow computer, you probably won't loose UDP packets.

Install Vizion'R HbbTV Inserter application

Copy the war file into /var/lib/tomcat7/webapps/hbbtv.war.
Restart tomcat: sudo /etc/init.d/tomcat7 restart.

Test the application

Login Screen
The application should now be accessible at http://localhost:8080/hbbtv/.
You can now login with user: admin and password: admin.
DO NOT FORGET TO CHANGE the password once loggued.

Sending a Test Stream to the application

Using a TS file
If you don't have a running Stream, use our tool TSRestreamer.jar.
To use it: java -jar TSRestreamer.jar 24880000 NTN.ts 127.0.0.1 10001 (24880000 is the bitrate in bps of the TS file you would like to stream, 127.0.0.1 the address of the HbbTV Inserter and 10001 would be the port of the UDP input in the inserter, NTN.ts can be downloaded from our website for testing purposes).
To know the bitrate for given modulation, you can have a look to this table: http://www.szeluhua.com/upload/2010413223427664.pdf.
Using live content from a live DVB stream
If you want to test live, you can directly use tools to broadcast streams to UDP.
For this purpose, you can either use professional cards (Dektec for instance) or even budget cards!
With Linux for instance, use a Linux-supported DVB device (example: Terratec Cinergy TStick - around 20€) and use the following command: dvbstream -f 506000 8192 -o - | nc -u 127.0.0.1 10002 Where 506000 is the frequency of DVB multiplex and 10002 is the Input port configured in our inserter.

Interested with MPEG2-TS / HbbTV technologies?

You can also try our MPEG2-TS Analyzers:
  • Pandora MPEG2-TS HbbTV Analyser: Free Trial from our Web Page. Monitor your MPEG2-TS streams (UDP, HW Dektec Cards, DVB USB Sticks, Files, Apple HLS / Android / iOS), and debug any data whithin! Many HbbTV features included, including retriving data sent in Broadband and Stream Events!
  • Pandora Headless : MPEG2-TS Analyzer with advanced reporting features (contact us), SNMP support and more. It can monitor some metrics about your streams (A/V, HbbTV, subtitles, EIT... whatever) and generate alerts and logs when conditions are not fulfilled. Bonus, it works on: USB DVB Card, UDP, Apple HLS (Android and iOS) and files!

FAQ

How to access HbbTV broadcasted files?
Vizion'R HbbTV Inserter embeds a FTP server. Each application has its own directory with its own password (The feature can be enable/disabled per application). So, you can grant rights to different people. If you prefer, you still can use your own way of accessing files (WebDav, CIFS...), just setup the service on the server running the Inserter.
I don't want to run Tomcat
It has been tested on Jetty as well and should work with any WAR compliant server. If you cannot make it work, contact us.
Is there a trial version?
Yes, we offer a trial version for free, this version will only work for a few weeks however. Contact us for more details
What about performance?
Our Inserter is carefully Optimized by our teams, it will run smoothly and realtime even on low hardware (for instance, it runs smoothly on mid-range laptops from 2006). The global latency of the application is 8 TS Packets in UDP mode.
Pricing?
We are affordable. Contact us

Glossary

  • AIT: Application Information Table
  • API: Application Programming Interface
  • BCB: BroadCastBoost
  • DSMCC: Digital Storage Media Command and Control
  • DVB: Digital Video Broadcasting
  • FTP: File Transfer Protocol
  • HBB: Hybrid Broadcast Broadband
  • HLS: HTTP Live Streaming
  • MPEG: Moving Picture Experts Group
  • MPEG2TS: MPEG Transport Stream
  • MPTS: Multi Programs Transport Stream
  • PID: Packet Identifier
  • PMT: Program Map Table
  • UDP: User Datagram Protocol
  • SNMP: Simple Network Management Protocol
  • SPTS: Simple Program Transport Stream