epgdata2vdr - möchte es wer übernehmen/weitermachen/mitmachen ?

  • OK.


    Die VDR-Includes wieder raus und Deine Änderung rein. Läuft nun ohne Fehler oder Warungen durch:


    EPG wird nun erstellt und die Bilder gehen wohl auch. Vielen Dank!
    Ich muss mir das später mal genau am TV anschauen ;) Bericht folgt dann umgehend :lovevdr

  • Ich hab mal noch ein bischen was gemacht.


    • Fehler beim Genre parsen behoben
    • EPG Eintrag sollte nicht mehr von Live EPG überschrieben werden.
    • vdr includes entfernt und die benötigten hinzugefügt
    • Formattierung ein wenig verbessert
    • Extrahieren der dtd ins include dir


    Jetzt müsste ich nur noch wissen seit wann Live und Graphtft Bilder kann, damit ich auch was davon habe ^^ (ich hätte hier graphtft (0.1.6.alpha) und live (0.1.0), geht das da schon ?)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • kompilieren funktioniert nicht:
    libzip-dev, libxml2-dev und libmagickcore-dev (debian) waeren installiert.

  • Hi,


    die Revision 144 läuft bei mir auf Gen2VDR 2 ohne Fehler durch. Thanks!


    PS: Wie ist das mit den EPG-Bildern? Es werden ja jeden Tag neue Bilder geladen. Die Bilder werden ja verlinkt. Was ist die beste vorgehensweise? Ich habe momentan im Skript einen Find-Befehl drin, der die Bilder-Verzeichnisse löscht, wenn sie älter als 20 Tage sind. Zusätzlich werden kaputte Symlinks in epgimages-Verzeichnis gelöscht.
    Ich habe bemerkt, dass die bilder eigentlich fast immer die selben sind. Würde es sinn machen, die alten immer zu Überschreiben und alles in ein festes Verzeichniss zu packen z.B. $WORKDIR/files/epgimages ?

  • Selbst überschreiben macht eigentlich kein Sinn. Anyway da muss ich erstmal drüber nachdenken -> Wochenende ;)


    Eigentlich kannst du alle bis auf das letzte Bilderverzeichnis löschen.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Momentan mache ich folgendes:


    Die Bilder-Verzeichnisse lösche ich wenn sie mehr als 7 Tage alt sind (Ich hole nur für 7 Tage im voraus). Dann werden die entstandenen defekten Symlinks im epgimages-Verzeichnis entfernt. Das alles mache ich bevor neue Daten geladen werden:

    Code
    EPGIMAGES=/video/epgimages  # Auskommentieren, wenn keine EPG-Bilder gewünscht
    DAYS=7                      # EPG für x Tage laden
    ...
    # Delete old EPG-Images
    find $WORKDIR/files/* -maxdepth 1 -type d -mtime +$DAYS -exec rm -rf {} \;
    # Also delete old symlinks (-L only broken symlinks)
    find -L $EPGIMAGES/* -type l -delete # Remove all broken symlinks


    Hier mal mein epgimages von heute:

    Man sieht, dass die Symlinks nicht vom epgdata2vdr Programm überschrieben werden. Es werden nur neue angelegt. Darum mache ich die Bereinigung vor dem holen neuer Daten. Einige Links sind aber defekt. Ich denke mal, die Bilder fehlen im Archiv.

  • Das kann gut sein. die momentane Implementierung entpackt und wandelt alle Bilder im zip-file. Beim parsen des XML werden die Symlinks angelegt, wobei ich nicht überprüfe ob die Bilder da sind, da sie ja nach dem XML ausgepackt werden könnten. Da das ganze eher Rohform hat aber grösstenteils läuft prüfe ich auch nicht ab, ob die Symlinks angelegt werden können. Es werden eigentlich nur die gröbsten Sachen gecheckt, schön kommt später oder garnicht ;). Wichtig ist mir das es grob geht, weil ich es benutze.


    Warum begrenzt du auf 7 Tage ? Das Skript lädt solange runter wie Files da sind, also Probleme das es sich weghängt und man manuell Dateien löschen muss kommt hier eigentlich nicht vor. Auch bei der Anzahl Sender habe ich jetzt keine großen Verlangsamungen feststellen können, es wird eh alles vom XML gelesen.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • nun ich bin sehr zufrieden mit der Lösung. So wie es läuft im Moment kann ich nicht Klagen.
    Ich begrenze alles auf 7 Tage, um erstens bei den Timern, die epgsearch anlegt den Überblick zu behalten und zum anderen, weil pro Tag ~60MB an Bildern geladen werden.


    PS: Ich habe noch bemerkt, dass manchmal im EPG "Folge: 0" auftaucht. Kann man das so lösen, dass bei "0" ist die ganze Zeile nicht angezeigt wird?
    Ähnliches gilt bei "Techn. Det.:"; mir wäre es lieber, wenn das ausgeschrieben würde ("Technische Details"; Platz ist ja genug) und wenn keine Daten da sind es gar nicht angezeigt wird.
    Zusätzlich könnte man noch die Länge der Sendung mit angeben? Vielleicht bei Land/Jahr mit in die Zeile oder bei der Info "Serie"


    Im normalen SenderEPG sieht das oft so aus:

    Code
    Dexter
    Teamwork
    3. Staffel, Folge 6: Dexter will seinen neuen Verbündeten Miguel auf die Probe stellen. Der überrascht ihn mit dem Vorschlag, ihr Opfer gemeinsam zu töten. Unterdessen wird Rita gefeuert. Das stürzt sie in eine tiefe Krise. Auch Dexters Schwester Debra ist verzweifelt: Sie glaubt sich an einem weiteren Mord mitschuldig gemacht zu haben. - Nervenzerrende, sarkastische Krimiserie um einen Ermittler mit blutigem Doppelleben.
    USA 2008. 52 Min. Von Ernest R. Dickerson, mit Michael C. Hall, Julie Benz, Jennifer Carpenter.


    PPS: Ich finds toll, dass Du doch noch weiter gemacht hast, obwohl du ja eigentlich das Projekt abgeben wolltest. Tolle Arbeit! Übrigens ist das Sahnehäubchen, dass nun der EPG nicht mehr überschrieben wird. Wie wird das gemacht? Bei den anderen Lösungen die ich verwendet hatte ging das nie

  • 'Nabend :)


    Bezüglich des überschreibens, das macht tvm2vdr-plugin auch richtig, ich habe falsch gelesen/übersehen wie der VDR einen Eintrag haben will, somit hatte ich für zukünftige Events immer das "volle" Epg vom laufenden Programm aber nicht da VDR es überschrieben hat.


    Zitat

    TableID
    hexadezimale Zahl, die angibt in welcher Event-Tabelle das enthalten ist.
    (wenn diese leer gelassen wird oder 0 ist, werden verhandene Daten nicht überschrieben oder geändert, mit Daten welche aus dem DVB Stream kommen)


    http://www.vdr-wiki.de/wiki/index.php/Epg.data#E


    Bezgl. des weitermachens: Ich wollte eigentlich das ganze als Plugin inklusive Download und Verarbeitung, was ich mit meinen Fähigkeiten so auf die schnelle nicht geschafft habe, deswegen: "übernehmen/weitermachen/mitmachen" - In kleinen Schritten geht das schon, solange die Erwartungen nicht zu hoch sind, passt das schon ... :) Zumindest ein Mitstreiter wäre immernoch hilfreich (zB für den Umzug des Code in ein Plugin oder den Code zum Herunterladen).


    Ist aber schön zu hören wenn es auch für andere nützlich ist.


    Wegen der Formatierungsdetails: Läßt sich machen.
    Technischen Details: ist eigentlich schon da, ich habs mal geändert, probier mal obs jetzt geht. Ausgeschrieben ists jetzt auch.
    Dauer: Geht, hab ich hinzugefügt.
    Folge: Hab das mal mit abgefangen jetzt.


    Feedback ist willkommen !

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Also das finde ich mal Super! Es ist schön, dass es weiter geht. Wobei es ja auch jetzt schon absolut tauglich ist.


    Folgendes habe ich noch bemerkt:

    Code
    D Action-Star Jean-Cl...hner zum Spektakel.|Spielfilm - Krimi|PrimeTime|FSK: 16F|L|B 2008 95 Min.||Schauspieler: Zinedine Soualem (Mann mit Kappe) - Karim Belkhadra (der Wachsame)|Show-Id: 35293953

    Bei FSK fehlt der abschließende Zeilenumbruch und bei den Ländern? sind wohl Umbrüche drin. Die könnte man durch "/" ersetzen. Ich würde auch gerne das Jahr und die Laufzeit gerne duch einen "." oder ein "," trennen (in der gleichen Zeile)


    Das Skript habe ich aus den sehr guten Vorlagen hier angepasst auf mein System. Falls es jemanden interessiert:

    Aufgerufen wird es hierüber:

    Habe das Skript vorgeschaltet, um die eventuell laufende Suche von EPGSEARCH an zu halten beim Update.


    PS: Kann man das entpacken der dtd aus dem Skrit nun raus nehmen? Weiter oben lese ich: "Extrahieren der dtd ins include dir"


    Edit: Fehler im Skript behoben:

    Code
    # Delete old EPG-Images 
    find $WORKDIR/files/* -type d -mtime +$DAYS -print0 | xargs -0 rm -rf 
    # Also delete old symlinks (-L only broken symlinks) 
    [ -n $EPGIMAGES ] && find -L $EPGIMAGES/* -type l -delete
  • Du könntest das extrahieren der dtd weglassen. Dann darf sie natürlich vom Script nicht gelöscht werden. Ist klar.


    Normal ändert die sich nicht. Andererseits kostet es so gut wie keine Zeit sie jedes Mal zu entpacken. Und dann ist sie aber auf jeden Fall passend zu den geladenen Daten. Daher würde ich das drin lassen.

  • Hallo,


    ich habe mal einige kosmetische Fehler korrigiert. Ich kann leider nicht programmieren; aber es scheint zu funktionieren:


    • Doppelter Zeilenumbruch bei "Folge"
    • Zeilenumbrüche bei Land entfernt und durch / ersetzt (USA/GB/D)
    • Jahr mit "." (D 2005. 45 Min.)
    • Fehlender Zeilenumbruch bei FSK
    • Bilder in gemeinsames Verz. (sonst. ~60MB/Tag)


    Edit: Habe bei Land die Zeichen "|" duch "/" ersetzt...
    Edit2: Alle Bilder in das selbe Verz. IdR kommen immer die selben bilder (tägl. ~60MB. Durch das zusammenfassen wird Speicher gespart)

  • Anbei noch dei Änderung im Skript, um alte Bilder zu Löschen:

    Code
    # Delete old EPG-Images
    find $WORKDIR/files/images/* -type f -mtime +$DAYS -print0 | xargs -0 rm -f
    # Also delete old symlinks (-L only broken symlinks)
    #find -L $EPGIMAGES/* -type l -mtime +15 -delete # Older than 15 days
    [ -n $EPGIMAGES ] && find -L $EPGIMAGES/* -type l -delete
  • Vielen Dank MegaV0lt, wird demnächst eingecheckt. Sobald ich wieder ein Build Environment habe. So im Detail hatte ich mir das Ergebnis noch nicht angeschaut :D :cool1


    Momentan war ich ein wenig busy auf Ubuntu umzusteigen. (siehe: Installation: Ubuntu + the-vdr-team - Erfahrungen/Fragen/Antworten ) Die letzten beiden WEs ein paar Baustellen zuviel ;)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Gerne doch. Ich bin froh, dass ich trotz meiner nicht vorhandenen Kenntnisse etwas beitragen konnte. Den Code zum ersetzen habe ich mit Hilfe von Google entdeckt und leicht angepasst.

  • :cool1


    Danke an steffen_b und alle die hier kräftig an epgdata2vdr gewerkelt haben/werkeln. Nach 2 Tage basteln hab ich es ans laufen bekommen. Ich habe einiges dabei gelernt und war ziemlich stolz das es nun läuft, trotz meiner beschränkten Programmier-Kenntnisse.


    Viele Grüße


    Enouk

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!