[Announce] EPG/IPTV Stream Manager (eismann)

  • Hallo,

    das ist so ein Thema, das nirgends richtig reinpasst. Ich habe eine neue Web-Applikation erstellt, die die sehr umfangreichen Daten von https://github.com/iptv-org (weltweite Streams und EPG Provider) zusammensucht und in einer sqlite Datenbank speichert. Die Datenbank selbst ist ohne eine Applikation nicht von sonderlich viel Nutzen.

    Dazu habe ich das Projekt EPG/IPTV Stream Manager geschaffen (eismann, das letzte n im Namen ist künstlerische Freiheit). Die Applikation ging schneller, als ich dachte, es ist noch nicht alles fertig. Es gibt noch keine Anbindung an VDR, der Export der Einstellungen ist rudimentär, ... Aufgrund der Problematik mit tvsp habe ich mich entschlossen, das Projekt jetzt schon zu veröffentlichen.

    Was kann man machen?
    - IPTV Kanäle suchen und sich vorab anschauen
    - EPG Provider für die (nicht unbedingt IPTV-)Kanäle festlegen und damit den EPG Grabber von https://github.com/iptv-org/epg füttern.

    Im Readme des Projekts habe ich die Erstellung eines incus Containers beschrieben, der für das EPG zuständig ist und die Daten bereitstellt.

    Was noch fehlt ist eine Anbindung der guide.xml an epg2vdr, xml2vdr, xml4vdr oder TVScraper und das bereitstellen der m3u URL direkt im iptv Plugin.

    Bookmarks werden bei verschiedenen Aktionen erstellt:
    - Anklicken der Checkbox in der Tabelle
    - Auswahl eines EPG Providers
    - Auswahl eines Streams
    In der Ansicht Bookmarks werden dann nur die Bookmarks angezeigt. Bei der schieren Menge an Streams/EPG Provider verliert man sonst schnell die Übersicht.

    URL der Datenbank: https://github.com/Zabrimus/iptvdb
    URL der Applikation: https://github.com/Zabrimus/eismann

    Anbei ein paar Screenshots:

  • Ich habe der Applikation 3 zusätzliche (optionale) Parameter spendiert, die ich selbst für mein Setup brauche:

    Code
    -Depg-channels.save-to=/<path>/<filename>
    If set the export dialog offers an additional button. The epg channel configuration for the iptv epg grabber will be written to the configured file. 
    
    -Dstream-channels.save-to=/<path>/<filename>
    If set the export dialog offers an additional button. The selected streams will be written to the configured file.
    
    -Depgd-channelmap.save-to=/<path>/<filename>
    If set the export dialog offers an additional button. A fragment for epgd channelmap.conf will be written to the configured file.

    Edit:
    Ich brauche noch ein drittes File.

    Edited 3 times, last by Zabrimus (May 18, 2025 at 2:26 PM).

  • Wenn ich in einen LXC Container den ich schon lange für XMLTV für Kodi nutze um die Daten zu holen das Projekt installiere sagt er mir:

    Warum meckert er da?

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

  • Wenn ich in der Paketliste suche kommt das:

    Code
    dpkg -l | grep pnpm
    ii  node-corepack                                               0.24.0-4                       all          Access npm, Yarn and pnpm without having to install them

    Ist Debian Testing, die Basis

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

  • Ist Debian Testing, die Basis

    Bei Debian an aktuelle Versionen von node.js und Java zu kommen - über apt - ist schon eine Kunst und ich habe mich persönlich bei beiden Paketen von apt verabschiedet.

    Genau deshalb gibt es im README eine Hilfe, wie man an aktuelle Version kommt ohne systemweit irgendetwas zu installieren. node.js und Java werden dabei in das Home-Verzeichnis installiert und die Umgebungsvariablen entsprechend gesetzt.

  • Genau deshalb gibt es im README eine Hilfe, wie man an aktuelle Version kommt ohne systemweit irgendetwas zu installieren.

    Die Info dazu stehen aber im Bereich "Create incus container" und da ich schon eine LXC unter Proxmox habe hielt ich mich an ersten Teil der Readme wo nur die Pakete genannt wurden.

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

  • Wie verhält es sich mit der bookmark.db?


    Code
    java -Diptv.database=<path>/iptv-database.db -Dbookmark.database=<path>/bookmark.db -jar build/quarkus-app/quarkus-run.jar

    Bekommt man die irgendwo her oder muss man da selbst tätig werden, steht nichts dazu in der Readme.

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

  • Bekommt man die irgendwo her oder muss man da selbst tätig werden, steht nichts dazu in der Readme.

    Die wird automatisch angelegt, sobald man etwas auswählt (checkbox, epg provider, einen stream). Ich dachte eigentlich, das hätte ich irgendwo geschrieben. Seltsam.

    Stimmt. Im Eingangspost und nicht im README :(

  • Irgendwie läuft das nicht so optimal die Installation bei mir.

    Wenn ich mich nach der Readme richte, muss ich erst die nötigen Abhängigkeiten im incus Teil installieren und komme dann bis zu:

    Code
    copy, create or export a custom-channel.conf

    keine Ahnung was hier zu nehmen ist, die Kanäle vom VDR wo man EPG holen will vielleicht?


    Also habe ich dann mal im ersten Teil vom Readme gemacht weiter gemacht, das läuft dann durch mit den zuvor installierten Abhängigkeiten und dort kann ich auch nichts starten weil ich ja keine bookmark.db habe.

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

    Edited once, last by utiltiy (May 21, 2025 at 3:41 PM).

  • Ich hätte das so verstanden, dass die "bookmark" angelegt wird, wenn du wie in "1. Test" (mit einer Custom-channels) beschrieben startest und dann in der GUI das Gewünschte (Kanal, Stream) auswählst. Und zwar dort, wo im Parameter "-Dbookmark.database" angegeben ist.
    Aber ich habe das selber noch nicht ausprobiert!

    MyVDR: yaVDR-Ansible (Ubuntu 20, VDR 2.4.8) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr (tvm) - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 21 - xstream
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

    Edited once, last by davie2000 (May 21, 2025 at 5:37 PM).

  • dort kann ich auch nichts starten weil ich ja keine bookmark.db habe.

    Ich habe das noch einmal probiert und meine bookmark.db weggeschoben. Beim Start der Applikation wurde automatisch eine neue angelegt. Sind schreibrechte vorhanden und wurde ein absoluter Pfad (samt /bookmark.db, denn der Name ist eigentlich wahlfrei) angegeben? Was sagt denn das Log dazu?

    Das ist die Konfigurationsdatei des iptv-org Grabbers, die man mit eismann generieren lassen kann.
    Über der Tabelle mit den Sendern gibt es den Button "Export EPG channel list". Das was dann angezeigt wird, ist exakt die Konfiguration für den Grabber und sollte Inhalt der Datei sein.

    Z.b. sowas:

    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <channels>
        <channel site="web.magentatv.de" lang="de" xmltv_id="DasErste.de" site_id="373">Das Erste</channel>
        <channel site="web.magentatv.de" lang="de" xmltv_id="ZDF.de" site_id="408">ZDF</channel>
        <channel site="web.magentatv.de" lang="de" xmltv_id="ZDFinfo.de" site_id="378">ZDFinfo</channel>
        <channel site="web.magentatv.de" lang="de" xmltv_id="ZDFneo.de" site_id="391">ZDFneo</channel>
        <channel site="web.magentatv.de" lang="de" xmltv_id="3sat.de" site_id="392">3sat</channel>
        <channel site="tv.blue.ch" lang="de" xmltv_id="SchlagerDeluxe.de" site_id="1714">Schlager Deluxe</channel>
        <channel site="tv.blue.ch" lang="de" xmltv_id="SonyChannel.de" site_id="1083">Sony Channel</channel>
    </channels>

    Mit dieser channels.conf wird der Grabber aufgerufen und arbeitet alle Einträge ab und sammelt die Daten in einer XML.

    Edit:
    Ach genau hier sieht man auch die xmltv ids, die dann im XML verwendet werden.
    Daraus ergeben sich dann die Einträge für die channelmap.conf des epgd:

    Ich hoffe, die Idee wird jetzt klar.

  • Entweder ich mache was falsch oder das Readme ist irgendwie, für jemanden der dass das erste Mal aufsetzt, nicht in Step by Step Ablauf geschrieben.

    Ich habe wie gesagt heute einen LXC Container der seit 3 Jahren ungefähr durchläuft und für Kodi den EPG macht um den eisman erweitern wollen. Dabei habe ich im Benutzer Verzeichnis, NICHT als root, die Applikationen erstellt.

    Es geht also um die:

    - bookmark.db

    - custom-channels.conf


    Edit:

    Der 1. Start ist etwas unglücklich formuliert, da man die iptv-database.db einbinden soll dachte ich dass die bookmark.db ebenfalls vorhanden sein soll. Aber das ist beim 1. Start nur der Pfad wo die hin soll und wird automatisch erzeugt, wohin man den Pfad setzt.

    Die custom-channels.conf hab ich mir dann aus dem File: https://github.com/iptv-org/epg/b…de.channels.xml geholt und dann laufen lassen, damit erzeugt er dann die guide.xml. Die Quellen von "tv.magenta.at.channels.xml" haben nur Fehler ausgeworfen.


    Fazit: beide Anwendungen starten nun erstmal :thumbup:

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

    Edited once, last by utiltiy (May 21, 2025 at 11:47 PM).

  • Nur meine Interpretation:
    In der custom-channels.conf sollen deine gewünschten Sender mit ihrer Quell-Site stehen in der Form:

    XML
    <?xml version="1.0" encoding="UTF-8"?>
    <channels>
      <channel site="arirang.com" lang="en" xmltv_id="ArirangTV.kr" site_id="CH_K">Arirang TV</channel>
      ...
    </channels>

    Du könntest ja zB mit Senderliste epg/sites/tv.magenta.at/tv.magenta.at.channels.xml starten und dir dann in der Eismann-Applikation deine gewünschten Sender zusammenklicken.

    Die bookmark.db sollte dann eigentlich aus dem "1. Test" Aufruf erstellt werden. Und zwar dort, was im Parameter -Dbookmark.database angegeben ist.

    Aber vielleicht hab ichs ja komplett falsch verstanden?!

    Viel Erfolg dir jedenfalls!

    MyVDR: yaVDR-Ansible (Ubuntu 20, VDR 2.4.8) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr (tvm) - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 21 - xstream
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

    Edited 3 times, last by davie2000 (May 21, 2025 at 10:27 PM).

  • Frage noch an Zabrimus : kann man in der channels.xml für EINEN Sender auch mehrere Quellen angeben (zB site="tv.magenta.at" UND site="web.magentatv.de")? Vermutlich nicht.

    Und woher weiß ich, welche Quelle wieviele Tage EPG liefern kann?
    In den config.js-Dateien steht immer was von "days=2", aber in den Readmes stehen immer 14 Tage.

    MyVDR: yaVDR-Ansible (Ubuntu 20, VDR 2.4.8) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr (tvm) - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 21 - xstream
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Ich hab jetzt ein wenig probiert und noch folgende Fragen:

    - wie bekomme ich einen Sender wieder aus den Bookmarks?

    - ich habe den Pfad gesetzt für das Speichern der Streams, aber das Fenster wo sich öffnet ist immer leer bei "Export stream list". Das war bisher immer leer obwohl ich genug Kanäle mit Streams ausgewählt hätte, diesen kann ich in der Kanalzeile auch starten

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

  • In der custom-channels.conf sollen deine gewünschten Sender mit ihrer Quell-Site stehen in der Form:

    Warum sollte man mehr Sender anfordern, als hinterher verwendet werden. Die custom-channels.conf dient nur zur Optimierung.

    Und woher weiß ich, welche Quelle wieviele Tage EPG liefern kann?
    In den config.js-Dateien steht immer was von "days=2", aber in den Readmes stehen immer 14 Tage.

    Das ist leider nirgends richtig zu finden. Ich denke da hilft nur probieren. Man kann den Grabber ja auch nur mit einem Kanal aufrufen und dann schauen, wie weit die Daten gehen.

    Frage noch an Zabrimus : kann man in der channels.xml für EINEN Sender auch mehrere Quellen angeben (zB site="tv.magenta.at" UND site="web.magentatv.de")? Vermutlich nicht.

    Konfigurieren kann man das wohl in der channels.conf, aber was der iptv-org Grabber dann daraus macht, weiß ich nicht. Der müsste dann ja auch irgendwie mischen, da die xmltv id identisch wäre.

    wie bekomme ich einen Sender wieder aus den Bookmarks?

    Fehlt noch. Ist aber geplant.

    - ich habe den Pfad gesetzt für das Speichern der Streams, aber das Fenster wo sich öffnet ist immer leer bei "Export stream list". Das war bisher immer leer obwohl ich genug Kanäle mit Streams ausgewählt hätte, diesen kann ich in der Kanalzeile auch starten

    Das muss ich mir anschauen. Im Produktivsystem sieht das auch seltsam aus. In der Entwicklungsumgebung war es nie ein Problem.

  • Der Button macht auch nichts wenn man ihn anklickt:

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

  • Ein kleines Update ist verfügbar:
    - der Button 'EPG Site' hatte einen Fehler. Ich habe den Datentyp geändert um auch das Land anzeigen zu lassen, nur dummerweise habe ich vergessen, daß auch die URL damit anders bestimmt werden muss.
    - Die Bookmarks haben ganz rechts einen Delete-Button

    Ich habe den Pfad gesetzt für das Speichern der Streams, aber das Fenster wo sich öffnet ist immer leer bei "Export stream list"

    Meine Seite war auch leer, bis mir einfiel, daß man in den Details zu dem Sender, den Stream auswählen muss. Also einmal auf Name oder URL des Streams klicken. Das habe ich so gemacht, weil ich Sender hatte, bei denen es mehr als einen Stream gibt. Manche konnten abgespielt werden, andere nicht. Also musste ich die Möglichkeit bieten einen Stream auswählen zu können. Ich hielt es für wenig sinnvoll, Streams in der Export-Liste zu haben, die sowieso Probleme machen.

    Die bookmark.db sollte dann eigentlich aus dem "1. Test" Aufruf erstellt werden. Und zwar dort, was im Parameter -Dbookmark.database angegeben ist.

    Jain. Der erste Aufruf dient eigentlich nur für einen schnellen Test, ob auch alles passt und die Applikation startet. Die bookmarks.db wird immer angelegt, wenn sie nicht vorhanden wird.

Participate now!

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