TransferEPG.sh
Aus VDR Wiki
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 Scriptes 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.
Quelle | Ziel | ||||
---|---|---|---|---|---|
Name | ID mit EPG | Name | ID ohne EPG | ||
französisch | EUROPE 2 TV;CSAT | S19.2E-1-1074-8374 | EUROPE 2 TV;GC EUROPE 2 TV;Globecast |
S13.0E-318-7700-194 |
Ähnlich zu MTV Germany |
französisch | NRJ 12;CSAT | S19.2E-1-1100-8721 | NRJ 12;globecast NRJ 12 HQ;Globecast |
S13.0E-318-15400-13519 S13.0E-318-15400-13520 |
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 wie GeexBox 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.
- Vielleicht können xxv und videgor ähnliches.
- Epgsync-plugin kann komplette EPGs synchronisieren.