Let's meet in person at IBC 2024 on RAI, Amsterdam from 13.-16. September.
IBC

Fundamentals

flowchart

EPG workflow

The job of generating a suitable EIT stream, the EPG workflow, can be divided into individual tasks. Each of these tasks is performed by a separate module. The behavior of these modules depends on the configuration which is defined in the scheme file. Maintenance, control and monitoring of the the system can be done either through the Web interface or via the Command shell.

Configuration

The configuration defines the behavior of the system and adapts it to the environment. As there are quite a number of parameters to be defined, a spreadsheet seems to be the most handsome way to organize them.

Web interface

A picture is indeed worth a thousand words, and clicking symbols in a web interface is often more intuitive than using cryptic commands in the shell. To facilitate this, cherryEPG provides a web interface that simplifies mastering the system.

Command shell

Administrative tasks on the system are performed using a command line tool, designed to make simple tasks easy and complex ones feasible. It is used by beginners and advanced users.

Grabber

The first process in the EPG workflow is to get the service schedule data. Typically, the content provider should provide this information, but in practice there are other sources. There are usually companies that obtain this information from various sources and then sell it to network operators.

Ingester

Upon acquiring schedule data files for each service, the files must undergo processing to extract the desired event data. This information is stored in a database for later use, a process called ingesting. Given the variety of file formats describing event data, cherryEPG incorporates multiple parsers capable of reading these files and extracting relevant information.

Builder

The builder operates at regular intervals, processing schedule data in the database and generating the desired Event Information Tables. These tables are organized into segments/sections and packaged into a transport stream - forming a chunk.

Carousel

Finally, the prepared chunk must continuously play in an endless loop, commonly referred to as a carousel. In the event of an update in the EIT, the carousel replaces the currently played tables with the updated ones seamlessly. This exchange appears invisible to the multiplexer.