Vdradmin

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

VDR-Admin ist ein Daemon der mit dem VDR kommuniziert und Informationen in einem Browser zur Verfügung stellt. Er wird aufgerufen mit der Adresse des VDR-Rechners unter Hinzufügen 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

What's on?
Channels
Timers
Recordings
Configuration
Remote Control


Softwareanforderungen

  • Browser auf der Client Seite.
  • Perl, sowie das Modul perl-Compress-Zlib.

Installation

perl-Compress-Zlib sollte jede Distribution beinhalten, falls nicht kann man es bequem mittels MCPAN installieren:

perl -MCPAN -e 'install Compress::Zlib'

Alternative:

> perl -MCPAN -e shell
cpan> 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

UTF-8

Im VDR Portal ist eine Anleitung verfügbar, wie man vdradmin auf UTF-8 umstellen.

Falsche Zeit im VDR

Es kommt vor, dass die Zeit die der VDR anzeigt nicht mit der aktuellen Zeit übereinstimmt. Es wird dann 1.1.1970 als aktuelle Zeit angezeigt. Hier die Lösung. 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 hinzufügen:

ProxyPass        /vdr/vdradmin/ http://VDRip:8001/
ProxyPassReverse /vdr/vdradmin/ http://VDRip:8001/

Distributionsspezifisch

Mandriva

Datei
/etc/httpd/conf/httpd2.conf
<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>


Datei
/etc/httpd/conf.d/30_mod_proxy.conf
<Proxy *>
    Order deny,allow
    Deny from all
#    Allow from .your-domain.com
# diesen Eintrag den eigenen Gegebenheiten anpassen
    Allow from 192.168.1
</Proxy>


Links

  1. Homepage VDR-Admin
  2. Perl::Template
  3. Perl::Compress::Zlib
  4. iTAN Erweiterung für Vdradmin

Alternativen

  1. VDRAdmin AM - eine weitergeführte Version von VDRAdmin
  2. Xxv - Xtreme eXtension for VDR
  3. Live-plugin - Live Interactive VDR Environment
  4. Vdrepg (benötigt JDK 1.4)