Channelpedia: Prototyp für vorsortiertes Kanallisten-Verzeichnis

  • Hallo,


    eine nervige Einstiegshürde ist für VDR-Einsteiger immer das Beschaffen und Sortieren einer channels.conf. Es gibt zwar einige Websites, wo man fertige Kanallisten herunterladen kann, aber alle diese zusammengenommen haben meiner Meinung nach trotzdem folgende Schwächen/Lücken:


    1) Kanallisten sind sehr oft veraltet (VDR-Wiki, Linowsat).
    2) Kanallisten liegen nicht im benötigten Format vor, das zur verwendeten VDR-Version passt.
    3) Kanallisten sind nicht so vorsortiert, dass alle "wichtigen" Kanäle für den eigenen Sprachraum oben sind.
    4) Aktuelle Kanallisten für Sat sind einfacher zu finden als für DVB-C oder DVB-T.
    5) Orte, an denen Kanallisten gesammelt werden, eignen sich nicht immer für Zusammenarbeit mehrerer User.
    6) Manchmal kennt man die Person überhaupt nicht, von deren Website man Kanallisten runterlädt, weil es kein Impressum oder einen Namen gibt.


    Diese Problematik ist in diesem Thread recht gut nachzulesen:
    Aktuelle, gut sortierte Kanallisten -- nirgends zu finden


    Als yaVDR-Team-Mitglied habe ich überlegt, ob es nicht einen Weg gibt, in einem zentralen Verzeichnis aktuelle und sinnvoll vorsortierte Kanallisten für die User vorzuhalten, wo auch internationale User selbst Ihre eigenen Kanallisten einreichen können. Ich habe über die letzten Monate einen Prototypen programmiert in PHP mit Nutzung einer SQLite-Datenbank, genannt "Channelpedia".


    Was ist Channelpedia?


    Der Prototyp erlaubt, dass regelmäßig mehrere channels.conf-Dateien von verschiedenen laufenden VDR-Rechnern automatisch hochgeladen werden können. Das Tool parst automatisch diese channels.conf-Dateien, packt sie zerstückelt in eine SQLite-Datenbank und generiert daraus nach vordefinierten Regeln sortierte Kanallisten. Auch ein Changelog fällt dabei heraus, wo Kanal-Änderungen sichtbar werden (neue Kanäle, Parameter-Änderungen).


    Wie wird sortiert?


    Die Sortierungs- bzw. Gruppierungsregeln sollten nicht zu grob sein, aber auch nicht zu detailiert. Sie sollten leicht wartbar sein und von Laien bearbeitet werden können. Sortierungsregeln sollten sich für nationale Kanäle auf verschiedenen Providern wiederverwenden lassen, also: Regeln für die wichtigsten Sender im deutschsprachigen Raum sollten sowohl auf S19.2E anwendbar sein als auch auf verschiedene deutsche DVB-C-Provider. Somit muss ein Großteil des Regelsatzes nicht pro Provider vorgehalten werden.


    Die Gruppierung beruht momentan auf SQL-Syntax, von der Syntax des autosort-Plugin wurde nix übernommen, dazu ist es nicht kompatibel.


    Die ursprüngliche Sortierung der Kanäle in der hochgeladenen channels.conf des Users wird nicht beachtet.


    Da alles in der Datenbank liegt, kann man auch problemlos verschiedene Sortierungen nebeneinander anbieten: Mal nach den vier Sat-Bändern sortiert, mal nach Transponder sortiert, mal alphabetisch sortiert.


    Wie wird aktualisiert? Was wird hochgeladen?


    Ein angemeldeter User kann prinzipiell entweder seine persönliche channels.conf hochladen oder einen frisch per w_scan generierten Scan. Der Upload kann per cron-job erfolgen per curl-Befehlskette.


    Wer genug DVB-Karten parallel betreibt, sollte jedoch über kurz oder lang auch Kanal-Neuerungen am Ende seiner Kanalliste finden. Dafür sollte der VDR natürlich so konfiguriert sein, dass er selbsttätig nach neuen Transpondern und Kanälen sucht, und die Kanalliste sollte nicht manuell gekürzt werden, sondern so viele Kanäle wie möglich enthalten.


    Dabei ist es mir nicht so wichtig, dass die Daten in channelpedia immer 100%ig aktuell sind oder 100%ig akkurat. Wenn 5% Fehlerquote drin ist, macht das noch nichts. Besser jedenfalls, als jetzt ohne Channelpedia auf Kanallisten aus den Jahren 2006 oder 2008 zu stoßen.


    Providermix in einer Kanalliste beim Upload möglich?


    Das Tool kann damit umgehen, dass in einer einzigen hochgeladenen Kanalliste Kanäle von je einem Kabelprovider, einem terrestrischen Provider und beliebig vielen Sat-Positionen vorkommen.


    Bekannte Probleme?
    Es gibt derzeit mehrere ungelöste Praxisprobleme. Zwei davon:


    1) Erloschene Kanäle bleiben in der Liste, wenn sie nicht manuell gelöscht werden.
    2) Mehrere User laden konkurrierend Kanäle des gleichen DVB-Providers hoch: Welche Daten sind neuer, welche älter?


    Weitere Nutzungsmöglichkeiten?


    1) Datenexport: Bevor jemand meckert, man würde sich damit vom VDR-Wiki abgrenzen: Man kann sehr wohl über einen Wiki-Bot die Kanallisten aus dem Tool in das VDR-Wiki automatisch importieren und die dortigen Kanallisten somit aktuell halten.
    2) Konvertieren: Da eine Datenbank drunter liegt, kann man theoretisch auch Kanallisten für ältere VDR-Versionen generieren.
    3) Paketieren und Mitliefern der Kanallisten in Distributionen wie yaVDR.


    Demo


    Der Prototyp ist hier zu besichtigen:
    http://channelpedia.yavdr.com/gen/


    Der Quellcode (GPL) hierzu findet sich
    bei Github: https://github.com/yavdr/channelpedia
    im yaVDR-SVN: https://bugs.yavdr.com/project…w/trunk/misc/channelpedia



    Wie geht's weiter?


    Ich wollte gern Expertenfeedback aus dem VDR-Portal zu diesem Projekt bekommen, um zu sehen, ob ich in die falsche Richtung laufe, und zu diskutieren, wie das Projekt sinnvollerweise weiterlaufen müsste. Es ist noch viel Arbeit zu tun, wer mithelfen will, sollte sich den Quellcode ansehen.


    Gruß
    hepi

  • Hi,


    super dass Du Dich der Sache annimmst. Das Problem haben alle Distries.
    Gute Kanallisten hat m.E. nur eine bestimmt kommerzielle "Distrie", aber auch diese werden kaum aktuell sein. -aber zumindest sind se schön kurz...


    Ich sehe mehrere Lösungsansätze:


    Ein Repo in das geneigte User ihre Listen packen:
    -Vorteil: vermutlich transparenter als deine Lösung im Moment
    http://projects.vdr-developer.org/projects/vdr-channels


    Automatisierte Intelligenz
    -Davon haben wir m.E. längerfristig am meisten. Schön wäre natürlich wenn hier auch andere Ihre "Sortierungs- bzw. Gruppierungsregeln" beisteuern können falls Bedarf.


    ...Und wie immer im Leben wird wohl ein bisschen Zeit brauchen bis es soweit perfektioniert ist wie sinnvoll...


    Ich werd mir das ganze gelegentlich mal genauer ansehen.
    Wünschen würde ich mir ggf. später mal für easyVDR dass es möglich ist die Kanallisten über feste URLs dauerhaft automatisch abrufen zu können.
    Damit man dann übers OSD, Skript oder Webzugriff beim VDR updaten kann... (Traffic soll nicht das Problem sein. Das könnte über nen Mirror geregelt werden. Mehr dazu bei Bedarf per PN)


    ed: Noch ein Nachtrag: Bei nem Wiki kann ja auch jeder herummurksen. Dazu gibts dann die History mit undo Funktion. B) Auch würde ich frühzeitig einkalkulieren dass jemande solche Channels.confs hochlädt:

    Quote

    Get Vlagra cheaper
    www.spamtrojaner.com


    Wäre teilweise mit nem Plausi-Check abzufangen...

  • Ich hätte nen Vorschlag der eventuell auf längere Sicht zu ner brauchbaren Sortierung führen könnte.
    Es könnte doch die Sortierung der Hoch geladenen Listen genommen werden und da drüber eine Bewertung der Relevanz der einzelnen Sender abgeleitet werden.
    Optimal wäre nen Plugin das bei Änderung der Sortierung (über das OSD) dem Server diese Änderung (die neue Position in der Kanalliste) mitteilt und somit die Relevanz des geänderten Kanals auf dem Server aktualisiert. Wenn so nen Plugin beim yaVDR per default mit dabei wäre, sollten wir recht schnell zu gut vor sortierten Kanallisten kommen.


    Claus

    MLD 5.4 mit vdr 2.4.1 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.4 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.4 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Hi,


    gute Sache.


    Ich schlage jedohc vor, zwei Fliegen mit einer Klappe zu schlagen.
    Für die diversen EPG-Plugins (*2vdr) benötigt man ja noch die channelmap. Diese finde ich mindestens genau so schlimm zu erzeugen. Was hältst du davon, diese auch gleich mit hochzuladen?


    Gruß,
    HEndrik


  • ranseyer : Automatisierung wäre für mich der einzige Weg aus der Veraltungs-Falle. Ich dachte mir: Jeder hat eine channels.conf auf seinem VDR, die theoretisch als Futter dienen kann. Warum muss der User die Kanalliste noch manuell hochladen, wenn es auch per cronjob automatisch geht? (Natürlich sind auch bei so einer Automatik Fehler nie ausgeschlossen.). Und ja: Das Projekt ist darauf angewiesen, dass auch andere Leute Sortierungs-/Gruppierungregeln beisteuern können. Momentan ist das allerdings noch in den Kinderschuhen. Das automatische Einlesen einer Kanalliste durch eine Distri via URL haben wir mit yaVDR auch vor, so dass man aus dem Web-Frontend eine/mehrere Kanallisten laden kann. Spam-Missbrauch sowie Security-Fragen sind sicherlich zu bedenken, deshalb habe ich hier auch nicht verraten, wie man channel-Listen bei der channelpedia hochladen kann. Das würde ich auf Vertrauensbasis machen, sobald der Upload-Code sicher programmiert ist. Plausibilitätschecks habe ich glaube ich schon ein paar, Du kannst ja mal einen XSS-Test machen mit dem Quellcode. ;-)


    Quote

    Original von OppTupacShakur
    ich könnte zb noch welche von unitymedia cable nrw beisteuern und auch dvbt nrw.
    zu finden sind diese wie immer hier http://dvb.oppserver.net/bouquets/vdr/


    @OppTupacShakur: Danke! Ich habe mal Deine Unitymedia DVB-C-Liste aufgenommen, Deine Sortierung geht dabei, wie oben erwähnt, flöten (vielleicht kann man das ändern). Allerdings habe ich momentan keinen Automatismus, der regelmäßig Deine Kanalliste von der bekannten URL holt. Wie oft aktualisierst Du Deine Listen? Wenn täglich, um wieviel Uhr?


    Ein Problem ist mir gerade noch klar geworden:


    Ich verlasse mich beim Gruppieren der Kanäle sehr auf die korrekte Auszeichnung der Audiosprache, Voraussetzung für ein Auftauchen eines Kanals in der de-Liste ist das Vorkommen des Sprachtags "deu" in der apid. Einige Kanäle wie MTV-Kanäle oder RTL2 Österreich haben als Audiosprache kein "deu" angegeben oder spezielle Radiokanäle von UnityMedia


    Quote

    Original von clausmuus
    Ich hätte nen Vorschlag der eventuell auf längere Sicht zu ner brauchbaren Sortierung führen könnte.
    Es könnte doch die Sortierung der Hoch geladenen Listen genommen werden und da drüber eine Bewertung der Relevanz der einzelnen Sender abgeleitet werden.
    Optimal wäre nen Plugin das bei Änderung der Sortierung (über das OSD) dem Server diese Änderung (die neue Position in der Kanalliste) mitteilt und somit die Relevanz des geänderten Kanals auf dem Server aktualisiert. Wenn so nen Plugin beim yaVDR per default mit dabei wäre, sollten wir recht schnell zu gut vor sortierten Kanallisten kommen.


    @clausmus: Die Idee hatte ich auch schon, ist aber nicht so leicht umzusetzen, denke ich, weil man den Sprachraum/Kulturkreis auch wissen muss. Ein Franzose wird mit S19.2E die französischen Sender ganz vorn haben. Da aber 50% der yaVDR Nutzer Deutsche sind, wird er dann auch die deutschen Kanäle ganz vorn haben. Außerdem gibt es SKY-Abonnenten und es gibt Leute, die kein SKY haben.


    Quote

    Original von henfri
    Ich schlage jedohc vor, zwei Fliegen mit einer Klappe zu schlagen.
    Für die diversen EPG-Plugins (*2vdr) benötigt man ja noch die channelmap. Diese finde ich mindestens genau so schlimm zu erzeugen. Was hältst du davon, diese auch gleich mit hochzuladen?


    henfri : Da kenne ich mich ehrlich gesagt nicht so aus... Kannst Du mir das erklären oder mir einen Link schicken?


    Viele Grüße
    hepi

  • Gute Idee!


    Ich stelle meine tvm2vdr_channelmap.conf mal rein.


    http://pastebin.com/index/Bvmb70UC


    Die erste Nummer ist die Kanal-ID, die TV-Movie benötigt für die Kanalinfo. Der Name steht als Kommentar hinten dran.

    Registered Linux User #228306
    Registered VDR User #1525
    yaVDR 0.3.0


    Hardware:
    M3N78-VM AMD Athlon(tm) 64 X2 Dual Core Processor 5000+
    DVB-C: TechnoTrend C-1501 CI: Alphacrypt Light DVB-T: Terratec Cinergy 1200 DVB-T Sound: nVidia MCP72XE High Definition Audio
    Fernbedienung: Harmony 885 IR-Empfänger: Atric Einschalter Audio: Yamaha RX-V361 via SPDIF

    The post was edited 2 times, last by Tuxi70 ().

  • Quote

    Original von Tuxi70
    Gute Idee!


    Ich stelle meine tvm2vdr_channelmap.conf mal rein.


    Ohne zu sagen für welchen Kabel-Provider das ist, nutzt sie nicht all zu viel.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Bitte hier keine ellenlangen Konfigs posten! Das ist bisher ein Diskussions-Thread! Bitte Kanallisten und andere Listen nur verlinken (--> oder pastebin). Danke!


    Tuxi70 : Kannste die Datei vielleicht an pastebin auslagern? Danke!


    Gruß
    hepi

  • Das sind Sender, die über Kabel Deutschland Empfang bar sind. Die Kanal-ID ist aber unerheblich für den Empfang, weil das die ID bei TV-Movie ist.

    Registered Linux User #228306
    Registered VDR User #1525
    yaVDR 0.3.0


    Hardware:
    M3N78-VM AMD Athlon(tm) 64 X2 Dual Core Processor 5000+
    DVB-C: TechnoTrend C-1501 CI: Alphacrypt Light DVB-T: Terratec Cinergy 1200 DVB-T Sound: nVidia MCP72XE High Definition Audio
    Fernbedienung: Harmony 885 IR-Empfänger: Atric Einschalter Audio: Yamaha RX-V361 via SPDIF

  • Quote

    Original von Tuxi70
    Die Kanal-ID ist aber unerheblich für den Empfang, weil das die ID bei TV-Movie ist.


    Ja, aber die Channel-IDs hinter dem Gleichheitszeichen sind bei meinem Provider eben anders, deshalb muss man wissen, dass es Kabel-Deutschland ist.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Schon, aber via DVB-C oder DVB-S und DVB-T ist ARD z.b. das selbe. Sender, die nur per Sky z.B. erreichbar sind, haben auch eine andere Sender-ID bei TV-Movie.

    Registered Linux User #228306
    Registered VDR User #1525
    yaVDR 0.3.0


    Hardware:
    M3N78-VM AMD Athlon(tm) 64 X2 Dual Core Processor 5000+
    DVB-C: TechnoTrend C-1501 CI: Alphacrypt Light DVB-T: Terratec Cinergy 1200 DVB-T Sound: nVidia MCP72XE High Definition Audio
    Fernbedienung: Harmony 885 IR-Empfänger: Atric Einschalter Audio: Yamaha RX-V361 via SPDIF

  • Kommt drauf an, was man unter "das selbe" versteht. Inhalt des Videos, gleiches Video mit gleicher Bitrate, ...

  • Ich meine den Sender. Das Format ist dabei irrelevant.


    Hier mal die Sender-IDs aus der tvdaten.mdb.


    http://pastebin.com/index/4CzrU8s4

    Registered Linux User #228306
    Registered VDR User #1525
    yaVDR 0.3.0


    Hardware:
    M3N78-VM AMD Athlon(tm) 64 X2 Dual Core Processor 5000+
    DVB-C: TechnoTrend C-1501 CI: Alphacrypt Light DVB-T: Terratec Cinergy 1200 DVB-T Sound: nVidia MCP72XE High Definition Audio
    Fernbedienung: Harmony 885 IR-Empfänger: Atric Einschalter Audio: Yamaha RX-V361 via SPDIF

  • Quote

    Original von Tuxi70
    Schon, aber via DVB-C oder DVB-S und DVB-T ist ARD z.b. das selbe. Sender, die nur per Sky z.B. erreichbar sind, haben auch eine andere Sender-ID bei TV-Movie.


    nid und tid sind nicht immer gleich, sagt mir gerade ein Blick in meine sqlite-Datenbank mit den Kanälen verschiedener Provider (angeschaut habe ich Das Erste, ZDF und Das Erste HD).


    Können wir bitte für's erste diese Nebendiskussion um *2vdr erstmal beenden. Es gibt schon genug Probleme zu diskutieren über channels.conf's. Ich kapiere die *2vdr Sachen noch nicht und Ihr scheinbar auch nicht, also lasst uns das erstmal zurückstellen. Ich melde mich, wenn mir etwas dazu einfällt


    Gruß
    hepi

  • Das sollte ne gute Basis sein:
    http://www.easy-vdr.de/git?p=u…3d99443282da7f5d6;hb=HEAD


    Da steckt auch ne Menge Energie drin... (Zu viel)
    Zu DVB-C gibt es m.E. auch universelle Listen womit dann ganz wenige ausreichen.
    Die wichtigeren haben bei uns ne Zahl vorran. Hierzu gibt es auch ein Forum wo es m.E. ständig aktuelle Listen gibt. Mal sehen ob ich dazu noch ne Info nachreichen kann.


    CU

  • Quote

    Original von Tuxi70
    Schon, aber via DVB-C oder DVB-S und DVB-T ist ARD z.b. das selbe. Sender, die nur per Sky z.B. erreichbar sind, haben auch eine andere Sender-ID bei TV-Movie.


    Du hast mich immer noch nicht verstanden. Deine Datei ist wertlos ohne Angabe des Kabel-Providers, weil der String hinter dem Gleichheitszeichen bei jedem Provider anders aussieht.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • @ranseier, @Mreimer: seit ihr sicher, dass ihr verstanden habt, was Hepi da macht? Der große Vorteil seiner Lösung ist doch, dass die Listen ohne großen Aufwand ständig aktuell sind. Und noch wichtiger, die Sortierung der Liste ist separat! Bei den Links die ihr geschickt habt steckt die Sortierung in den Listen. Es ist also möglich, dass die Sortierung der Listen sich unterscheidet. Bei Hepi ist es egal ob sich jemand eine Liste für DVB-C, oder DVB-S holt. Die Sortierung ist gleich, soweit möglich. Nicht jede Liste enthält ja zwangsläufig die gleichen Kanäle.
    Die Listen von reel-multimedia sind mit einem Alter von einem Monat ja noch relativ aktuell, aber die von Hepi sind einen Tag alt.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470