Vdradmin
Inhaltsverzeichnis |
Beschreibung
VDR-Admin ist ein Daemon welcher mit dem VDR kommuniziert und Informationen in einem Internet-Browser zur Verfügung stellt. Er wird aufgerufen mit der Adresse des VDR-Rechners unter Hinzufügung der Portnummer 8001. In der Konfigurationsdatei kann eingestellt werden, welche Rechner Zugriff auf den VDR-Admin erhalten. Eine Authentifizierung ist ebenfalls notwendig, die aber nach Einspielen eines Patches für verschiedene Rechner abgeschaltet werden kann.
Eine in vielen Punkten verbesserte Weiterentwicklung von VDR-Admin heißt Vdradmin AM.
Bilder
Softwareanforderungen
- Browser auf der Client Seite.
- Perl, sowie das Modul perl-Compress-Zlib.
Installation
perl-Compress-Zlib sollte jede Distri beinhalten, falls nicht kann man es bequem mittels MCPAN installieren:
perl -MCPAN -e 'install Compress::Zlib'
Oder per Source:
cd $SOURCEDIR tar zxvf Compress-Zlib-<VERSION>.tar.gz cd Compress-Zlib-<VERSION> perl Makefile.PL make make test make install
Möchte man die erweiterte VDR-Admin Version http://xpix.dieserver.de nutzen, wird zusätzlich Template benötigt.
Wie gehabt:
perl -MCPAN -e 'install Template'
Source:
cd $SOURCEDIR tar zxvf Template-Toolkit-<VERSION>.tar.gz cd Template-Toolkit-<VERSION> perl Makefile.PL make make test make install
Weiter geht es mit VDR-Admin:
cd $SOURCEDIR tar xvz vdradmin-<VERSION>.tar.gz mv vdradmin-<VERSION> vdradmin cd vdradmin touch vdradmind.conf ./vdradmind.pl -c # What's your VDR hostname (e.g video.intra.net)? [localhost]: # What's the port VDR listen to SVDRP query's? [2001]: # On which address should vdradmin listen (0.0.0.0 for any)? [0.0.0.0]: # On which port should vdradmin answer? [8001]: # Username? [linvdr]: ente # Password? [linvdr]: ************ # Config file sucessfull written.
Probleme
CPU Last
Während VDR-Admin die Daten via Svdrp lädt, steigt die CPU-Last auf bis zu 99%, VDR ist während dieser Phase nicht mehr bedienbar.
Keine EPG-Daten
Es werden trotz gut gefüllter EPG-Datei keine Programme oder nur einige angezeigt. Aber nach einer Weile geht es!
Das liegt daran, das der VDR-Admin selbst erst nach dem Start von VDR gestartet werden darf, sonst geht es erst so nach 10 Minuten. Durch Einbindung in die runvdr (Startprozedur für den VDR) kann das Problem der Startreihenfolge gelöst werden.
Eine Möglichkeit wäre, den Start von VDR-Admin zu verzögern, Z.B. vor der "while (true) do" -Schleife diese Zeile in /usr/local/bin/runvdr einzufügen.
echo "su vdr -c /usr/local/bin/vdradmind.pl" | at now + 2 minutes
Dies führt nach 2 Minuten als User "vdr" das VDR-Admin-Script aus.
Fehlende Aufnahmeverzeichnisse
Ein bekannter Grund hierfür ist, daß man im VDR unter Optionen auswählen kann, mit welchen Informationen die Aufnahmen angezeigt werden sollen. Werden Aufnahmen nun aber anders angezeigt, als VDR-Admin es erwartet - fehlen z.B. das Aufnahmedatum und die Aufnahmezeit (ohne diese beiden geht es derzeit nicht!), beendet VDR-Admin die Anfrage unmittelbar; meist ohne Fehlermeldung.
Ein weiteres seltener auftretendes Problem scheint zu sein, daß durch die fehlende Auswertung der Jahresangabe, eine Aufnahme vom 29. Februar im Jahr 2004, in normalen Jahren ohne 29. Februar zum Fehler und damit Nichtanzeigen führt.
Fehler beim Aufruf von VDR-Admin
vdrserver vdradmin # ./vdradmind.pl Compress::Zlib object version 1.22 does not match bootstrap parameter 1.33 at ⌐ /usr/lib/perl5/5.8.4/i686-linux/DynaLoader.pm line 253. Compilation failed in require at ./vdradmind.pl line 139. BEGIN failed--compilation aborted at ./vdradmind.pl line 139.
In diesem Falle hilft ein einfaches:
vdrserver vdradmin # cpan update Compress::Zlib
Falsche Zeit im VDR
Es kommt vor, dass die Zeit die der VDR anzeigt nicht mit der aktuellen zeit uebereinstimmt.
Es wird dann 1.1.1970 als aktuelle Zeit angezeigt.
Hier die Loesung.
http://www.vdr-portal.de/board/thread.php?threadid=44367&sid=&hilight=vdradmin+1970
Suchen in vdradmin.pl nach der Zeile die dies beinhaltet:
" if(/^E (.*) (.*) (.*) (.*)/ || /^E (.*) (.*) (.*)/) { "
(im letzten VDRadmin 0.96 ist es die zeile 552, und VDRadminNG 0.97 die 739)
diese muss durch das hier ersetzt werden:
" if(/^E (.*) (.*) (.*) (.*) (.*)/ || /^E (.*) (.*) (.*) (.*)/ || /^E (.*) (.*) (.*)/) { "
und dann tuts.
Tipps
Aufruf von VDR-Admin
Man kann sich für den Aufruf von VDR-Admin im Browser eine Verknüpfung auf den Desktop legen.
Aber der größte Vorteil ist, dass man somit die User/Passwort-Abfrage umgehen kann.
Bei mir sieht der Link so aus:
http://linvdr:linvdr@192.168.0.2:8001
Das funktioniert allerdings nicht mehr mit Internet Explorer mit Sicherheitsupdate 832894 (siehe Microsoft Security Bulletin MS04-004).
Aus dem Internet erreichen
Standardpasswort für VDR-Admin ändern!
Sicherstellen, dass das Proxy-Modul geladen wird
# LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so
in
LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so
ändern
Bei installiertem Apache in der httpd.conf diese Zeilen hinzugefügen:
ProxyPass /vdr/vdradmin/ http://VDRip:8001/ ProxyPassReverse /vdr/vdradmin/ http://VDRip:8001/
Distributionsspezifisch
Mandriva
<IfModule mod_proxy.c> # ProxyRequests are only needed when you want to use apache als squid replacement ProxyRequests Off ProxyPass /vdradmin/ http://127.0.0.1:8001/ </IfModule>
<Proxy *> Order deny,allow Deny from all # Allow from .your-domain.com # diesen Eintrag den eigenen Gegebenheiten anpassen Allow from 192.168.1 </Proxy>