Hi
da mein vdr-Rechner derzeit Hardware-Probleme zu haben scheint, die immer auftreten, wenn xxv (oder vdradmin oder irgend ein anderes Programm außer dem vdr) läuft, ich auf xxv aber nicht verzichten möchte, stellt sich die Frage ob es möglich ist, xxv auf einem 2. Rechner im heimischen Netz laufen zu lassen. Wenn ja, was sind die Voraussetzungen?
XXV auf externem Rechner ?
- sigiberlin
- Geschlossen
-
-
Darüber mache ich mir derzeit ein paar Gedanken svdrp auf soap zu wrappen (wegen client authentifizierung etc.) um dann irgendwo Zentral ein oder mehrere VDR's verwalten zu können... wäre Ideal für VDR's die nicht ständig on sind. Mann könnte das evl. so einrichten das der VDR alle paar Stunden mal aufwacht und dann per Soap die Timer mit der Webapp synchronisiert ... ist bisher nur son Grundgedanke von mir aber alleine fehlt mir die Gedult das anzugehen wenn das aber auf Interesse stöst und sich Leute finden lassen die daran mit entwickeln wollen dann sehr gerne.
Bisher aber leider nur eine Idee...PS: das wäre dann aber keine XXV Modification sondern etwas eigenes ... da das ganze evl. noch etwas weiter gesponnen werden soll ... aber ich denke das trifft dein Anliegen auf den Punkt.
-
Zitat
Original von sigiberlin
... stellt sich die Frage ob es möglich ist, xxv auf einem 2. Rechner im heimischen Netz laufen zu lassen. Wenn ja, was sind die Voraussetzungen?Ja, die aktuelle Version von XXV(SVN) kann nicht nur einen Cluster von mehreren VDR verwalten, sondern kann damit auch losgelöst auf einem anderen Rechner laufen, da alle relevanten Daten per SVDRP übertragen werden.
Die Installation erfolgt identisch zur lokalen Installationen.
In der Web-Interface in der Liste der "Video Disk Rekorder" ist dann nur die eigentliche IP-Adresse des "VDR" statt 127.0.0.1/localhost anzugegeben.
In der $etc/vdr/svdrphosts.conf muss die IP-Adresse des XXV-Rechner freigegeben werden.
-
mhmm - beim Ausführen von
Code
Alles anzeigenecho 'install PerlModules' apt-get install \ perl \ perl-base \ perl-modules \ libcgi-perl \ libio-zlib-perl \ libconfig-tiny-perl \ libdate-manip-perl \ libdbd-mysql-perl \ libdbi-perl \ libmd5-perl \ libdigest-hmac-perl \ libencode-perl \ libevent-perl \ libgd-gd2-noxpm-perl libgd-graph-perl libgd-graph3d-perl libgd-text-perl \ txt2html \ libhtml-tree-perl \ libjson-perl \ libwww-perl \ liblinux-inotify2-perl \ liblocale-gettext-perl \ libmp3-info-perl \ libnet-amazon-perl \ libnet-xmpp-perl \ libproc-process-perl \ libsoap-lite-perl \ libtemplate-perl \ libhtml-template-perl \ liburi-perl \ libxml-rss-perl \ libxml-simple-perl
unter ubuntu 8.10 bekomme ich
perl ist schon die neueste Version.
perl wurde als manuell installiert festgelegt.
perl-base ist schon die neueste Version.
perl-modules ist schon die neueste Version.
perl-modules wurde als manuell installiert festgelegt.
Paket libcgi-perl ist nicht verfügbar, wird aber von einem anderen
Paket referenziert. Das kann heißen, dass das Paket fehlt, dass es veraltet
ist oder nur aus einer anderen Quelle verfügbar ist.
E: Paket libcgi-perl hat keinen Installationskandidaten...
-
Ich tippe mal auf libcgi-pm-perl ...
Edith sagt, CGI.pm könnte aber auch bereits perl-modules enthalten sein...
-
danke.
aber: grmpff ...
Code
Alles anzeigen1 (550) [2009-04-14 18:11:04] RECORDS: Can't locate Linux/Inotify2.pm in @INC (@INC contains: /opt/XXV/bin/../lib /opt/XXV/bin /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11. 2 (550) [2009-04-14 18:11:04] main: Can't locate Linux/Inotify2.pm in @INC (@INC contains: /opt/XXV/bin/../lib /opt/XXV/bin /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11. BEGIN failed--compilation aborted at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11. 3 (550) [2009-04-14 18:11:04] main: Can't locate Linux/Inotify2.pm in @INC (@INC contains: /opt/XXV/bin/../lib /opt/XXV/bin /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11. BEGIN failed--compilation aborted at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11. Compilation failed in require at (eval 141) line 2. 4 (550) [2009-04-14 18:11:04] main: Can't locate Linux/Inotify2.pm in @INC (@INC contains: /opt/XXV/bin/../lib /opt/XXV/bin /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11. BEGIN failed--compilation aborted at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11. Compilation failed in require at (eval 141) line 2. BEGIN failed--compilation aborted at (eval 141) line 2. 5 (501) [2009-04-14 18:11:04] main: Can't locate Linux/Inotify2.pm in @INC (@INC contains: /opt/XXV/bin/../lib /opt/XXV/bin /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11. BEGIN failed--compilation aborted at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11. Compilation failed in require at (eval 141) line 2. BEGIN failed--compilation aborted at (eval 141) line 2. 6 (550) [2009-04-14 18:11:04] main: Can't locate object method "new" via package "XXV::MODULES::RECORDS" at ./bin/xxvd line 210.
edit: nach aptitude install liblinux-inotify2-perl kommt aber immer noch
4 (550) [2009-04-14 18:11:04] main: Can't locate Linux/Inotify2.pm in @INC (@INC contains: /opt/XXV/bin/../lib /opt/XXV/bin /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11.
BEGIN failed--compilation aborted at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 11. -
Laut Tante Google und der Paket Beschreibung liegen bzw. heißen die relevanten Dateien
/usr/lib/perl5/Linux/Inotify2.pm
/usr/lib/perl5/auto/Linux/Inotify2/Inotify2.bs
/usr/lib/perl5/auto/Linux/Inotify2/Inotify2.solaut der Fehlermeldung wird aber unter /usr/lib/perl5/ danach gesucht ...
Entweder ist das Paket von ubuntu oder die Perl-Installation kaputt
Der Standardsuchpath von perl ist mit folgende Einzeiler ablesbar
#> perl -e 'print "\@INC is @INC\n";'
@INC is /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .eventuell hilft folgendes um den Suchpath zu korrgieren
#> sudo dpkg-reconfigure perl
man könnte zwar folgendes in bin/xxvd eintragen, aber dies liegt nicht der elegante Weg
use lib "/usr/lib/perl5";
-
root@fileserver:/opt/XXV/contrib# perl -e 'print "\@INC is @INC\n";'
@INC is /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .Nun ist die da.
aber: Can't locate Encode/Detect/Detector.pm
sowie : Stream: Can't locate Net/DNS.pm
da war doch mal ne Funktion, die alle notwendigen Module (aus Cpan?) installierte ...
-
Ich verweise nochmals auf die Suchfunktion von packages.ubuntu.com (rechts oben in der Ecke)
Net/DNS.pm => http://packages.ubuntu.com/search?lang=de&searchon=contents&keywords=Net%2FDNS.pm => libnet-dns-perl
Das zweite Encode/Detect/Detector.pm kommt durch das externe Modul MP3/Info.pm,
PS: schonmal install.sh angeschaut ?
-
danke für Deine Geduld.
ja, die habe ich auch schon ausgeführt ...
Code
Alles anzeigen./install.sh -p Only LISTING needed Perl modules... Checking for Perl module CGI... found Checking for Perl module Compress::Zlib... found Checking for Perl module Config::Tiny... found Checking for Perl module Data::Dumper... found Checking for Perl module Date::Manip... found Checking for Perl module DBD::mysql... found Checking for Perl module DBI... found Checking for Perl module Digest::MD5... found Checking for Perl module Digest::HMAC_MD5... found Checking for Perl module Encode... found Checking for Perl module Event... found Checking for Perl module GD... found Checking for Perl module Getopt::Long... found Checking for Perl module HTML::TextToHTML... found Checking for Perl module HTML::TreeBuilder... found Checking for Perl module JSON... found Checking for Perl module Linux::Inotify2... found Checking for Perl module LWP::Simple... found Checking for Perl module LWP::UserAgent... found Checking for Perl module Locale::gettext... found Checking for Perl module MIME::Base64... found Checking for Perl module MP3::Info... found Checking for Perl module Net::Amazon... found Checking for Perl module Net::Amazon::Request::Artist... found Checking for Perl module Net::XMPP... found Checking for Perl module Proc::Killfam... found Checking for Perl module Proc::ProcessTable... found Checking for Perl module SOAP::Lite... found Checking for Perl module SOAP::Transport::HTTP... found Checking for Perl module Template... found Checking for Perl module Time::Local... found Checking for Perl module Time::HiRes... found Checking for Perl module URI::Escape... found Checking for Perl module XML::RSS... found Checking for Perl module XML::Simple... found ...done.
NET/dns.pm fehlt da aber ?
-
In der Liste sind nur die Perl-Module referenziert die auch selber durch xxv verwendet werden,die anderen (die hier fehlenden) sind nur indirekt referenziert. Normalerweise sollte diese Abhängigkeiten bereits cpan bzw. durch den Paketmanager gelöst werden.
Es gibt mehrere Lösungsvarianten (Mehrfachauswahl erlaubt)
* Bugreport an den Paketbetreuer des verursachenden Pakets mit Hinweis auf die fehlenden Abhängigkeiten
* per cpan das Paket nochmals manuell installieren perl -MCPAN -e 'install Encode::Detect'
* die Meldung einfach ignorieren -
nochmals danke !
nun bin ich nen Schritt weiter. Fehlt noch die Socket6.pm, aber die hat auf dem eigentlichen vdr auch gefehlt,. und da lief es ja ...
aber;
ich hab in der xxvd.cfg dies eingetragen:
[SVDRP]
VdrHost=192.168.2.2
VdrPort=2001
timeout=60im Log sehe ich aber
HTTPD: Couldn't create socket: Address already in use
main: Problem to initialize modul!
main: Load module XXV::MODULES::HTTPD failed!
...CHANNELS: Couldn't connect to svdrp-socket ocalhostt?:2001! Invalid argument
192.168.2.2 ist mein vdr - das sollte doch dann stimmen, oder ? dann verwundert mich dieses svdrp-socket ocalhostt?:2001
-
Zitat
Original von sigiberlin
[SVDRP]
VdrHost=192.168.2.2
VdrPort=2001
timeout=60Stimmt die mitgeliefert Datei xxvd.cfg.example ist veraltet, die Zeilen VdrHost/VdrPort sind entfallen, und werden nicht mehr interpretiert. Diese Daten werden jetzt direkt in der Web-Interface eingetragen.
ZitatOriginal von sigiberlin
im Log sehe ich aberHTTPD: Couldn't create socket: Address already in use
main: Problem to initialize modul!
main: Load module XXV::MODULES::HTTPD failed!
...
Der Port 8080 für die Web-Inferface ist bereit im Einsatz, xxv bitte nur einmal starten, bzw. in xxvd.cfg einen anderen Port verwenden.ZitatOriginal von sigiberlin
CHANNELS: Couldn't connect to svdrp-socket ocalhostt?:2001! Invalid argument192.168.2.2 ist mein vdr - das sollte doch dann stimmen, oder ? dann verwundert mich dieses svdrp-socket ocalhostt?:2001
Siehe oben, per default wird localhost vorinstalliert, muss aber in deinem Falle per Web-Interface "vdrlist/vdredit" abgeändert werden.
-
ok, hab dem Webinterface den Port 8008 verpasst.
nun sagt mir das Log: (schon ein Fortschritt! Danke !!)
1 (550) [2009-04-14 20:50:08] Base: Can't locate Socket6.pm in @INC (@INC contains: /opt/XXV/bin/../lib /opt/XXV/bin /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/lib/perl5/Net/DNS/Resolver/Base.pm line 61.
2 (501) [2009-04-14 20:50:09] CHANNELS: Couldn't connect to svdrp-socket ocalhostt ?:2001! Invalid argument
3 (501) [2009-04-14 20:50:09] TIMERS: Couldn't connect to svdrp-socket ocalhostt ?:2001! Invalid argument
4 (501) [2009-04-14 20:50:09] RECORDS: Missing video directory on ocalhostt ?!
5 (501) [2009-04-14 20:50:09] RECORDS: Couldn't connect to svdrp-socket ocalhostt ?:2001! Invalid argument
6 (550) [2009-04-14 20:50:09] RECORDS: Illegal division by zero at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 921.leider ist der Prozess xxv nach dem letzten Fehler verschwunden, und ich komme nicht ins Webinterface
-
Ändern temporär mal die Zeile 921 in RECORDS.pm
Code-$self->{CapacityPercent} = ($totalSpace * 100 / ($totalFree + $totalSpace)); +$self->{CapacityPercent} = 50; # ($totalSpace * 100 / ($totalFree + $totalSpace));
damit Du weiterkommst, wenn die Web-Interface läuft der VDR und das Videoverzeichnis korrekt zugewiesen ist,
kann diese Änderung rückgängig gemacht werden.Ich suche derweil mal an einer dauerhaften Lösung.
Edit: Mein Patch sieht so aus :
Diff
Alles anzeigen--- RECORDS.pm (Revision 1408) +++ RECORDS.pm (Arbeitskopie) @@ -918,7 +918,11 @@ } else { $self->{CapacityFree} = int($totalFree * 3600 / 2000); # use 2GB at one hour as base } - $self->{CapacityPercent} = ($totalSpace * 100 / ($totalFree + $totalSpace)); + if(($totalFree + $totalSpace) > 1) { + $self->{CapacityPercent} = ($totalSpace * 100 / ($totalFree + $totalSpace)); + } else { + $self->{CapacityPercent} = 0; + }
-
ok, habs endlich geschafft
hab den vdr bei Video Disk Recorder per ip eingetragen..
bekomme auch keine fehler.
Kanäle geupdatet, Timer, EPG - scheint alles da zu sein !
Vielen herzlichen Dank für die Geduld und die Unterstützung !!
-
ok, ne ganz winzige Kleinigkeit ist noch: es werden keine Aufnahmen angezeigt ...
-
grmmpfff....
eben ist mein vdr wieder abgestürzt.
beim Neustart meckert der fehler in der channels.conf und der timers.conf an. Also channels.conf aus der Sicherung zurückkopiert, timers.conf händisch bearbeitet und alle soeben von xxv angelegten Timer gelöscht ...
xxv neu gestartet.
nun sagt das log:
Code
Alles anzeigen1 (550) [2009-04-14 22:13:36] Base: Can't locate Socket6.pm in @INC (@INC contains: /opt/XXV/bin/../lib /opt/XXV/bin /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/lib/perl5/Net/DNS/Resolver/Base.pm line 61. 2 (501) [2009-04-14 22:13:37] SVDRP: Couldn't send command 'quit' to 192.168.2.2:2001! Broken pipe 3 (270) [2009-04-14 22:13:37] CHANNELS: Call command "lstc :groups" on 192.168.2.2 failed. 4 (270) [2009-04-14 22:13:38] TIMERS: Call command "lstt" on 192.168.2.2 successful. 5 (501) [2009-04-14 22:13:38] RECORDS: Missing video directory on 192.168.2.2! 6 (270) [2009-04-14 22:13:39] RECORDS: Call command "lstr" on 192.168.2.2 successful. 7 (270) [2009-04-14 22:13:40] RECORDS: Call command "stat disk" on 192.168.2.2 successful. 8 (501) [2009-04-14 22:13:40] RECORDS: Couldn't get disc state from 192.168.2.2 Access denied! 9 (501) [2009-04-14 22:13:40] RECORDS: DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where e.vid = '1' and r.eventid = e.eventid' at line 1 at /opt/XXV/bin/../lib/XXV/MODULES/RECORDS.pm line 725. 10 (501) [2009-04-14 22:13:40] RECORDS: Couldn't execute query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where e.vid = '1' and r.eventid = e.eventid' at line 1. 11 (501) [2009-04-14 22:13:41] SVDRP: Couldn't send command 'quit' to 192.168.2.2:2001! Broken pipe 12 (270) [2009-04-14 22:13:41] EPG: Call command "LSTE" on 192.168.2.2 failed. 13 (501) [2009-04-14 22:13:47] REMOTE: Could not open file '/etc/vdr/commands.conf'! : No such file or directory 14 (501) [2009-04-14 22:14:14] SVDRP: Couldn't send command 'quit' to 192.168.2.2:2001! Broken pipe 15 (270) [2009-04-14 22:14:14] CHANNELS: Call command "lstc :groups" on 192.168.2.2 failed. 16 (270) [2009-04-14 22:14:19] CHANNELS: Call command "lstc :groups" on 192.168.2.2 successful. 17 (270) [2009-04-14 22:16:14] TIMERS: Call command "lstt" on 192.168.2.2 successful.
ich habe im xxv keine Kanäle, keine Timer, kein EPG ...
grmppff...
auch wiederholtes Neustarten von xxv hilft derzeit nicht ...
edit: der vdr weist die Zugriffe ab:
Apr 14 22:39:44 sigi-vdr vdr: [3289] connect from 192.168.2.4, port 34117 - DENIED
-
ich muß hier nochmal nachhaken ....
xxv läuft seit 2 Wochen auf nem Rechner, auf dem kein vdr installiert ist. Sowit ist das in Ordnung, es funzt alles, nur - Aufnahmen kennt xxv nicht...
ich habe wie angeregt auf dem xxv-Rechner ein Verzeichnis angelegt und hier das per nfs freigegebene /video.00 vom vdr-Rechner gemountet. Das reicht aber offensichtlich nicht, denn - die Symlinks im /video.00 des vdr weisen ja auf für diesen Rechner erst mal lokale Verzeichnisse (die nix weiter sind als Mountpoints für Verzeichnisse auf meinem Fileserver...)
Für xxv sind diese Symlinks nicht auflösbar, und die Aufnahmen werden nicht angezeigt ...
Beispiel:
vdr-Rechner
/video.00/Film/24_Stunden_Angst/2009-04-12.22.10.50.50.rec/001.vdr ist ein Symlink auf
/video.15/Film/24_Stunden_Angst/2009-04-12.22.10.50.50.rec/001.vdrxxv-Rechner
/vdr-video/Film/24_Stunden_Angst/2009-04-12.22.10.50.50.rec/001.vdr ist ein Symlink auf
/video.15/Film/24_Stunden_Angst/2009-04-12.22.10.50.50.rec/001.vdraber /video.15 gibts auf dem xxv-Rechner nicht.
Ich müßte also alle /video.xx - Verzeichnisse des VDR-Rechners per nfs am xxv-Rechner mounten - was ich nicht so ganz hübsch finde
ein svdrpsend.pl lstr liefert wahrscheinlich zu wenig Daten, um die Aufnahmenliste in xxv zu füllen...
schade eigentlich ...
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!