Tvmovie2vdr

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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 tvinfomerk2vdr.pl)" ; then echo "tvinfomerk2vdr wurde bereits gestartet ?" ; else echo "cd $SOURCEDIR/tvmovie2vdr && ./tvinfomerk2vdr.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 Anfang 2006 "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",  "067"    ,"12"    ,"Das VIERTE"     ,"12","das-vierte"];

In channels_wanted.pl

@chan_wanted{"das-vierte.de"}               = "4";

Funktioniert auch mit TVMovie, Zahlen wurden nachgetragen.

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
    try PROVIDER 2
elif (has PROVIDER 2 no EPG) ; then
    try PROVIDER 3
else
    no EPG for CHANNEL ...
fi

Übergabe Option für das laden der Bilder

-i writeimages

Installations Routine für die Perl::Module

Wünschenswert wäre eine Installations Routine ähnlich wie in vdradmin AM, mit der Möglichkeit fehlende Perl::Module via cpan zu installieren.

********* Installing VDRAdmin-AM *************

Checking for Perl module Template...  found
Checking for Perl module Compress::Zlib...  found
Checking for Perl module CGI...  found
Checking for Perl module IO::Socket...  found

Links

[1] http://tvmovie2vdr.vdr-developer.org / http://steckrue.be/tvm2vdr Homepage tvmovie2vdr
[2] infosatepg Importer fuer Infosat-Daten