c't-VDR2, PVR250 und analogtv
- kreutpet
- Geschlossen
-
-
Zitat
Hmmm, zuerst muss der VDR natürlich EPG-Daten haben/anzeigen
EPG-Daten hat er, zumindest zeigt er im VDR brav die Programme und aktuell laufenden Sendungen an. - Daher denke ich, er hat EPG-Daten.
ZitatDann muss der User, der das script aufruft nach '/video' und in das Verzeichnis schreiben dürfen von wo das Script aufgerufen wird.(für die epg.tmp).
Habs gerade noch mal geprüft. Da ich als ROOT des Skript im Verzeichnis /root/ aufrufe ist auch das gegeben.
ZitatIst die epg.tmp leer/nicht da?
Die epg.tmp wird in /root/ erstellt, ist aber leer.
Hab's gerade noch mal getestet. Nach Aufruf von savepg.pl werden die Dateien /root/epg.tmp und /video/epg.data erzeugt, jedoch sind beide leer.
Noch eine Idee?
Grüße
Lutz -
-
Hallo Mathias,
Danke jetzt geht's
Nach Aufruf von '/root/svdrpsend.pl -d <VDR-IP> LSTE' kam ein "Access denied!"
Daraufhin habe ich mal probiert was passiert, wenn ich den Aufruf mit '/root/svdrpsend.pl -d 127.0.0.1 LSTE' starte und siehe da er spuckt die EPG-Daten aus.Schnell Dein Skript noch geändert und jetzt wird auch die epg.tmp und epg.data geschrieben.
Grüße
Lutz -
-
Oh Danke!
VDRAdmin ist sicher eins von den nächsten Sachen, die ich ausprobieren will....
Grüße
Lutz -
Hallo,
auch ich habe das Problem, dass meine mit tvmovie2vdr geladenen EPG-Daten nach einem Neustart des VDR wieder futsch sind.
Hab deshalb mit großem Interesse diesen Thread gelesen und auch gleich die Scripte Zerphod ausprobiert.
Das Skript savepg.pl scheint auch zu funktionieren. Zumindest existiert nach Ausführung von savepg.pl eine epg.data im Verzeichnis /video/. Die Datei scheint auch EPG-Daten zu enthalten. Sieht soweit also alles ganz gut aus.
Allerdings habe ich Probleme mit dem Skript putepg.pl. Es läuft ohne Fehlermeldung durch und auch im Logfile sieht alles OK aus.
Aber im OSD werden nach der Ausführung des Skriptes weiterhin keine EPG-Daten angezeigt. Auch ein Aufruf von svdrpsend.pl -d 127.0.0.1 LSTE liefert als Meldung nur "Can't get EPG data"
Was könnte ich noch falsch gemacht haben? Und bei wem funktioniert dieses Skript?
Anbei nochmal das Skript putepg.pl welches ich verwende:
Perl
Alles anzeigen#!/usr/bin/perl # warten bis der VDR hochgefahren ist sleep (20); use IO::Socket; use Getopt::Std; use Date::Manip; use HTML::Entities; use bytes; # no unicode push (@INC, "/etc/vdr/tvmovie2vdr"); require ("config.pl"); ### require ("channels.pl"); push (@INC, "/usr/share/vdr-addon-tvmovie2vdr/inc"); require ("helperfunc.pl"); $verz = "/var/log"; $epg = "/video"; sub open_logging { open (LOGGING, ">>$verz/putepg.log"); } sub close_logging { close LOGGING; } # Debuglevel -> 1=kein Debug / 6=alles sub printlog { my $debuglevel = 6; my ($text,$dbl) = @_; my $date = localtime(); &open_logging; printf LOGGING "$date: $text" if ($debuglevel > $dbl); &close_logging; } printlog "PUTEPG: EPG-Daten in den Vdr eintragen\n",1; our ($sim,$verbose) = 0; $verbose = 1 if $opt_v; $sim = 1 if $opt_s; $Dest = $opt_d || "localhost"; $Port = $opt_p || 2001; $Timeout = $opt_t || 300; # max. seconds to wait for response if ($cleanupoldfiles) { print "cleanup old files ..\n"; cleanup(); } $SIG{'INT'} = \&SIGhandler; our $SVDRP = SVDRP->new($Dest,$Port,$verbose,$sim); our $EXIT = false; if ($clearEPG eq 1) { print "clearing EPG\n"; my($result) = $SVDRP->SendCMD("clre"); die "Fehler beim Löschen EPG-Daten: $result" if ($sim == 0 && !$result =~ /EPG data cleared/); } # epg.tmp einlesen &Lesepg; foreach $epgzeile (@epgdatei) { chomp ($epgzeile); if ($epgzeile =~ /\AC C-\d-\d\d\d-\d\d/) { $sender = $'; $epgzeile = substr($epgzeile,0,12); printlog "PUTEPG: EPG-Zeile für Sender $sender ist -> $epgzeile\n",4; my($result) = $SVDRP->SendCMD("PUTE"); printlog "PUTEPG: PUTE gesendet Result=$result \n",1; $SVDRP->command("$epgzeile"); printlog "PUTEPG: EPG-Zeile gesendet-> $epgzeile\n",4; } if ($epgzeile =~ /\AC C-\d-\d\d-\d\d/) { $sender = $'; $epgzeile = substr($epgzeile,0,11); printlog "PUTEPG: EPG-Zeile für Sender $sender ist -> $epgzeile\n",4; my($result) = $SVDRP->SendCMD("PUTE"); printlog "PUTEPG: PUTE gesendet Result=$result \n",1; $SVDRP->command("$epgzeile"); printlog "PUTEPG: EPG-Zeile gesendet-> $epgzeile\n",4; } if ($epgzeile =~ /\AE /) { $SVDRP->command("$epgzeile"); printlog "PUTEPG: EPG-Zeile gesendet-> $epgzeile\n",4; } if ($epgzeile =~ /\AT /) { $SVDRP->command("$epgzeile"); printlog "PUTEPG: EPG-Zeile gesendet-> $epgzeile\n",4; } if ($epgzeile =~ /\AS /) { $SVDRP->command("$epgzeile"); printlog "PUTEPG: EPG-Zeile gesendet-> $epgzeile\n",4; } if ($epgzeile =~ /\AD /) { $SVDRP->command("$epgzeile"); printlog "PUTEPG: EPG-Zeile gesendet-> $epgzeile\n",4; } if ($epgzeile =~ /\Ac\z/) { $SVDRP->command("$epgzeile"); printlog "PUTEPG: EPG-Zeile gesendet-> $epgzeile\n",4; my($result) = $SVDRP->SendCMD("."); printlog "PUTEPG: . gesendet!! Result=$result\n",1; printlog "PUTEPG: Kanal abgeschlossen!!!\n",1; } if ($epgzeile =~ /\Ae\z/) { $SVDRP->command("$epgzeile"); printlog "PUTEPG: EPG-Zeile gesendet-> $epgzeile\n",4; } } my($result) = $SVDRP->SendCMD("QUIT"); printlog "PUTEPG: QUIT gesendet!! Result=$result\n",1; $SVDRP->close; printlog "PUTEPG: fertig!!!\n",1; exit; sub Error { print STDERR "Fehler: @_\n"; close(SOCK); exit 0; } sub Lesepg { open (EINGABE, "<$epg/epg.data"); @epgdatei = <EINGABE>; close (EINGABE); }
Für Hinweise wäre ich sehr dankbar!
CU
Anywhere
-
-
Hallo @ all,
ich habe einen rein analogen ct-VDR: 1.2.6.-27 mit Bildausgabe über DXR3.
EPG erhalte ich übers WWW mit vdr-addon-tvmovie2vdr und ist nach Aufruf von tvm2vdr.pl im OSD sichbar.
Nach einem Neustart des VDR liegen die EPGdaten im Verzeichnis /var/cache/vdr-addon-tvmovie2vdr/downloadfiles bzw dounloadupdatefiles, sind im OSD aber nicht mehr sichtbar. Die von mir angelegte epg.data in /var/lib/video.00 bleibt immer leer, obwohl ich den Pfad in der config.pl eingetragen habe.
So wie ich es bis jetzt verstanden habe, brauche ich die zwei Scrite savepg, putepg und eventuell das svdrpsend.pl Script.
Nun habe ich die zwei Scripte mit einem Texteditor als savepg.txt und putepg.txt erstellt, svdrpsend.tgz heruntergeladen und alles in einem Ablageverzeichnis gespeichert.Da mir grundlegende Linuxkenntnisse fehlen würde ich mich freuen, wenn mir jemand die nachstehenden Fragen beantworten kann.
1. Wie habe ich die Dateien savepg.txt und putepg.txt umzubenennen, damit es Scriptdatein werden?
2. Wo gehören die Scripte hin (Pfad und Verzeichnis)?
3. Welche Anpassungen muß ich in den Scripten vornehmen?
z.B. in saveepg: '$Text="/root/svdrpsend.pl -d 192.168.65.130 LSTE > epg.tmp";' kommt da meine IP-Adresse rein?
4. Welche Verzeichnisse oder Dateien muß ich noch anlegen?
5. Brauche ich das svdrpsend.pl Script? Wenn ja, wie und wohin entpacke ich svdrpsend.tgz?
6. Muß ich noch irgendwo anders Anpassungen vornehmen, damit nach einem Neustart automatisch die EPG-Infos im OSD sichtbar sind?Gruß und schoneinmal ein Danke
MAK -
Das verstehe ich nicht :
ich habe es schon ein paar Mal gelesen, daß nach dem Einschalten die EPG's weg sein sollen :
Leider habe ich andere Probleme, aber mein EPG ist nach vie vor da -> auch nach dem EInschalten und der PVR350.
Hier mal mein Anfang der conf :#!/usr/bin/perl
# Settings
$channelsfile = "/var/lib/vdrdevel/channels.conf"; # path to channels-datei
$epgfile = "var/cache/vdrdevel/epg.data"; # path to epg-file
$days2download = 7; # max. 8 days tvmovie, max 21-28 days tvinfo
$clearEPG = 1; # clear EPG before inserting them into VDR ?
# 1=true/0=false
$downloadprefix = "/var/cache/vdr-addon-tvmovie2vdr/downloadfiles/"; # where to write downloaded files?
$updateprefix = "/var/cache/vdr-addon-tvmovie2vdr/downloadupdatefiles/"; # where to write downloaded updatefiles?
# use a different folder!
$cleanupoldfiles = 1; # clean "old" cache-files ?
# 1=true/0=falseIch weiß zwar nicht, wasa anders ist bei mir - aber das läuft wenigstens
-
Hallo Wesie,
hilft mir leider nicht weiter.
Trotzdem Danke
Gruß -
Wesie:
Du hast eine DVB-Karte, dann speichert er auch die epg ab.mit "mv saveepg.txt saveepg.pl" umbenennen.
mit chmod +x saveepg.pl ausführbar machen
und mit
./saveepg.pl kannst du das script aufrufendann halt mal testen
tvm2vdr.pl
saveepg.pl
booten
putepg.plwenn das funktioniert dann schon mal gut
(sollte allerdings)die ip solltest du auf deine ändern, vll reicht sogar 127.0.0.1
wenn das funktioniert schreib mal rein,
dann gucke ich bei mir nach, wo ich putepg.pl beim booten aufrufe. -
werde es heute abend versuchen, muß gleich arbeiten.
Nochmal die Frage: In welches Verzeichnis gehören die Scripte?Danke werde mich wieder melden
MAK -
Die DVB-C Karte hat an der Stelle nicht viel damit zu tun, da die PVR350 im Moment noch kein EPG liefert -> das macht das TvMovie2vdr für die Karte -> also gleiche Ausgangsstellung.
wenn ihr die VDRDEVEL Version verwendet -> schaut euch mal den Pfad an, welcher benutzt wird, und wo die epg.data hingehört :
$epgfile = "var/cache/vdrdevel/epg.data"; # path to epg-file
Dort schreibt TvMovie2vdr die epg daten hin und sind dort auch wieder nach einem Reboot vorhanden.
Einzig, wenn der VDR ein paar Tage aus bleibt. wird nur der Vortag gelöscht aus
$downloadprefix = "/var/cache/vdr-addon-tvmovie2vdr/downloadfiles/"; # where to write downloaded files?
wenn der Parameter
$cleanupoldfiles = 1; # clean "old" cache-files ?
# 1=true/0=falsegesetzt wird. Ansonsten bleiben die alten Files vorhanden.
Wird der VDR nach einigen tagen erst neu gestartet, muß man halt die alten Files per Hand löschen.Das sollte bei euch eigentlich auch funktionieren ....
BTW dder neue ivtv Treiber bietet schon ein Device an, welches die Videotextdaten ausgeben kann. Ich hoffe, daß es auch die PVR 350 betrifft
-
Die DVB-Karte hat soweit ich weiß schon etwas damit zu tun. Zumindest gibt es zahlreiche Postings hier im Forum, in denen User mit Nur-PVR-Lösungen beschreiben, dass bei ihnen die epg.data nicht geschrieben wird. Bei Usern die sowohl eine DVB- als auch eine PVR-Karte besitzen wird die epg.data hingegen korrekt angelegt.
Keine Ahnung woran das liegt. Scheint aber so zu sein. Jedenfalls wurde bei mir auch keine epg.data geschrieben bis ich die Skripte savepg.pl und putepg.pl verwendet habe.CU
Anywhere
-
Hallo @ all
&
lordgringoDer Durchlauf von savepg.pl war erfolgreich.
Daten in /var/lib/video.00/epg.data geschrieben und Logdatei in /var/log/savepg.log angelegt.
Vdr neu gestartet
Der Durchlauf von putepg.pl endet mit der Fehlermeldung:
Can´t locate helperfunc.pl in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.4 /usr/lacal/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . /etc/vdr/tvmovie2vdr /usr/share/vdr-addon-tvmovie2vdr/inc) at ./putepg.pl line 17.Wo finde ich oder bekomme ich die helperfunc.pl her? Was bedeutet der Rest der Fehlermeldung?
Gruß MAK
-
-
Hallo @ all
&
lordgringoSo ich bin wieder ein Stück weiter, hatte nach einem Durchlauf von putepg.pl die Fehlermeldung:
Can´t locate helperfunc.pl in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.4 /usr/lacal/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . /etc/vdr/tvmovie2vdr /usr/share/vdr-addon-tvmovie2vdr/inc) at ./putepg.pl line 17.
Lösung: helperfunc.pl war in einem anderen Verzeichnis als vom Script erwartet, habe dieses im Script dies geändert.
Danach war der Durchlauf von putepg.pl erfolgreich und endete mit Meldung "clearing EPG".
Logdatei in /var/log/putepg.log wurde angelegt.Doch das Ergebnis ist ziehmlich mager ausgefallen, momentan nur auf Sat1 EPG im OSD! Beim Durchlauf von tvm2vdr.pl habe ich auf alle Kanälen EPG.
Werde mir putepg.log vornehmen um Fehler zu finden.
Gruß MAK -
Wesie
Nein, ohne DVB-Karte im System arbeitet der vdr leider anders. Ich hab e mir damals die source angesehen, und festgestellt, dass das analogtv-Plugin anders als eine DVB-Karte arbeitet. Beim Plugin gibt es einen Parameter mit dem ein nur PVR System Kennzeichnen kann, damit der vdr die üblichen Dinge, die sonst initialisiert werden, auch tut. Leider stürzt der vdr so kompiliert bei mir ab. Mit der ctvdr Variante und einem nur PVR System ist epg leider nur über die pl's möglich, da hiflt kein erstellen der Datei oder sowas. Wer zuviel Zeit hat kann sich ja mal mit der Materie beschäftigen
Zitat Readme.html vom analogtv Plugin
"Anyone using VDR without DVB-card, that means if you use the analogTV-plugin as a primary device, can use EPG by activating the line# NEED_OWN_SIP = 1
in the "Makefile"."
Ich habe auch mal der Herrn "Ersteller" kontaktiert, hat aber nicht reagiert.Der vdr sagt zwar,dass er die Epg.data lädt, aber dies tut er nicht...
Und wegschreiben tut er auch nix...
Also Freunde des Kompilierens....^^
Bei mir wars ein Core Dump ...Zu den Problemen von MAK: mmh
Fällt mir nur ein, der andere BUG mit PVR's der Frequenzen...
in der Channels.pl oder so (bin voll erkältet, also nicht alles auf die Goldwage legen) Beim pvr darf die Frequnz nur dreistellig sein. IMHO Bug im tvm2vdr.plGruß Sebastian
PS: vll gibt es bald EPG mit PVR, immerhin stellt der ivtv-0.2.0 ja eigentlich alles bereit....oder irre ich
-
Hallo,
meine Frequenz ist dreistellig, der Fehler kann da nicht liegen, da in Sat1 EPG jetzt gezeigt wird.
Alle Dateien die EPG Infos beinhalten, wie epg.tmp, putepg.log, epg.data haben aber von allen Sendern die Infos gespeichert. Dabei ist das Muster zu den Frequenzen bei allen Sendern gleich.
Werde mal putepg.pl und tvm2vdr.pl versuchen zu vergleichen, wie sie die Daten wegschreiben.
Leider kann ich keine Script schreiben bzw. richtig lesen, so das ich nur ungefähr verfolgen kann, was bei einem Script abläuft.Wenn ich putepg.pl ablaufen lasse, wird es nur mit Meldung clearing EPG beendet.
Wenn ich tvm2vdr.pl ablaufen lasse, wird es mit Meldung:
clearing EPG
C C-0-224-28107
C C-0-231-889
usw beendet.
Gruß MAKNachtrag: das ganze Problem mit dem EPG ist nicht nur mit der PVR.
Ich betreibe meinen VDR mit einer ganz einfachen analogen TV-Karte Hercules Smart TV stereo.
Ich hätte noch die Möglichkeit, EPG über nxtvepg zu holen, bin davon aber nicht so ganz überzeugt. Habe es bei mythtv ausprobiert und die Sendernahmen nicht ganz syncron bekommmen und viel andere Einstellarbeit. Da tvmovie sonst problemlos funktioniert, müßte der Rest, das EPG nach neustart da ist, auch hinzubekommen sein.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!