Introduction
Usually, in TV / OTT services, the EPG data is received from the 3rd party EPG sources, which are either commercial EPG data providers or then technical solutions like Icareus EPG Playout server extracting the EPG data from DVB transport stream.
There are multiple commercial EPG data providers in market aggregating hundreds or even thousand of channels' data, but also many TV broadcasters can provide own channels’ EPG data. The most common data format is some sort of XML like XMLTV. Icareus can currently support over 10 different XML input formats, but if your source is not currently supported, we can implement the new XML parser in 1-2 days.
The EPG data source can be different for each channel.
CONFIGURATION
There are three fields to configure for each channel's EPG data source:
#
|
Field
|
Description
|
Mandatory
|
1
|
DATA SOURCE PARSE
|
This is the selection of XML data source parser that is used for the channel data
|
Yes
|
2
|
SOURCE PATH
|
URL for the data location OR path to the directory under FTP account
|
Yes
|
3
|
CRON EXPRESSION
|
Defines how often the data is updated and when, e.g. "0 0 0 1/1 * ? *" or "0 15 6 ? * *".
|
Yes
|
After configuring the EPG Sorce, push 'Save' button.
CRON EXPRESSIONS
Notice that you should not configure the server to update the EPG data too often, as managing updating the high loads of EPG data requires a lot of processing power from the servers.
Here are few example Cron expressions:
CRON EXPRESSION
|
Starts updating
|
0 0 12 * * ?
|
12 pm (noon) every day
|
0 15 10 ? * *
|
10:15 am every day
|
0 0 12 1/5 * ?
|
12 pm (noon) every 5 days every month, starting on the first day of the month
|
0 15 10 15 * ?
|
10:15 am on the 15th day of every month
|
EPG SOURCES
ICAREUS EPG PLAYLIST PARSER
This parser is a special case which enables admins to automatically create and run playlists based on EPG data file. These playlists can have the feature of running assets as well as live streams interchangeably according to the EPG schedule provided in the file.
|
Warning
This playlist feature will not work properly unless all assets included in the data file have correct presets available.
Also if there is live playback included in EPG data then please make sure that there is valid live stream going to the streaming server
|
Field/Column names:
title: String
description: String
date: yyyy-MM-dd (e.g. 20160829)
time: HH:mm (e.g. 13:27, must be 24hr format)
duration: number (seconds)
language: language code (e.g. en, fi, fr, es)
asset: ID of Suite asset ( Note: If left as 0, the item will be assumed to play the incoming live stream for that channel)
default: This assetId will be used as "filler" item when there is a gap in the data
channel: ID of Suite channel
offset: Time offset (number, e.g. 3 for GMT+3, -2 for GMT-2)
|
Important
1) If there is a gap between the times then it is filled by the value of default ID and that asset is played for the gap duration.
2) Duration will always take precedence over time
3) The durations of all assets (regular and default) should be such that they can be played for the specified durations.
|
An excel file with the above column names and number of needed rows with the above data should be saved as excel CSV (comma separated values) .
EXAMPLE
Upload the EPG file (saved as csv) to the provided SFTP account.
|
Remember
Please remember to create a separate folder for each channel in the epg data folder under SFTP account. E.g. if Channel name is "test" and EPG data folder in account is "epg_data", please create a folder called "test" under "epg_data" and then put the EPG data file under test.
|
VTV PARSER
EPG source file for VTV Parser should be in tab delimited .txt (can be saved as via Excel) with file encoding as "UTF-16LE" (Use a text editor to change file encoding).
Fields:
ID start-time duration1 Name Short Description Start date Duration Start time
File formats:
start-time: yyyy-MM-ddTHH:mm:ssZ (Note that HH means 24hr format, "hh" means 12hr format)
duration1: number (seconds)
Name: string
Short Description: string
Start date: dd/MM/yy
Duration: number (minutes)
Start time: HH:mm
DESCRIPTION
When making from excel (xlsx), note the correct order and formatting of columns (above).
Once that is done, save the file “as tab delimited .txt” file. This option is available in “Save As” mode in latest excels.
Once the file is saved as .txt, open it in notepad++ (Windows) or TextWrangler (Mac) and again “Save As”, in this mode change the file encoding to "UTF-16LE" and save.
NOTES
Above the fields there is (check in example):
Service Id <ChannelID>
GMT
Language Code en
The channelID value should be same as "Original Service ID" of the Linear Channel in Suite as shown in below image
Example In Excel
FINAL OUTPUT (WHEN SAVED AS "TAB DELIMITED .TXT" FROM EXCEL)
Note that the date format of "Start date" in the final output(txt) is changed to "dd/MM/yy", this is the correct format. If excel does not automatically change it to "dd/MM/yy" while saving as txt then put "dd/mm/yy" as the Start data column format in excel
XMLTV PARSER
INTRODUCTION
XMLTV DTD
This is an example of xmltv format.
<?xml version= "1.0" encoding= "utf-8" ?>
<\!DOCTYPE tv SYSTEM "xmltv.dtd" >
<tv>
<programme start= "201210050032 \+0100" stop= "201210050128 \+0100" channel= "penthouse1hd.epg.electra.hr" >
<title lang= "en" >Lov na losose u Jemenu</title>
<sub-title lang= "en" >Salmon Fishing in the Yemen</sub-title>
<desc lang= "en" >Nakon &# 353 ;to se njezino prvo seksualno iskustvo pretvori u poku&# 353 ;aj silovanja, 17 -godi&# 353 ;nja Lana (Iskra Jirsak) bje&# 382 ;i od momka Igora (&# 381 ;ivko Ano&# 269 ;i&# 263 \;). U no&# 263 ;nom klubu susre&# 263 ;e vr&# 353 ;njakinju Irenu (Nika Mi&# 353 ;kovi&# 263 \;), problemati&# 269 ;nu curu u potrazi za drogom. Niz okolnosti, od policijske racije nadalje, spaja Lanu i Irenu u lutanju kroz zagreba&# 269 ;ku no&# 263 ;...</desc>
<rating>
<value> 15 </value>
</rating>
</programme>
</tv>
'start' and 'stop' attributes should present the local time with timezone.
format is YYYYMMDDhhmmss +hhmm (e.g. 19880523083000 +0300) where timezone is +3
XTREAM CODES EPG PARSER
This parser can fetch EPG data from any Xtream Codes server where EPG data is configured and available.
XTREAM CODES SERVER CONFIGURATION
For the parser to work, the following items should be checked on the Xtream Codes server configuration:
Valid EPG sources should be configured and assigned to streams
If Catch-Up feature is needed, the "TV Archive" option for the stream should be set to "1" and corresponding duration (in days) of storing recorded data should be set. Icareus Suite will automatically read these settings and create catch-up items if enabled.
Please make sure to set the stream name in Xtream Codes server exactly same as the corresponding channel name in Icareus Suite.
EPG SOURCE CONFIGURATION
The Xtream Codes EPG parser is a URL-source based parser that fetches data from an Xtream Codes server instance.
The data source parser type to select is "XtreamCodesEPGParser"
The source path to enter is:
Example
CATCH-UP
If catch-up(TV archive) was enabled(=1) on the Xtream Codes server stream then Icareus Suite will automatically create and assign catch-up items to corresponding EPG events. The amount of EPG data stored will be no older than 14 days (default) but the availability of catch-up items will be for the number of days set for "TV archive" field.
Example:
If catch-up is enabled for 2 days, the catch-up items will only be available for EPG events no older than 2 days. But the EPG data will still be available till 14 days in the past.