xmltv2vdr-plugin, Steuerdatei?

  • Hallo,


    Was genau muss in diese Steuerdatei die im Wiki erwähnt wird? Ich steig da nicht ganz durch.
    Meine Xmltv-Datei bekomme ich von timefor.tv, dort kann ich auswählen welche Sender ich in der Xmltv-Datei haben möchte.
    Die Datei lade ich per cron und wget in mein Homeverzeichnis. Wie teile ich dem Plugin nun mit das es neue Daten gibt, und vorallem wie muss ich diese Steuerdatei einstellen?!


    ich vermute mal ich brauche eine Steuerdatei mit folgendem Aufbau:


    file <- file ist klar bei einer datei
    7 <- je nach dem wie weit die Daten in der XMLTV Datei in die Zukunft reichen?
    rtl.de;004 <- verbindlicher Sendername der in der XMLTV Datei auftauchen muss, die Zahl hinter dem ';' ist für?
    sat1.de;005
    nickcomedy.de;190:625 <- 190:625 ??



    Dazu lege ich meine xmltv datei als /var/lib/epgsources/timefortv.xmltv ab.
    Wie bekommt das Plugin nun mit das neue Daten da sind? Oder muss hinter die erste Zeile der Steuerdatei noch eine Uhrzeit?
    Also sozusagen um per cron um 18 Uhr die XMLTV holen, und um 19 Uhr die Datei importieren?


    Für mich ist der Eintrag im Wiki irgendwie sehr unverständlich, wenn wir das hier klären können werde ich den Eintrag liebend gerne erweitern :)


    Als Referenz der Wiki Link; http://www.vdr-wiki.de/wiki/index.php/Xmltv2vdr-plugin


    Chris.

  • Wenn /var/lib/epgsources/timefortv vorhanden ist dann kennt xmltv2vdr einen neuen Grabber namens timefortv.
    Die Kanäle die von diesne Grabber zur Verfügung gestellt werden liest er dann dort draus.


    Der Aufbau ist

    Code
    file;<Uhrzeit wann die Daten auf dem Server üblicherweise aktualisiert werden>;1;<1 wenn Bilder bereitgestellt werden>
    1;15
    13th-street.de
    foo.de
    bar.de
    <d.h. eine Liste aller Sender>


    xmltv2vdr ruft dann ein Programm names "timefortv" auf, und wenn es sich per exitcode 0 beendet hat erwartet das Plugin die xml Datei mit den EPG Daten dort.


    Du brauchst also nen Script welches von timefortv die Daten runterläd und dort dann die Sendernamen auf die verbindlichen Kanalnamen ändert.


    BTW: Hier hat schonmal jemand das selbe gemacht: [gelöst; solved] Wie Wert in channelids von xmltv Datei für xmltv2vdr ändern? (bash und xsltproc)


    cu

  • Ok, das habe ich jetzt kapiert. Perfekt.



    nun noch eine Frage zu den Kanalnamen:
    Wie ordnet das plugin die Sender richtig zu? Es kann ja durchaus einmal vorkommen das ein Sender im vdr einen leicht anderen Namen hat. Als Beispiel mal Pro7, ProSieben oder Pro Sieben ?
    gibt's da irgendwo noch ein mapping, oder hardcoded?


    Gleiches Problem bei den HD Sendern, einmal Syfy, einmal Syfy HD


    Chris

  • Pro7 hat den eindeutigen Namen "prosieben.de", d.h. alle Grabber die Pro7 epg liefern geben an epg für "prosieben.de" zu liefen. Deswegen muss auch jeder Grabber die Sendernamen die die Datenquelle verwendet irgendwie zu den eindeutigen Kanalnamen mappen (wie er das umsetzt ist Sache des Grabbers).


    Altiviert der Nutzer das erste mal in einem Grabber das epg für "prosieben.de", dann muss er diesen Kanal konfigurieren und mappen (d.h. aus der Kanalliste den Sender Pro7 auswählen damit er prosieben.de zugeordnet ist).
    D.h. du musst jeden Kanal für den du externes epg willst einmal im Pluginsetup konfigurieren. Aber nur einmal, egal welchen Grabber man nutzt (man kann den genutzen Grabber deswegen auch einfach wechseln ohne was neu zu konfigurieren).


    Bei den HD Varianten braucht es nur nen extra Namen wenn die HD Variante ein anderes Programm sendet.
    D.h. bei "syfy.de" braucht es keinen extra Namen für SyFy HD. Du weist syfy.de einfach die Einträge für SyFy und für SyFy HD zu.


    cu

  • Ich hab das schon richtig verstanden:


    xmltv2vdr ruft den "grabber" automatisch auf?
    Wenn die Steuerdatei timefortv heißt müsste das plugin ein Programm Namens "timefortv" aufrufen?
    Ich habe ein Script mit dem Namen "timefortv" erstellt, +x und nach /usr/bin kopiert.
    Testlauf als User.


    Das Script hab ich mit ein paar logger gespickt, ich sehe also im syslog obs aufgerufen ist, wird es aber nicht.


    Im Plugin OSD seh ich das er den grabber gefunden hat und sehe meine Kanäle von aus der Steuerdatei.


    Siehe syslog: http://pastebin.com/0J4x76Dj

  • xmltv2vdr ruft den "grabber" automatisch auf?


    Jup. Wenn xmltv2vdr der Meinung ist es aufrufen zu wollen ;)


    Beachte das log
    ----
    nextrun on Tue Feb 26 21:00:00 2013
    ----


    Du kannst den Aufruf auch manuell per svdrp anstossen.



    So fürs testen ist xmltv2vdr schlecht geeignet (am Anfang muss man z.B. auch bei gestoppten vdr die epg.data löschen, sonst sieht man das externe epg nicht wenn man nicht mischt). Aber später im realen Leben läufts unauffällig und stressfrei.


    cu

  • Ich hänge mich einfach hier nochmal mit dran. Habe dank dem verlinkten Thread mal ein bisschen an einer XSL für timefor.tv gebastelt.


    Im Prinzip ist in der Datei nur eine Map in der die von timefor.tv vergebenen IDs auf die von xmltv2vdr genutzten Namen mappt. Das XSL ersetzt nun das Attribut IDs von timefor.tv im Channel Tag mit den gemappten. Im zweiten Schrit werden noch die Programmdaten aktualisiert. Es wird im Tag programme das Attribut channel von der timefor.tv id auf die xmltv2vdr id gemappt. Ich habe die meisten deutshcen Sender die auf timefor.tv verfügbar sind bereits in die Map aufgenommen. Wenn welche fehlen kann die Map einfach um einen Eintrag erweitert werden.


    <channel id="www.timefor.tv/tv/IDDESKANALS" xmltv2vdr="XMLTV2VDRKANAL"/>
    z.B.:
    <channel id="www.timefor.tv/tv/162" xmltv2vdr="ard.de"/>


    Jetzt bräuchte man nur noch ein Script dass täglich die Datei herunterlädt via xsltproc transformiert und in das entsprechende Verzeichnis legt. Ich bin mir noch nicht ganz schlüssig ob ich das durch einen cronjob erledigen lassen soll oder direkt vom Plugin über das timefortv Script dass aufgerufen wird.


    Mit cronjob wäre dann noch ein summy Script notwendig dass genau wie der Grabber unter /var/lib/epgsources/ heist und praktisch nur exit 0 zurückgibt. Dann muss sichergestellt werden das der Cronjob die Arbeit übernimmt.


    Prinzipiell ist es aber immer die selbe vorgehensweise.


    1. Herunterladen der aktuellen TV-Daten von timefor.tv (wget http://timefor.tv/xmltv/PIN -O /tmp/timefortv.xml)
    2. Transformieren der TV-Daten mit dem angehängten xsl via xsltproc (xsltproc /var/lib/epgsources/tft2xmltv2vdr.xsl /tmp/timefortv.xml > /var/lib/epgsources/timefortv.xmltv)
    3. ggf. Eigentümer und Gruppe der neuen Datei auf vdr ändern (chown vdr:vdr /var/lib/epgsources/timefortv.xmltv)
    4. Update der EPG Daten starten (svdrpsend plug xmltv2vdr updt)


    Das Update kann man sich natürlich sparen wenn man das Script für den Grabber nutzt. Nachdem das Script mit exit 0 beendet wird wird automatisch ein Update angestartet.



    Falls ich etwas dabei vergessen habe bitte ich um Feedback.

    Dateien

    WZ: yaVDR (0.5): Gigabyte GA-MA78GM-S2H / AMD 240e / LianLi PC-C50B / atric & Harmony 650 / 2GB G.Skill 800 / 2x TT S2-1600 1x TT S2-3600 / 60GB OCZ Vertex2 / Gainward G210 passiv
    AZ: yaVDR (0.5): PoV 330-1 (Atom/ION) / MS-Tech MC-1200/ 2GB Kingston VR 800 / TT S2-1600 / OCZ SSD Onyx 32GB / atric & Harmony 600
    EZ: Raspberry Pi - OpenElec
    HL: GA-MA78GM-S2H / AMD 5050e (@1.1V) / 2x DVBSky S952 Dual / 64 GB SanDisk SDSSDP-064G-G25 / 4 GB RAM / BQT E9
    NAS: Synology DS-1511+ (DSM 4.2) / 5x2TB Samsung F4 / Raid 5 / Smargo / Oscam / APC Back-Ups cs 350

Jetzt mitmachen!

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