Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Python Script: M3U Loader from Portal URL/MAC 01/2026

Registriert
11. Oktober 2009
Beiträge
7.497
Lösungen
3
Reaktionspunkte
9.404
Punkte
2.730
Ort
Berlin
Funktion des Scripts:

Das Script (portal-live-m3u.py) lädt IPTV-Daten von einem oder mehreren Portalen (portal.txt) herunter und erstellt daraus gefilterte M3U-Playlisten für bestimmte Länder (z.B. DE, AT, CH) und speichert diese im selben Ordner.



1. Portal laden und auswählen
• Liest aus portal.txt die verfügbaren Portale und ihre MAC-Adressen.
• Der Nutzer wählt das gewünschte Portal aus.

2. Verbindung zum Portal
• Erstellt eine requests-Session mit dem Portal.
• Holt einen Token für die Authentifizierung (Handshake).

3. Gruppen laden
• Lädt die TV-Genres/Gruppen (z.B. “DE Sport”, “AT News”) vom Portal.
• Speichert die Gruppen als JSON (X_groups.json).

4. Channels laden
• Lädt alle Channels des Portals seitenweise (mit Fortschrittsanzeige).
• Speichert die Rohdaten als JSON (X_channels.json).

5. M3U-Dateien erzeugen (build_m3u)
• Filtert Channels nach den gewählten Ländern (DE, AT, CH) anhand der Gruppen-ID.
• Erstellt eine allgemeine M3U (X_channels.m3u) nur mit den gefilterten DE/AT/CH-Channels.
• Erstellt separate M3Us für jedes Land (X_DE_channels.m3u, X_AT_channels.m3u, X_CH_channels.m3u).
• Für jede M3U wird auch eine JSON-Ausgabe mit den Stream-Links erstellt (X_*_channels_output.json).
• Fortschrittsanzeigen zeigen Ladefortschritt pro Channel und pro Land.

6. Stream-Link auflösen
• Für jeden Channel wird der eigentliche Stream-Link vom Portal abgerufen (get_stream).

Ausgaben
• JSON-Dateien: Rohdaten der Channels und der nach Land gefilterten Channels.
• M3U-Dateien:
• X_channels.m3u → alle DE/AT/CH Channels
• X_DE_channels.m3u, X_AT_channels.m3u, X_CH_channels.m3u → nur Channels des jeweiligen Landes


Voraussetzungen:
  • funktionierendes Portal URL/MAC
  • Python3
Zusätzliche Python Module:
- pip install requests tqdm

Formate in portal.txt
Code:
http://portal.live:8080/c/ 00:1A:79:6B:BD:BC
http://portal.xyz:8080 00:1A:79:20:4F:00

Inhalt: DEB.zip
  • portal-live-m3u.py
  • portal.txt
Edit:
Code:
python3 portal-live-m3u.py                  
📜 Verfügbare Portale:
  [1] http://portal:8080 (00:1A:47:08:11:15)
...
Portal auswählen (1-16): 1

🌍 Verbinde mit: http://portal:8080 (MAC: 00:1A:47:08:11:15)
📦 Lade Gruppen ...
✅ Gespeichert: 1_groups.json (259 Einträge)
📡 Lade alle Channels (kann dauern) ...
📺 Gesamtanzahl Channels: 13631 (geschätzt 974 Seiten, 14 / Seite)
  ➕ Seite 974/974: 9 Channels (gesamt: 13449))
✅ Insgesamt 13449 Channels geladen.
✅ Gespeichert: 1_channels.json (13449 Einträge)
🌍 Gefundene Länder-IDs: DE: 28, AT: 1, CH: 3
🔢 Insgesamt 32 Gruppen-IDs für Filter bereit.
🔄 Alle Channels: 1530/1530 (100.0%)
✅ Fertig mit allen Channels!
✅ Gespeichert: 1_channels_output.json (1530 Einträge)
✅ 1530 Channels in 1_channels.m3u
✅ Gespeichert: 1_DE_channels_output.json (1306 Einträge)
✅ 1306 Channels in 1_DE_channels.m3u
✅ Gespeichert: 1_AT_channels_output.json (66 Einträge)
✅ 66 Channels in 1_AT_channels.m3u
✅ Gespeichert: 1_CH_channels_output.json (158 Einträge)
✅ 158 Channels in 1_CH_channels.m3u

Update:
Filter verbessert:

Gruppen werden erstellt: X_groups.json

X_FILTER.json = alle Filter Möglichkeiten
X_FILTER_main.json = manuell Filter aus X_FILTER.json setzen / Bleibt die X_FILTER.json leer, wird der Filter aus Script gesetzt
--> FILTER_LAND = ["DE", "AT", "CH"]

Ausgabe:
X_groups.json = Übersicht aller Gruppen
X_channels.m3u = gesamte M3U aller im Filter gesetzten Streams
X_DE_channels.m3u = fertige M3U mit Filter DE

Letztes Update:
  • Fehlerbeseitigung Filter
  • Option --all hinzugefügt
  • Auswahl mehrere Portale scannen hinzugefügt
  • XXX Filter funktioniert nun
  • Erzeugung der JSON kann abgeschaltet werden
  • Filter verbessert
Portal Live M3U Generator - Dokumentation

Überblick:

Dieses Python-Skript dient zur automatischen Erstellung von M3U-Playlisten für IPTV-Portale. Es scannt Portale, extrahiert Kanäle und gruppiert sie nach verschiedenen Kriterien.

Hauptfunktionen:

1. Automatische Filter-Erkennung

  • Erkennt automatisch verfügbare Filter aus den Gruppentiteln
  • Unterstützt Ländercodes (DE, AT, CH, TR, NL, etc.), Kategorien und spezielle Gruppen (XXX)

2. M3U-Generierung

  • X_channels.m3u - gefilterte Kanäle gemäß eingestellten Filtern
  • X_channels_all.m3u - alle Kanäle des Portals (unabhängig von Filtern)
  • X_LAND_channels.m3u - Länder-spezifische Kanäle
  • X_CENSORED_channels.m3u - zensierte Kanäle (falls aktiviert)

Filter-System:

1. Automatische Filter-Generierung

  • X_FILTER.json - alle verfügbaren Filter aus dem Portal
  • X_FILTER_main.json - manuell ausgewählte Filter (Priorität 1)

2. Filter-Konventionen

Länder: DE, AT, CH, TR, NL, FR, UK, ES, PT, IT, PL, BE, GR, BG, RO, UA, RU, US, CA
Kategorien: KINO, SPORT, DOKU, KIDS, NEWS, HEVC, QHD, RAW, XXX
Spezielle Gruppen: ALLE, BEST, BOX, DAZN, DEL, MIX, VIP

Erstellt:

  • X_channels.m3u - gefilterte Kanäle
  • X_channels_all.m3u - alle Kanäle
  • Länder-M3Us (DE, AT, CH, etc.)
  • CENSORED-M3U (falls aktiviert)

Filter-Logik:

  • Priorität 1: X_FILTER_main.json (manuell gesetzt)
  • Priorität 2: FILTER_LAND aus Konfiguration
  • Priorität 3: Standardfilter ["DE", "AT", "CH"]

Leere Filterliste:

Wenn FILTER_LAND = [] gesetzt ist:

  • Es werden alle Kanäle des Portals geladen
  • Keine Filterung nach Ländern/Kategorien

JSON-Ausgabe:

Wenn JSON_OUTPUT = False:

  • Keine JSON-Dateien werden gespeichert
  • JSON-Ordner wird nicht erstellt
  • Speicherplatz sparen

Ausgabedateien:

  • X_groups.json - Gruppen-Struktur des Portals
  • X_channels.m3u - gefilterte Kanäle
  • X_channels_all.m3u - alle Kanäle des Portals
  • X_COUNTRY_channels.m3u - Länder-spezifische Kanäle
  • X_CENSORED_channels.m3u - zensierte Kanäle (falls aktiviert)
  • X_FILTER.json - verfügbare Filter
  • X_FILTER_main.json - aktive Filter

Das Skript ist vollständig konfigurierbar und ermöglicht flexible M3U-Generierung für verschiedene IPTV-Portale.


Download: https://www.digital-eliteboard.com/resources/m3u-loader-from-portal-url-mac.8507/


Kein weiterer Support
 
Zuletzt bearbeitet:
bezüglich der filter: xxx wird leider nicht erstellt.
ein DIR "./portal_data" zum abladen der erstellten dateien, wäre der übersichthalber, prima.
ansonsten nen schickes projekt und danke fürs mit-teilen!!!

besten gruß
 
bezüglich der filter: xxx wird leider nicht erstellt.
Meine neue Version, kann nun auch XXX extrahieren, die hatten sich hinter CENSORED versteckt. :LOL:

Ich habe aber festgestellt, dass die verschiedenen Portale, trotz vieler Gemeinsamkeiten doch unterschiedlich arbeiten. Bei den meisten Portalen funktionieren die M3Us nun nicht mehr.

Da ich aber selbst keine MACs scanne und nur mit "alten" zugespielten Zugängen teste, kann ich nicht überprüfen, ob es an den Portalen liegt, oder an abgelaufenen Rechten.

Ich werde noch ein paar Sachen verfeinern und dann die ZIP updaten.

Gruss

Update in Post 1

Letztes Update:
  • XXX Filter funktioniert nun
  • Erzeugung der JSON kann abgeschaltet werden
  • Filter verbessert

Viel Spass damit
 
Schön währe noch, wenn man über eine Auswahlmöglichkeit, einen Ausgabe-Ordner, einstellen könnte.
 
moin Smiley007,
da hat sich ja ne menge getan!! °!°
das mit der filter funktion finde ich spannend und ne coole sache!!
Meine neue Version, kann nun auch XXX extrahieren, die hatten sich hinter CENSORED versteckt. :LOL:
dass die "kerbchen" sektion nun auch läuft,
bekommt man vom lesen schon zittrige finger... 😇🍍🍆 :ROFLMAO::LOL:

genutzt werden: für die "xxx" sektion teilweise auch einzelne mac address bereiche, für "kerbchen" filme only!!!
vermutlich für die " kerbchen 🤠 ", zum bearbeiten oder hinzufügen der xxx inhalte!?? ...* who knows? 🤷‍♂️
solche suffixes gibts auch für unterschiedliche portale, wo die angestellten " tv 🤠 ", channel inhalte bearbeiten!
man kann quasi bei arbeiten zuschauen!
diese präfixes /suffixes sind daher ne ausnahme und eher selten bis gar nicht zu finden...

Ich habe aber festgestellt, dass die verschiedenen Portale, trotz vieler Gemeinsamkeiten doch unterschiedlich arbeiten. Bei den meisten Portalen funktionieren die M3Us nun nicht mehr.

es gibt gemeinsamkeiten aber unterschiedlich arbeiten nur wenige, aber es gibt da teilweise auch unterschiede!.. portal.php, server.php, stalker_portal usw.
wie man anfragt, welche macpräfix, oder wie schnell man anfragt.
einige erlauben bis zu 200 CPM, andere widerum bis zu 400 CPM, bis man auf die wartebank kommt. (CPM=Calls Per Minute)
bei einigen ist das nicht der fall und bei den anderen
wird bereits viel eher auf die wartebank verwiesen!
kommt halt drauf an.
auch "sidepanels" sind manchmal angenehmer oder haben keinen wartebereich, teilweise dann aber auch mit nen anderen ASN!

Da ich aber selbst keine MACs scanne und nur mit "alten" zugespielten Zugängen teste, kann ich nicht überprüfen, ob es an den Portalen liegt, oder an abgelaufenen Rechten.
welche portale testest du?
was möchtest du testen, ob es an den portalen liegt?
was meinst du mit rechten?
was benötigst du für deine weiteren tests?
lieben gruß
 
Zuletzt bearbeitet:
Ich habe gestern 3 IPs/MAC getestet.
Es wurden auch die DE-m3us erstellt. Funktioniert hat aber keine.
Getestet mit VLC.
 
haste nen lift zu deinem problem?
kannst das zur einsicht, gerne mal auf schieben.
 
Zuletzt bearbeitet:
Ich teste immer nur und hatte dann keine Lust mehr.
Habe auch verpasst, die selbe IP/MAC mal in eStalker zu testen.
 
.. hast noch die erstellten 3 m3us, welche nicht funktionieren?
dann wirf die mal ins bin.
ansonsten verstehe ich deine fehlermeldung nicht zielführend! #9 🤷‍♂️
 
Zuletzt bearbeitet:
Ich schrieb ja, dass bei vielen Portalen die m3u dann nicht gehen. Ab Mitte der Woche kann ich da mal tiefer reinschauen. Helfen würde ein Beispiel, wie die m3u aussehen muss. Gerne mit einem Portal + MAC und m3u Beispiel per PN
 
Hi zusammen
Das Script will bei mir nicht starten
geht kurz an und sofort wieder aus
die anderen aus dem deb board funktionieren ohne probleme ?
 
In der Python Shell starten. Da geht es nicht zu und Du kannst das Problem sehen und der KI posten. 😉
 
Zurück
Oben