[tvscraper] Nummer der Staffel und Nummer der Folge

  • Das wurde ja schon diskutiert. Und wenn ihr denkt, das geht noch besser, dann habt ihr natürlich recht :) . Ich bin da auch gerne bereit zu Verbesserungen beizutragen.

    Andererseits ist das Thema nicht ganz trivial, und nicht jeder auf den ersten Blick einfache und gute Vorschlag führt zu Verbesserungen. Daher beschreibe ich jetzt hier mal die Herausforderungen. Ich bitte Euch, das zu lesen und zu verstehen, bevor ihr Verbesserungsvorschläge macht. Wenn meine Formulierungen unverständlich sind, könnt ihr natürlich sehr gerne nachfragen.

    Was ist die richtige Nummer der Staffel und Nummer der Folge?

    Ich versuche, das mal mit einem Beispiele zu erklären: Serie "PAW Patrol", Folge "Moto-Chase und die Katzenallergie".

    • Nach tvsp ist das Staffel 7, Folge 24b
    • Nach TheTVDB ist das Staffel 7, Folge 41

    Ich kann hier die tvsp Daten nicht nehmen: Zum Einen unterstützt tvscraper nur Zahlen als Folgennummer, daher geht 24b nicht (OK, das wäre wohl lösbar). Und zum Anderen:

    • Wenn ich jetzt nach Folgen sortieren will, woher weis ich dann, ob Folge 26 vor Folge 24 ist, oder danach? Also, Folge 26 (TheTVDB Nummerierung) kommt vor Folge 24 (tvsp Nummerierung)
    • Wenn ich jetzt für alle Folgen Timer anlegen will, die noch noch nicht aufgezeichnet sind: wie soll ich dann herausfinden, ob Folge 24 schon aufgezeichnet wurde? Das hängt jetzt davon ab, ob es Folge 24 nach tvsp Nummerierung ist, oder Folge 24 nach TheTVDB Nummerierung, oder ...

    Auch TMDB verwendet teilweise anderer Nummerierungen als TheTVDB, z.B. werden manchmal Jahreszahlen (z.B. 1998) als Staffelnummern verwendet. Und selbst innerhalb von TheTVDB gibt es unterschiedliche Nummerierungen, z.B. entsprechend der Reihenfolge der Ausstrahlung im TV, oder entsprechend der CDs, oder ...

    Jetzt gibt es noch Nummern von eplists, und, um ehrlich zu sein, ich habe keine Ahnung, ob das nochmal völlig neue Nummern sind oder ob die Nummern z.B. mit den TheTVDB Nummern übereinstimmen.

    Um das ganze zusammenzufassen:

    Eine Staffelnummer + Folgennummer ohne weiteren Kontext ist wertlos. Es wird ein Kontext benötigt, z.B. entsprechend der default TMDB Nummerierung, oder entsprechend der default TheTVDB Nummerierung, oder ...

    Derzeitige Lösung in tvscraper:

    • Für Serien, die in TheTVDB identifiziert werden: Die Nummer der Serie selbst ist negativ (-> TheTVDB Seriennummer), und die gespeicherte Staffelnummer + Folgennummer entspricht der default Nummerierung von TheTVDB
    • Für Serien, die in TMDB identifiziert werden: Die Nummer der Serie selbst ist positiv (-> TMDB Seriennummer), und die gespeicherte Staffelnummer + Folgennummer entspricht der default Nummerierung von TMDB

    Es werden immer 3 Zahlen gespeichert: Seriennummer, Staffelnummer und Folgennummer. Für Serien, die sowohl in TheTVDB als auch in TMDB sind, wird immer die Serie in TheTVDB verwendet.

    In KODI entscheidet übrigens der Anwender, ob er den TheTVDB Scraper nehmen will, oder den TMDB Scraper. Das macht die Sache natürlich einfacher.

  • Ich könnte jetzt natürlich eine

    Code
    regexTitleDescriptionChannel->seasonNumberEpisodeNumber

    analog zu

    Code
    regexTitleShortTextChannel->seasonNumberEpisodeNumber

    bauen. Damit könnte man dann Staffelnummer + Folgennummer aus dem Langtext holen, wenn sie dort z.B. vom externen EPG Provider verfügbar gemacht werden. Das hilft aber nur dann, wenn die Staffelnummer + Folgennummer aus dem Langtext hinreichend gut mit der TheTVDB Nummerierung übereinstimmt, was oft nicht der Fall ist.

  • Eine gute Idee.

    Anmerkungen dazu auf Basis dieses Beispiels:

    1. nur wenn die bestehende Suche nichts findet. Weil die Nummern nicht unbedingt zusammenpassen, soll ja nichts falsch gemacht werden, was jetzt funktioniert.

    2. "Name der Episode" aus Kurztext übernehmen, wenn TVDB nichts auf deutsch hat.

    Und noch ein Beispiel, wo was schief läuft: Schaue dir mal bitte die nächsten Folgen von "Achtung Abzocke" an, da sind alle Folgen Staffel 11 Folge 1. Steht so in der Seite "Scraper" im Langtext (S11E1), nicht aber auf "EPG" Seite. Kommen da von tsvp falsche Werte oder geht das im scrapping schief ?

    VDR

    Server: Ubuntu 24.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi 3+

  • Wie wäre es, doch noch eplists mit zu implementieren als dritte Quelle?
    Denn die ist manuell gepflegt und vermutlich am "richtigsten".

    VDR zwei drei
    • VDR 01 (Server): VDR 2.7.7 - 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): VDR 2.7.5 - 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - iptv - osdteletext - skinnopacity - softhddevice - svdrpservice - tvscraper]
  • Ich verwende zum aktualisieren von eplist ein Skript, das alle Informationen von fernsehserien.de lädt und auf der Konsole ausgibt. Meistens kann man dann die Daten direkt verwenden.

    Display Spoiler

    PS: fernsehserien.de wäre auch eine gute Quelle für Staffel- und Episodennummern ;)

    Kanallogos: Picon.cz2VDR | Picons2VDR | MP-Logos
    Backupskripte: MV_Backup (RSync) | MV_BorgBackup (Borg)
    Skin: Skin FlatPlus

    "Es gibt keinen Grund, warum irgendjemand einen Computer in seinem Haus wollen würde."
    [Ken Olson], Präsident der Digital Equipment Corp., 1977

    VDR01 - yaVDR 0.7 (VDR 2.7.7)

    VDR 2.7.7; Gehäuse: Antec Fusion V2 Black & iMon LCD; Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, GTX 1050 Ti, 8 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5

    > Systeminfo.txt < [VDR-User #1540]

    Edited once, last by MegaV0lt (July 22, 2025 at 6:45 PM).

  • > Denn die ist manuell gepflegt und vermutlich am "richtigsten".

    Wie schon geschrieben: Eine Staffelnummer + Folgennummer ohne weiteren Kontext ist wertlos. Es wird ein Kontext benötigt, z.B. entsprechend der default TheTVDB Nummerierung, oder ...

    Und für tvscraper ist der Kontext TheTVDB bzw. TMDB (als Fallback). In live, im Popup mit den Detaildaten im Tab scraper, werden dann auch die Daten aus TheTVDB angezeigt. Also ich speichere die Staffelnummer und Folgennummer zu dem EPG EIntrag, und zeige dann unter "Episode:" und "Episode - Inhalt:" das an, was in TheTVDB zu dieser Staffelnummer und Folgennummer gespeichert ist. Manchmal gibt es auch ein Bild zu dieser Episode, das ich dann auch anzeige.


    Das ist in tvscraper schon schwieriger als in den KODI scrapern: ich berücksichtige TheTVDB bzw. TMDB (als Fallback), bei Kodi gilt: ein scraper für eine externe Datenbank.

    Das Verwenden der Nummern aus anderen Datenbanken (eplists, serienjunkies, ...) geht schief, wenn diese Nummern nicht zufällig mit den Nummern aus TheTVDB übereinstimmen.


    Ich zitiere mich mal selbst: Es werden immer 3 Zahlen gespeichert: Seriennummer, Staffelnummer und Folgennummer. Für Serien, die sowohl in TheTVDB als auch in TMDB sind, wird immer die Serie in TheTVDB verwendet.

    Im Prinzip müsste ich neben diesen Zahlen noch eine weitere ID speichern: Datenbank, aus der die Staffelnummer und Folgennummer kommt. Das ist natürlich machbar, erhöht aber doch die Komplexität deutlich. Daher würde ich das gerne vermeiden.

  • Eine Staffelnummer + Folgennummer ohne weiteren Kontext ist wertlos.

    Eplists enthält doch den Namen und Folgen Name und Nummer. Und hat den Vorteil, dass auch alternative Episoden Namen gespeichert werden können.

    Gleiches gilt für fernsehserien.de

    Da ist mein Gedankengang wohl zu einfach

    Kanallogos: Picon.cz2VDR | Picons2VDR | MP-Logos
    Backupskripte: MV_Backup (RSync) | MV_BorgBackup (Borg)
    Skin: Skin FlatPlus

    "Es gibt keinen Grund, warum irgendjemand einen Computer in seinem Haus wollen würde."
    [Ken Olson], Präsident der Digital Equipment Corp., 1977

    VDR01 - yaVDR 0.7 (VDR 2.7.7)

    VDR 2.7.7; Gehäuse: Antec Fusion V2 Black & iMon LCD; Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, GTX 1050 Ti, 8 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5

    > Systeminfo.txt < [VDR-User #1540]

  • Eplists enthält doch den Namen und Folgen Name und Nummer. Und hat den Vorteil, dass auch alternative Episoden Namen gespeichert werden können.

    Gleiches gilt für fernsehserien.de

    Da ist mein Gedankengang wohl zu einfach

    Ich glaube, Markus sieht Probleme, drei Quellen unter einen Hut zu bringen, selbst wenn zwei davon die gleichen Daten hätten.
    Er muss die dritte Quelle ja auch matchen können, um deren Daten anzuzeigen.

    VDR zwei drei
    • VDR 01 (Server): VDR 2.7.7 - 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): VDR 2.7.5 - 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - iptv - osdteletext - skinnopacity - softhddevice - svdrpservice - tvscraper]
  • > Eplists enthält doch den Namen und Folgen Name und Nummer

    Das Problem ist, dass die Folge mit Name "Moto-Chase und die Katzenallergie" in Eplists die Nummer 27 (z.B.) haben kann, in fernsehserien.de die Nummer 30 (z.B.), in tvsp die Nummer 24b und in TheTVDB die Nummer 41.

    Zur eindeutigen Kennzeichnung einer bestimmten Folge brauche ich also:

    • Datenbank (z.B. Eplists oder fernsehserien.de oder TheTVDB oder TMDB oder Fernsehzeitschrift xyz oder ...)
    • Staffelnummer
    • Folgennummer
  • Ich könnte eine override_episodes.conf unterstützen. In diese Datei könnte so aussehen:

    Alle Daten unter "thetvdb.com" gehören zu TheTVDB.

    • 272472 ist die TheTVDB.com Series ID
    • Wenn ich in der "default order" in TheTVDB zu dieser Serie die Staffel 7, Episode 41 nachschlage, dann komme ich zu "Moto-Chase und die Katzenallergie"

    Auf diese Weise könnten Folgen, die mit den TheTVDB Daten nicht gefunden werden, identifiziert werden. Mehrere Namen für die gleiche Folge geht auch. Die Namen der Folgen werden 1:1 mit dem Kurztext verglichen, und bei Übereinstimmung werden Staffelnummer und Folgennummer aus override_episodes.conf verwendet.


    Anmerkung: override_episodes.conf kann natürlich automatisiert aus externen Datenquellen wie eplists oder fernsehserien.de oder ... erstellt werden. Wenn die Nummern dann aber nicht zu TheTVDB.com passen führt das zu falschen Ergebnissen, das sollte also überprüft werden.

    Ich würde daher vorsichtig herangehen, und override_episodes.conf z.B. zunächst mal für eine Serie erstellen, zu der TheTVDB.com z.B. die deutschen Folgennamen noch nicht kennt. Und dann zumindest Stichproben machen, ob die Staffelnummern und Folgennummern auch mit den TheTVDB.com Staffelnummern und Folgennummern übereinstimmen.


    Würde das helfen?

  • Würde das helfen?

    Ich glaube nicht, dass das praktikabel ist und später jemand nutzen wird. Zu viel manueller Aufwand, insbesondere das Beispiel "Moto-Chase und die Katzenallergie, WH vom 27.8.2025" zeigt das.

    Kann mal jemand ein Beispiel nennen, wo die Nutzung von eplists einen Vorteil bringen würde ? Ich habe bei meinen Suchtimer noch keines gefunden, alle waren entweder auch in TVDB oder haben in beiden gefehlt.

    VDR

    Server: Ubuntu 24.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi 3+

  • Als ich noch epgd/epg2vdr genutzt hatte, waren öfter mal unterschiedliche Nummerierungen im EPG. Leider hab ich keine Beispiele mehr, aber es waren praktisch immer eher exotische Sachen.

    Kanallogos: Picon.cz2VDR | Picons2VDR | MP-Logos
    Backupskripte: MV_Backup (RSync) | MV_BorgBackup (Borg)
    Skin: Skin FlatPlus

    "Es gibt keinen Grund, warum irgendjemand einen Computer in seinem Haus wollen würde."
    [Ken Olson], Präsident der Digital Equipment Corp., 1977

    VDR01 - yaVDR 0.7 (VDR 2.7.7)

    VDR 2.7.7; Gehäuse: Antec Fusion V2 Black & iMon LCD; Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, GTX 1050 Ti, 8 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5

    > Systeminfo.txt < [VDR-User #1540]

  • Als ich noch epgd/epg2vdr genutzt hatte, waren öfter mal unterschiedliche Nummerierungen im EPG. Leider hab ich keine Beispiele mehr, aber es waren praktisch immer eher exotische Sachen.

    Da epgd eplists nutzt, wären das dann Beispiele für Nachteile. Das war nicht meine Frage.

    VDR

    Server: Ubuntu 24.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi 3+

  • ...ich habe bisher auch noch keinerlei Probleme ohne eplists gehabt

    Hard- / Software
    • Octopus NET / MINI ITX / Chieftec IX-01B Case / DD-Max8 / DUR-LINE UK 124 Unicable / 8 x DVB-S2
    • Server / seahawk1986 / yaVDR-ansible - 2.7.8 / Ubuntu 24.04 / 6x DVB-S2 vtuner / ProLiant ML10 v2 / VmWare-ESXI 7.0.3 / 32 GB RAM / 4TB Raid1 Daten / 4TB Raid1 Aufnahmen
    • Client / seahawk1986 / yaVDR-ansible - 2.7.7 / Ubuntu 24.04 / 2x DVB-S2 vtuner / Intel NUC8i3BEH / 16 GB RAM / 512GB m.2 SSD / 85" Samsung UHD TV / Denon X3300W AVR
  • Ne, Problem hab ich auch noch keins festgestellt.
    Mein Vorschlag war auch eher für MegaV0lts Problem gedacht gewesen.

    VDR zwei drei
    • VDR 01 (Server): VDR 2.7.7 - 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): VDR 2.7.5 - 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - iptv - osdteletext - skinnopacity - softhddevice - svdrpservice - tvscraper]
  • Die Erkennung ist immer noch sehr schlecht.

    Beispiel Don't Fall... wird aber bei Fernsehserien gelistet.
    https://www.fernsehserien.de/don-t-fall-dance/episodenguide

    Auch eplists wäre eine Option, weil wenn Serien fehlen kann man die einfach schnell Nachtragen...

    Kanallogos: Picon.cz2VDR | Picons2VDR | MP-Logos
    Backupskripte: MV_Backup (RSync) | MV_BorgBackup (Borg)
    Skin: Skin FlatPlus

    "Es gibt keinen Grund, warum irgendjemand einen Computer in seinem Haus wollen würde."
    [Ken Olson], Präsident der Digital Equipment Corp., 1977

    VDR01 - yaVDR 0.7 (VDR 2.7.7)

    VDR 2.7.7; Gehäuse: Antec Fusion V2 Black & iMon LCD; Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, GTX 1050 Ti, 8 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5

    > Systeminfo.txt < [VDR-User #1540]

  • Hi,

    Ich plane den Vorschlag von kfb77 umzusetzen:

    Falls die Episode von tvscraper (in TheTVDB) nicht gefunden wird, wird eine Regex auf den Langtext (Description) angewendet. Bei einem Match geht die erste Capture Group -> "Name der Episode", 2. Capture Group -> "Nummer der Staffel", 3. Capture Group -> "Nummer der Episode".


    Ich kann jetzt noch nicht sagen, wann ich dazu komme. kfb77 , magst Du die Regex beisteuern?


    > Auch eplists wäre eine Option, weil wenn Serien fehlen kann man die einfach schnell Nachtragen...

    MegaV0lt , versuche doch mal, fehlende Folgen in TheTVDB nachzutragen. Ja, das ist wohl mehr Aufwand als bei eplists. Andererseits: Es profitieren dann auch mehr Anwender ...

  • kfb77 , magst Du die Regex beisteuern?

    Klar, mache ich gerne. Wie ist der Zeilenumbruch an der Stelle, wo die Rexex arbeitet ? "\n" oder "|" ?

    Bei einem Match geht die erste Capture Group -> "Name der Episode", 2. Capture Group -> "Nummer der Staffel", 3. Capture Group -> "Nummer der Episode".

    Ein Punkt fehlt noch, um einheitliche "all tvscraper" Suchtimer bauen zu können: Titel -> "Name in external database". Die Datenbank ist dann eben das externe EPG.

    VDR

    Server: Ubuntu 24.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi 3+

  • Ich vermute mal, intern ist das "|"

    Hier mein Vorschlag dazu:

    Code
    Episode:\s(.*)\|Staffel\s(\d+),\sFolge\s(\d+)\/

    Getestet mit:

    Code
    Episode: Flüssiges Gold|Staffel 2, Folge 1/8|Dass Kaley Cuoco schwanger war, nutzte Serienmacher Craig Rosenberg („The Boys“) kurzerhand für die Story. Er lässt sie als Ava mit Gatte Nathan (Chris Messina) in der zweiten und zugleich letzten Staffel als Eltern agieren.

    Edit: Die Rexex ist bewusst so gebaut, dass keine Buchstaben in der Folgenummer akzeptiert werden. Das würde bei epgsearch sonst Probleme machen.

    VDR

    Server: Ubuntu 24.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi 3+

    Edited once, last by kfb77 (August 6, 2025 at 6:59 PM).

  • Auf die Umsetzung freue ich mich.

    Bitte auch den Kurztext auswerten. Beispiele sind Sender wie Canal+ Action oder 3+

    Werde mich bei thetvdb mal anmelden und schauen, ob sich das einfach updaten lässt.

    Mein Favorit ist aber fernsehserien.de. da habe ich mir immer die Daten geholt. Zweite Seite wäre Serienjunkies.de

    Kanallogos: Picon.cz2VDR | Picons2VDR | MP-Logos
    Backupskripte: MV_Backup (RSync) | MV_BorgBackup (Borg)
    Skin: Skin FlatPlus

    "Es gibt keinen Grund, warum irgendjemand einen Computer in seinem Haus wollen würde."
    [Ken Olson], Präsident der Digital Equipment Corp., 1977

    VDR01 - yaVDR 0.7 (VDR 2.7.7)

    VDR 2.7.7; Gehäuse: Antec Fusion V2 Black & iMon LCD; Atric IR-Einschalter Rev. 4; Board: Intel DH77EB, Core i5-3550, GTX 1050 Ti, 8 GB RAM; DVB: 1x Digital Devices CineS2 Quad V6.5

    > Systeminfo.txt < [VDR-User #1540]

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!