Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

Python Script: M3U Loader from Portal URL/MAC 2025-11-14

Registriert
11. Oktober 2009
Beiträge
7.389
Lösungen
3
Reaktionspunkte
9.228
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

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


Kein weiterer Support
 
Zuletzt bearbeitet:
Letztes Update:
  • Fehlerbeseitigung Filter
  • Option --all hinzugefügt
  • Auswahl mehrere Portale scannen hinzugefügt
 
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ß
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…