Configuration settings for cherryEPG can be divided in two categories.

  • settings related to services and EPG output. These settings depend on the program scheme of the DVB network. Inside cherryEPG these settings are therefore referenced as scheme.
  • all other settings which specify the behavior of the software. These settings are grouped together as config.

Let’s take a close look on both categories.

All configuration of cherryEPG must to be done as cherryepg user. \
The main tool for this is cherryTool. You can get an overview of all functionalities by running cherryTool -h which lists all command line options.

The scheme

Our experience from multiple DVB cable, terrestrial or satellite networks is, that most administrators are organizing their systems in a spreadsheet. There they define service name, service_id, network_id, transport_stream_id, which service are on which carrier etc. When configuring devices in their head-end they have to copy or re-type those data to these device. In practice this is very time consuming and fault sensitive. How many times it happens that a typo caused incorrect operation of the system.

In cherryEPG we decided for a different approach. We take this spreadsheet data file and extract the required properties. To be able to extract information from a spreadsheet file the data must be organized in a specific predefined structure.

Sample scheme for download
  • sample.xls (12 kB)
  • Customize the sample scheme to your needs and upload the file to the cherryepg user home directory /var/lib/cherryepg/

    You can also use the webinterface to upload and activate your scheme. You can read more here

    This can be done with any SCP/SFTP tool.

    WinSCP is a very handy tool for such tasks.

    For applying a scheme the data has to be extracted and converted into an other format. This is done during a conversion step in which the .xls file is converted into an .yaml file. Run

    cherryTool -c myscheme.xls

    Now the converted scheme has to be applied - loaded into the system. \
    This is done with

    cherryTool -L myscheme.yaml

    during this step all existing service data will be lost, therefore you will receive a warning.\
    Now the scheme is applied and the system is already running according to the new setting. Service grabbing and ingesting is done according to the schedule defined in the .xls file.

    If you want to force an immediate ingest, run the process of grabbing and ingesting manually

    cherryTool -G all

    The output of cherryEPG is updated every minute, but even this can be forced

    cherryTool -B

    Take a look at the cronjob file /etc/cron.d/cherrepg to see what tasks are running automatically in the background.

    Structure of scheme configuration

    The scheme file consists of 3 sheets which have to be named

    • SERVICE - Contains a list of services with transport stream - TSID, service ID - SID, original network ID - ONID.
    • EIT - Contains configuration of the output streams.
    • CONF - optional - general scheme settings
      • NOMESH - disable generation of full meshed EIT outputs stream (only events of actual services will be present in output stream)
      • XSID - allow different services to have same service ID, whereby a different combination of TSID and ONID is assumed.

    The config

    The configuration file config.yaml located in the home directory of the cherryepg user defines the behavior of the software. This is only for advanced user and doesn’t need to be changed.