Inhaltsverzeichnis

Epgd

Der VDR-EPG-Daemon holt den EPG von externen EPG-Quellen und speichert die Daten in einer mySQL Datenbank.
Eine WEbgui ist erreichbar unter der Adresse http://<IP_OR_HOSTNAME>:9999/

Kanäle hinzufügen

Mit folgendem Befehl lassen sich Kanäle der eigenen channels.conf anzeigen.

epgd-ls-channelids /etc/vdr/channels.conf

Ausgabe:

S19.2E-1-1019-10301 // Das Erste HD
S19.2E-1-1011-11110 // ZDF HD
S19.2E-1-1021-28336 // WDR HD Dortmund
S19.2E-1-1089-12003 // RTL Television
...

Die Ausgabe muss noch angepasst werden, damit die Zeile in der /etc/epgd/channelmap.conf dann so aussieht:

epgdata:71 = S19.2E-1-1019-10301  // Das Erste HD epgdata
// vdr:000:0:0 = S19.2E-1-1019-10301    // Das Erste HD
epgdata:37 = S19.2E-1-1011-11110        // ZDF HD
epgdata:194 = S19.2E-1-1025-10331       // PHOENIX HD
epgdata:56 = S19.2E-1-1010-11150        // 3sat HD
epgdata:58 = S19.2E-1-1019-10302        // arte HD
vdr:000:0:0 = S19.2E-1-1107-17502       // kabel eins
vdr:000:0:0 = S19.2E-1-1089-12060       // VOX

Das Format in der channelmap.conf ist folgendes:

// Format:
//  <source>:<extid>[:<merge>[:<vps>]] = <cid1>[,<cid2>[,<cid3>]]
//
//
// <source>   'vdr' or the source name provided by a plugin
// <extid>    000 for vdr or the channle id used by the external EPG provider
// <merge>    Merge DVB and externel EPG for this channel
//            { 0, 1, 2 } (default 1, the default for source 'vdr' is 0)
// <vps>      { y, Y, n, N, 0, 1 } (default 0)
// <cid>      VDR ChannelID (Src-NID-TID-SID)

Die channels.conf vom VDR hat folgendes Format:

/ Beispiel aus der VDR channels.conf für verschiedene Empfangsquellen
// Name         Frequenz        Parameter               Signalquelle    Symbolrate      VPID    APID            TPID    CAID    SID     NID     TID     RID
// ZDF          11954           hC34                    S19.2E          27500           110     120,121;125     130     0       28006   0       0       0
// Das Erste    522000          I0C23D0M16B8T8G8Y0      T               27500           1401    1402    1404    1       14      0       0       0
// NDR FS HH    402000          C0M64                   C               6900            2401    2402    2404    0       28225   1       1073    16387
// pvrinput K10 210250          C45                     C               0               301     300     305     A1      28106   0       0       0

// Beispielzeile aus channels.conf für Satellitenempfang für "Das Erste HD"
//
// Name ---- 
//         |                                                                                                                    TID ---  
//         |                                                                                                                           |
//         |                                                                                                                NID ---    |
//         |                                                                                                                        |  |
//         |                          SRC ---                                                                            SID ---    |  |
//         |                                 |                                                                                  |   |  |
//         |                                 |                                                                                  |   |  |
//    Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0

EPG auf Konsole

Ausgeben des EPG für einen Kanal

svdrpsend lste <KANALNUMMER>

EPG vom VDR leeren

svdrpsend CLRE

Neuen EPG einlesen (kann etwas dauern)

svdrpsend SCAN

MySQL Tabellen leeren

Wenn der EPG nicht stimmt und die WebGUI falsche Daten ausgibt, kann man die Datenbank mit folgendem Befehl leeren.

epgd-dropall

Vorher sollte man diese Tabellen sichern um nicht alles zu verlieren.

mysqldump epg2vdr channelmap parameters timers timersdone users vdrs > epg2vdr_backup.sql

Das Backup kann dann so wiederhergestellt werden.

mysql -u root -p epg2vdr < epg2vdr_backup.sql

Zuletzt noch den „epglv“ erstellen und einen Scan der EPG Daten am VDR durchführen.

epgd-import-epglv
svdrpsend scan

Eigene channelmap.conf

//
// ChannelMap for EPG Daemon
// --------------------------
//
// Format:
//  <source>:<extid>[:<merge>[:<vps>]] = <cid1>[,<cid2>[,<cid3>]]
//
//
// <source>   'vdr' or the source name provided by a plugin
// <extid>    000 for vdr or the channle id used by the external EPG provider
// <merge>    Merge DVB and externel EPG for this channel
//            { 0, 1, 2 } (default 1, the default for source 'vdr' is 0)
// <vps>      { y, Y, n, N, 0, 1 } (default 0)
// <cid>      VDR ChannelID (Src-NID-TID-SID)

//
// channels not listed here will not touched by the plugin
//  if 'blacklist' in plugin options set to 'yes' the plugin will block all 
//  event data of the DVB stream since the channel is not listed here

//
// get this channels from DVB stream


//epgdata:71 = S19.2E-1-1019-10301        // Das Erste HD epgdata
vdr:000:0:0 = S19.2E-1-1019-10301	// Das Erste HD
epgdata:37 = S19.2E-1-1011-11110	// ZDF HD
vdr:000:0:0 = S19.2E-1-1011-11110 	// ZDF HD
vdr:000:0:0 = S19.2E-1-1021-28336 	// WDR HD Dortmund
vdr:000:0:0 = S19.2E-1-1089-12003 	// RTL Television
vdr:000:0:0 = S19.2E-1-1107-17500 	// SAT.1
vdr:000:0:0 = S19.2E-1-1089-12020 	// RTLZWEI
vdr:000:0:0 = S19.2E-1-1107-17501 	// ProSieben
vdr:000:0:0 = S19.2E-1-1107-17502       // kabel eins
vdr:000:0:0 = S19.2E-1-1089-12060       // VOX
vdr:000:0:0 = S19.2E-133-5-776 		// SIXX
vdr:000:0:0 = S19.2E-133-15-38 		// HGTV
vdr:000:0:0 = S19.2E-1-1107-17504 	// SAT.1 Gold
vdr:000:0:0 = S19.2E-1-1011-11130 	// zdf_neo HD
vdr:000:0:0 = S19.2E-1-1089-12040 	// SUPER RTL
vdr:000:0:0 = S19.2E-133-5-1793 	// Disney Channel
vdr:000:0:0 = S19.2E-1-1089-12061 	// NITRO
vdr:000:0:0 = S19.2E-1-1107-17505 	// Pro7 MAXX
vdr:000:0:0 = S19.2E-1-1107-17509 	// kabel eins Doku
vdr:000:0:0 = S19.2E-133-33-51 		// TELE 5
vdr:000:0:0 = S19.2E-133-5-48 		// N24 DOKU
vdr:000:0:0 = S19.2E-1-1033-10101 	// BILD HD
vdr:000:0:0 = S19.2E-1-1039-10375 	// tagesschau24 HD
vdr:000:0:0 = S19.2E-1-1089-12090 	// ntv
vdr:000:0:0 = S19.2E-1-1115-13103 	// Lilo.TV
vdr:000:0:0 = S19.2E-1-1107-17503 	// WELT
vdr:000:0:0 = S19.2E-1-1025-10331 	// phoenix HD
vdr:000:0:0 = S19.2E-1-1010-11160 	// KiKA HD
vdr:000:0:0 = S19.2E-1-1019-10302 	// arte HD
vdr:000:0:0 = S19.2E-1-1007-4914 	// ServusTV HD Deutschland
vdr:000:0:0 = S19.2E-1-1053-21100 	// ANIXE HD
vdr:000:0:0 = S19.2E-133-33-63 		// DMAX
vdr:000:0:0 = S19.2E-1-1109-5404 	// pearl.tv HD Shop
vdr:000:0:0 = S19.2E-1-1039-10376	// ONE HD
vdr:000:0:0 = S19.2E-1-1051-28722 	// ONE
vdr:000:0:0 = S19.2E-1-1010-11170 	// ZDFinfo HD
vdr:000:0:0 = S19.2E-1-1010-11150 	// 3sat HD
vdr:000:0:0 = S19.2E-1-1003-13224 	// Bibel TV HD
vdr:000:0:0 = S19.2E-1-1025-10327 	// NDR FS NDS HD
vdr:000:0:0 = S19.2E-1-1025-10328 	// NDR FS MV HD
vdr:000:0:0 = S19.2E-1-1025-10329 	// NDR FS HH HD
vdr:000:0:0 = S19.2E-1-1025-10330 	// NDR FS SH HD
vdr:000:0:0 = S19.2E-1-1061-10352 	// MDR Sachsen HD
vdr:000:0:0 = S19.2E-1-1061-10353 	// MDR S-Anhalt HD
vdr:000:0:0 = S19.2E-1-1061-10354 	// MDR Thüringen HD
vdr:000:0:0 = S19.2E-1-1061-10350 	// rbb Brandenburg HD
vdr:000:0:0 = S19.2E-1-1061-10351 	// rbb Berlin HD
vdr:000:0:0 = S19.2E-1-1019-10303 	// SWR BW HD
vdr:000:0:0 = S19.2E-1-1019-10304 	// SWR RP HD
vdr:000:0:0 = S19.2E-1-1061-10355 	// hr-fernsehen HD
vdr:000:0:0 = S19.2E-1-1025-10325 	// BR Fernsehen Süd HD
vdr:000:0:0 = S19.2E-1-1025-10326 	// BR Fernsehen Nord HD
vdr:000:0:0 = S19.2E-1-1043-12501 	// .
vdr:000:0:0 = S19.2E-1-1033-10102 	// Handystar TV HD
vdr:000:0:0 = S19.2E-1-1055-5502 	// 1-2-3.tv HD
vdr:000:0:0 = S19.2E-1-1053-21104 	// HSE HD
vdr:000:0:0 = S19.2E-1-1055-5501 	// HSE Extra HD
vdr:000:0:0 = S19.2E-1-1033-10105 	// QVC STYLE HD
vdr:000:0:0 = S19.2E-1-1053-21103 	// QVC HD
vdr:000:0:0 = S19.2E-1-1055-5504 	// QVC ZWEI HD
vdr:000:0:0 = S19.2E-1-1109-5403 	// Juwelo HD
vdr:000:0:0 = S19.2E-1-1109-5400 	// sonnenklar.TV HD
vdr:000:0:0 = S19.2E-133-33-900 	// SPORT1
vdr:000:0:0 = S19.2E-1-1091-31200 	// Eurosport 1 Deutschland
vdr:000:0:0 = S19.2E-133-7-65 		// DELUXE MUSIC,DELUXE
epgdata:194 = S19.2E-1-1025-10331	// PHOENIX HD
epgdata:56 = S19.2E-1-1010-11150	// 3sat HD
epgdata:58 = S19.2E-1-1019-10302	// arte HD
// vdr:000:0:0 = S19.2E-1-1066-28656 	// VH1
// vdr:000:0:0 = S19.2E-133-12-105   	// Sky Sport HD Extra
// vdr:000:0:0 = S19.2E-133-2-262    	// Sky Bundesliga 1
// vdr:000:0:0 = S19.2E-133-3-272    	// Spieldaten
// vdr:000:0:0 = S19.2E-133-3-282    	// Sky Bundesliga 3
// vdr:000:0:0 = S19.2E-133-3-292    	// Sky Bundesliga 4
// vdr:000:0:0 = S19.2E-133-3-302  	// Sky Bundesliga 5
// vdr:000:0:0 = S19.2E-133-17-312   	// FRA - AUE
// vdr:000:0:0 = S19.2E-133-17-322   	// 2. Liga Konf.
// vdr:000:0:0 = S19.2E-133-17-332   	// MSV - AACH
// vdr:000:0:0 = S19.2E-133-1-342    	// Sky Bundesliga 9
// vdr:000:0:0 = S19.2E-133-1-352    	// Sky Bundesliga 10
// vdr:000:0:0 = S19.2E-133-2-252    	// Sky Bundesliga 11
// vdr:000:0:0 = S19.2E-133-2-253    	// LIVE Wimbledon 3
// vdr:000:0:0 = S19.2E-133-17-333   	// Sky Racer
// vdr:000:0:0 = S19.2E-133-17-323   	// Sky Pitlane
// vdr:000:0:0 = S19.2E-133-17-313   	// Sky Sport 6
// vdr:000:0:0 = S19.2E-0-111719-303 	// Sky Sport 7
// vdr:000:0:0 = S19.2E-0-111719-293 	// Sky Sport 8
// vdr:000:0:0 = S19.2E-0-111719-283 	// Sky Sport 9
// vdr:000:0:0 = S19.2E-0-111797-263 	// Sky Sport 10
// vdr:000:0:0 = S19.2E-0-111719-273 	// Sky Sport 11
// vdr:000:0:0 = S19.2E-133-1-363    	// Sky Sport 12
// vdr:000:0:0 = S19.2E-133-1-373    	// Sky Sport 13
// vdr:000:0:0 = S19.2E-53-1097-2042 	// Hustler TV
// vdr:000:0:0 = S19.2E-53-1097-2045 	// Dorcel TV

Toubleshooting

Error „create index“
Bei folgender Fehlermeldung im Syslog:

epgd: create index idxcombinedComp on episodes(combinedcomp);
epgd: SQL-Error in 'create index idxcombinedComp on episodes(combinedcomp);' - BLOB/TEXT column 'combinedcomp' used in key specification without a key length (1170) 
epgd: SQL-Error in 'createIndices()' - BLOB/TEXT column 'combinedcomp' used in key specification without a key length (1170) '' [create index idxcombinedComp on episodes(combinedcomp);]

Hierbei kann ein Index nicht in der SQL-Datenbank erstellt werden, da dieser nicht unterstützt wird.
Einfach Mariadb aktualisieren.
Quelle: https://www.vdr-portal.de/forum/index.php?thread/135457-epgd-mit-tvdb-api-4/&postID=1356587#post1356587
Mariadb Script für Update-Repository: https://mariadb.com/kb/en/mariadb-package-repository-setup-and-usage/

Error „epglv|r“ Plugin
Bei folgender Fehlermeldung im Syslog:

epgd: SQL-Error in 'select epglv('123', '123')' - FUNCTION epg2vdr.epglv does not exist (1305)
epgd: SQL-Error in 'select epglvr('123', '123')' - FUNCTION epg2vdr.epglvr does not exist (1305)
epgd: Error: Missing functions epglv/epglvr, please install first!

Es geht um das mySQL-Plugin „mysqlepglv“. Hierbei einfach das Plugin in den Plugin-Ordner von mariadb kopieren.

cp /usr/lib/x86_64-linux-gnu/mariadb19/plugin/mysqlepglv.so /usr/lib/mysql/plugin/

Im mysql-client den Befehl „select @@plugin_dir;“ ausführen um prüfen, welcher Plugin-Ordner verwendet wird.