Our system provides SI/PSI and EIT (DVB standard EPG format) table playout into DVB multiplexers.
The system consists of three main components:
- Central Database and management server (EPG Server)
- SI/PSI playout module (SiNZ SI Inserter)
- EPG playout module (PiNZ EPG Inserter)
EPG manager | EPG server
Central Database and management server
The central core is able to manage and control data flows and playout modules. Local or remote playout modules can be controlled from a simple web interface. All configuration data are stored in XML files, so it's simple to configure via web interface or from 3rd party XML applications.
EPG data (program schedules for TV channels) are also stored on the central server. The import modules are very flexible to import different formats of EPG schedule data. (XML, SQL, Web source)
SI inserter | SI/PSI playout module
We made the playout modules as simple as we could, to secure the maximum stability and availability of the playout streams.
The core code of the playout modules are written in crossplatform C/C++. It's possible to run them on Unix/Windows environments. The preferred operation system is Linux/x86.
The SI/PSI playout module stores the SI/PSI table structures in XML files. Any kind of SI/PSI tables can be defined. Playout can be controlled with a very precise timing, it's possible to schedule SI/PSI caroussels with microsecond accuracy.
The playout output can be an IP/UDP multicast or optionally a DVB/ASI one.
All the playout modules support High Availability option internally.
It's easy to setup a redundant system for maximum availability, without any other 3rd party HA solution.
EPG Inserter | EPG playout module
The EPG playout module is based on the same C/C++ code as the SI/PSI module, so the EPG output streams can be controlled with the same precise timing.
It's also easy to control the bandwidth consumption of the EPG output streams precisely.
The EPG playout module supports the DVB EN300468 standard. Playing out of present/following and scheduled events are supported. Scheduled tables are supported for the full interval the standard allows.
The main goal of the development was to secure stability and maximum availability. We are proud that we have tens of SI/PSI and EPG systems running without a second of problem for more than a year already.
Low system resource usage
For maximum performance we implemented and use software technologies that require minimal system resources. We consider it a key factor of the stability. The server is developed in PHP/MySQL which is a de facto standard in large web sites, and its stability is proven. The playout modules are fully coded in C/C++.
Optimized XML parser
We developed an own XML parser technology optimized for SI/PSI and EPG XML data types. This parser can import to the EPG playout module 10000's of events in just a few seconds, so it's possible to update SI/PSI and EPG streams even in real time!
Redundancy techniques are built into the system to secure high availability. The playout modules send heartbeats on the IP network, so if there is more than one playout hardware on the same network the availability of the full network can be raised. In the normal case a master playout sends a heartbeat on a multicast IP address. One or more slave playout modules can be configured to listen to that address, and if the heartbeat disappears one of the slaves will continue the work.
Each of the 3 components can run on one or more hardware devices. More than one playout hardware can be used on the same network. This makes it possible to build small to large networks.
The central module is able to serve one or more headends. The configuration options can be defined separately for every headend or even for every single playout module.
IP and ASI output
It's possible to use IP/UDP or DVB ASI output. In the IP/UDP mode unicast or multicast is supported. 7 TS packets/UDP or variable sized UDP packets are supported as well. The EPG playout module supports to send PAT/PMT tables besides the EIT tables in a stream. It helps in some cases of multiplexers to be able to receive the EIT stream correctly.
Easy to install
It is very easy to install the whole system. The playout modules are standalone binaries: install and configure them on a server and forget about them. They will periodically get configurations and play out the configured streams.
The playout modules automatically play the output streams based on the last known configuration. If anything happens with the link to the central database they continue their work, and will try to get the updated data when the link is operational again.
All the usual daily maintenance can be done on a web interface. Among others the availability of EPG schedules or the configurations of headend playout modules can be checked. It's possible to control several playout modules from one central server`s web interface.
Although almost everything can be managed from the central web interface, sometimes a remote shell is necessary. We use Secure Shell to manage the system.
Cross platform code
Our system works on almost any hardware and operating system. Unix/Linux is natively supported and recommended, but the system works also in Microsoft Windows environment including the central module or the playout modules.
SI/PSI module features
SI/PSI module can run in standalone mode. Only the SI/PSI data has to be defined in XML format, and the playout can start.
Any type of DVB tables
Any type of DVB table can be defined in the SI/PSI XML configuration files. Special descriptors or private data can be used with precise timing with microsecond accuracy.
VOD and PPV support
SI/PSI tables can be updated via XML technologies in real time, which makes it possible to use the SI/PSI playout module in VOD or PPV systems.
EPG module features
The system supports almost all the EIT descriptors available in the standard. Moreover as it is modular, it is easy to implement other kinds of descriptors at request.
Besides the precisely definable timing of caroussels, other bandwidth management technologies can be used in EPG. Separate timing for p/f and scheduled events can be defined.
Other EIT tables can be used, which makes it possible to define a so called barker channel to send out the data of EPG service of the channels to save bandwidth in other streams.
Cutting off short and extended event text descriptors
A maximum character number can be defined to be used in short or extended event descriptors. The program cuts the input texts to this size automatically.
Multi Language support
EPG tables can be used in multi language networks. Language codes can be defined to make it possible to generate EIT tables with any language code.
The system processes every text data in Unicode format, so any codepage can be used in the EPG data.
A shared channel is a mix of channels, when different datasources are assigned to different time periods of the day. It can be defined in the EPG stream, which channel should be played at the given time.
EPG data can be predefined and repeated automatically for special channels. It is used in NVOD or TVText services where the TV schedules are constant and repeated periodically.
EPG data for special cases, events can be defined. It can be used for example to predefine an event if a TV channel doesn't have schedule for a particular time interval.