Tvmovie2vdr
(→Probleme) |
(→Wunschliste) |
||
Zeile 102: | Zeile 102: | ||
==Wunschliste== | ==Wunschliste== | ||
− | ===(provider | + | ===(provider 1) else (provider 2)=== |
Wäre schön das Script ein wenig ''schlauer'' wäre, so das wenn ein Provider mal keine EPG Daten ''liefert'', daß automatisch der nächste genommen wird? | Wäre schön das Script ein wenig ''schlauer'' wäre, so das wenn ein Provider mal keine EPG Daten ''liefert'', daß automatisch der nächste genommen wird? | ||
Version vom 7. Dezember 2005, 08:12 Uhr
Inhaltsverzeichnis |
Beschreibung
Aus der README
Dieses Script lädt die Programmdaten von TVMovie, Hoerzu, TVInfo (alle erfordern eine Internetverbindung) und Infosat (hierbei ist keine Internetverbindung erforderlich) herunter und trägt diese Daten als EPG-Daten im VDR ein. Sind bereits Daten vorhanden und passen diese in etwa, werden nur die Inhalte, nicht die Zeiten aktualisiert. Existieren keine EPG-Daten, werden die Daten von tvm2vdr komplett eingetragen.
Weiterhin ist tvinfomerk2vdr.pl verfügbar, dass die Sendungen auf dem tvinfo- Merkzettel in vdr-timer importiert. Evtl. bestehende Timer werden am Prefix erkannt. Laufende Aufnahmen werden nicht aktualisiert.
Neuerdings gibt es einen Importer fuer Infosat-Daten. Hier muss der Infosat-Scanner von Zzam infosatepg installiert sein.
Softwareanforderungen
- siehe README
Installation
Ein paar Perl::Module sind zu installieren, vielleicht ist das ein oder andere bereits vorhanden, abfragen kann man dies wie folgt.
perl -ce 'use MODUL'
Ausgabe.
-e syntax OK
perl -ce 'use MODUL'
Ansonsten gibt es 2 Wege.
Mittels "CPAN"
perl -MCPAN -e shell install PERL::MODUL
Oder via Source, ein Bsp:
- libwww-perl-<VERSION>.tar.gz
- HTML-Scrubber-<VERSION>.tar.gz
Die Installation ist für alle Pakete identisch, außer bei libwww-perl, dort ist ein -n anzuhängen, das erspart einige Abfragen
cd $SOURCEDIR tar xvzf <NAME>-<VERSION>.tar.gz cd <NAME>-<VERSION> perl Makefile.PL -n make make install cd -
Zu guter letzt tvmovie2vdr.
cd $SOURCEDIR tar xvzf tvmovie2vdr-<VERSION>.tar.gz mv tvmovie2vdr-<VERSION> tvmovie2vdr cd tvmovie2vdr mv tvinfomerk2vdr.pl tvim2vdr.pl
Konfiguration
Anzupassen sind die Dateien config.pl, channels.pl und channels_wanted.pl.
config.pl enthält die Konfigurationsdaten wie Datei- und Verzeichnisnamen sowie die Anmeldeinformationen für die verschiedenen Datenquellen.
Als nächstes müssen alle Sender, die aktualisiert werden sollen, in die channels.pl eingetragen werden. Die Datei ist bereits mit vielen Sendern gefüllt, die jedoch evtl. angepasst werden müssen. Falls es beim Einspielen der EPG-Daten zu Fehlermeldungen kommt, BITTE die channel-ID in der channels.pl pruefen! Das Script printchannels.pl im Verzeichnis contrib liefert alle channel-IDs aus der channels.conf Datei. Diese channel-IDs MÜSSEN in die channels.pl Datei uebertragen werden! Bitte darauf achten, dass die Datei mit "1;" endet.
Abschliessend wird in der Datei channels_wanted.pl eingetragen, von welchem Provider man für welchen Sender EPG-Daten beziehen möchte. Die möglichen Werte sind in der Datei dokumentiert. Auch hier bitte wieder darauf achten, dass die Datei mit "1;" endet.
Für weitere Informationen liegt den Scripts eine ausführliche README.gz bei!
Ein manuelles starten ueber die commands.conf könnte wie folgt funktionieren, $SOURCEDIR ist anzupassen.
Starte tvmovie2vdr : if test "$(pidof -x tvm2vdr.pl)" ; then echo "tvmovie2vdr wurde bereits gestartet ?" ; else echo "cd $SOURCEDIR/tvmovie2vdr && ./tvm2vdr.pl >/var/log/vdr/tvmovie2vdr.log 2>&1" | at now ; echo "tvmovie2vdr gestartet !" ; fi Zeige log : if test -s /var/log/vdr/tvmovie2vdr.log ; then tail -n 100 /var/log/vdr/tvmovie2vdr.log ; else echo "tvmovie2vdr.log nicht gefunden oder leer !" ; fi Starte tvinfomerk2vdr : if test "$(pidof -x tvim2vdr.pl)" ; then echo "tvinfomerk2vdr wurde bereits gestartet ?" ; else echo "cd $SOURCEDIR/tvmovie2vdr && ./tvim2vdr.pl >/var/log/vdr/tvinfomerk2vdr.log 2>&1" | at now ; echo "tvinfomerk2vdr gestartet !" ; fi Zeige log : if test -s /var/log/vdr/tvinfomerk2vdr.log ; then tail -n 100 /var/log/vdr/tvinfomerk2vdr.log ; else echo "tvinfomerk2vdr.log nicht gefunden oder leer !" ; fi
Falls jemand die EPG Daten von infosatepg nutzen möchte, dann am besten so:
Starte infosatepg + tvmovie2vdr : echo "/usr/local/bin/infosatepg.sh -tvmovie2vdr" | at now
Bequemer via crontab.
0 5 * * * root cd $SOURCEDIR/tvmovie2vdr && ./tvm2vdr.pl >/var/log/tvmovie2vdr.log
Neue Sender von infosatepg hinzufuegen
Erscheint ein neuer TV-Sender, der kein eigenes EPG mitbringt (so wie kürzlich "Das Vierte"), kann man versuchen, ob der Dienst infosatepg die fehlenden EPG-Daten liefert.
Damit tvmovie2vdr die EPG-Daten übernimmt, sind folgende Eintragungen (jeweils VOR der abschliessenden "1;") erforderlich:
In channels.pl
@chan{"das-vierte.de"} = ["S19.2E-0-12460-1793", "" ,"" ,"" ,"","das-vierte"];
In channels_wanted.pl
@chan_wanted{"das-vierte.de"} = "4";
Probleme
Wenn tvm2vdr unmittelbar nach dem Start abbricht, dann ist wahrscheinlich der VDR nicht gestartet oder der Zugriff auf das SVDRP nicht erlaubt. Test: telnet vdrhost vdrport (Port ist default 2001), z.B. telnet localhost 2001, wenn dann nur 'no permission' als Antwort kommt, ist der jeweilige Rechner im svdrphosts.conf im VDR - Konfigurationsverzeichnis einzutragen. (als Defaulteinstellung ist auch der localhost disabled)
Wunschliste
(provider 1) else (provider 2)
Wäre schön das Script ein wenig schlauer wäre, so das wenn ein Provider mal keine EPG Daten liefert, daß automatisch der nächste genommen wird?
So in etwa.
if (has PROVIDER 1 no EPG) ; then use PROVIDER 2 elif (has PROVIDER 2 no EPG) ; then use PROVIDER 3 else no EPG for CHANNEL ... fi
Links
[1] | http://tvmovie2vdr.vdr-developer.org | Homepage tvmovie2vdr |
[2] | infosatepg | Importer fuer Infosat-Daten |