TransferEPG.sh

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

Dieses Script liest das EPG eines Senders aus und fügt es in denselben oder einen anderen VDR unter derselben oder einer anderen Stream-ID ein. Es kopiert also nur EPGs für einzelne Sender.

Eine Zielgruppe sind Nutzer, die EPG bekommen, aber dasselbe Programm über eine andere Quelle (Analog, DVB-C, DVB-S, DVB-T) oder einen anderen Satelliten oder anderen Transponder programmieren und Aufnehmen möchten. Durch ein vernünftiges EPG mit mehr Einträgen als 'jetzt' und 'gleich' stehen einem dann Möglichkeiten wie vdradmin-Autotimers oder epgsearch-plugin offen.

Ein Beispiel sind Sender wie 'Europe 2' oder 'NRJ 12'. Deren verschlüsselte Versionen auf Astra19.2E haben ein normales EPG. Dieselben unverschlüsselten Sender auf HotBird13.0E haben ein leeres EPG. Dank diesen Skriptes kann man jetzt die unverschlüsselten HotBird13.0-Versionen dieser Sender per EPG programmieren.

Sender-Korrelationen

Das Skript an sich ist einfach. Das 'wertvolle' sind die Zuordnungen der Sender zueinander. Für DVB-T-nach-Analog ist das noch einfach. Aber zu wissen, das 'Europe 2' ein EPG auf S19.2E sendet und auf Hotbird13.0E nicht, ist eine echte Hilfe für Free-TV-Aufnahmen. Daher werden hier (und im Skript) solche Zuordnungen gesammelt.

'Quelle' ist ein Sender-Stream mit EPG und 'Ziel' der Stream ohne EPG.

QuelleZiel
NameID mit EPGNameID ohne EPG
französisch EUROPE 2 TV;CSATS19.2E-1-1074-8374 EUROPE 2 TV;GC

EUROPE 2 TV;Globecast

S13.0E-318-7700-194
S13.0E-318-7700-110

Ähnlich zu MTV Germany
französisch NRJ 12;CSAT S19.2E-1-1100-8721 NRJ 12;globecast

NRJ 12 HQ;Globecast
NRJ 12;GC

S13.0E-318-15400-13519

S13.0E-318-15400-13520
S13.0E-318-15400-13531

Serien

Softwareanforderungen

  • netcat welches meist 'nc' benannt wird. Das beliebte svdrpsend.pl wird durch netcat simuliert. Somit braucht man kein Perl. Weil netcat auch in busybox enthalten ist, könnte das Skript auch auf kleinen Distributionen laufen.

Installation

Herunterladen, mit gzip entpacken und irgendwo hin schieben, von wo man es aufrufen möchte. Die aufrufbare Position des Skriptes wird hier $TRANSFEREPG.sh genannt.

Konfiguration

Wer sich das Ändern des shell-Skriptes nach Updates ersparen will, hat mehrere Möglichkeiten. Dadurch sind flexible Transfers der EPGs an diverse Rechner möglich.

Environment-Variablen

Für Quell-Rechner und Ziel-Rechner kann man Environment-Variablen angeben, welche anstelle der Standard-Werte genutzt werden. Zusätzliche Sender-Quellen und Sender-Ziele gehen damit aber nicht.

Settings-Datei

Die Settings können in $TRANSFEREPG.sh.local als Shell-Befehle eingetragen werden. Dort kann man die Ziel- und Quell-Rechner angeben. Des weiteren 'help NAME QUELLE ZIEL'-Zeilen. Als Vorlage sollte man in das Script schauen.

Settings-Datei-Environment-Variable

Eine Environment-Variable Namens 'localSettings' kann den Namen einer Settings-Datei enthalten. In der Bash kann dies z.B. so übergeben werden:

> localSettings=./vdr2nach3.transferEPG.conf $TRANSFEREPG.sh

Die Namen der Settings-Datei und Environment-Variable werden zur Hilfe beim Starten des Skriptes ausgegeben:

No './transferEPG.sh.2007-04-11_0.0.1.local' for local settings found (which is OK)
No ENV-Variable 'localSettings' set (which is OK)

Beispiel-Ausgabe

linvdr2:~# ./transferEPG.sh.2007-04-11_0.0.2 
No './transferEPG.sh.2007-04-11_0.0.2.local' for local settings found (which is OK)
No ENV-Variable 'localSettings' set (which is OK)
############################### Reading 'Europe 2' from 'S19.2E-1-1074-8374'
   1568   10958   66315 /ramdisk/transferepg.temp
220 linvdr2 SVDRP VideoDiskRecorder 1.4.4-2-Toxic-Ed.; Thu Apr 12 12:37:48 2007
354 Enter EPG data, end with "." on a line by itself
250 EPG data processed
On Target (correct 'S13.0E-318-7700-194' if fewer lines than above):
   1568   10958   66317
############################### Reading 'NRJ12' from 'S19.2E-1-1100-8721'
    986    9354   59792 /ramdisk/transferepg.temp
220 linvdr2 SVDRP VideoDiskRecorder 1.4.4-2-Toxic-Ed.; Thu Apr 12 12:37:50 2007
354 Enter EPG data, end with "." on a line by itself
250 EPG data processed
On Target (correct 'S13.0E-318-15400-13519' if fewer lines than above):
    986    9354   59797
############################### Finish of ./transferEPG.sh.2007-04-11_0.0.2

Alternativen

  • Man kann beispielsweise die Timer auf den 'unguten' Sendern programmieren. Dann liest man per Skript die Timer aus und wandelt die Sender um. Die abgewandelten Timer-Einträge spielt man zurück oder fügt sie in einen anderen VDR ein.
  • Das streamdev-Plugin kann EPGs angleichen. Das findet sich in den Einstellungen des Plugins.
  • Epgsync-plugin kann komplette EPGs synchronisieren.

Links

  1. Skript und Link auf Alternativen