Last active
April 24, 2026 14:17
-
Star
(105)
You must be signed in to star a gist -
Fork
(14)
You must be signed in to fork a gist
-
-
Save Axel-Erfurt/b40584d152e1c2f13259590a135e05f4 to your computer and use it in GitHub Desktop.
Livestreams deutscher TV-Sender
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #EXTM3U | |
| #EXTINF:-1,ARD | |
| https://daserste-live.ard-mcdn.de/daserste/live/hls/de/master.m3u8 | |
| #EXTINF:-1,ARD ONE | |
| https://mcdn-one.ard.de/ardone/hls/master.m3u8 | |
| #EXTINF:-1,ARD Alpha | |
| https://mcdn.br.de/br/fs/ard_alpha/hls/de/master.m3u8 | |
| #EXTINF:-1,ARD Tagesschau | |
| https://tagesschau.akamaized.net/hls/live/2020115/tagesschau/tagesschau_1/master.m3u8 | |
| #EXTINF:-1,ZDF | |
| http://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8 | |
| #EXTINF:-1,ZDF neo | |
| http://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8 | |
| #EXTINF:-1,ZDF info | |
| http://zdf-hls-17.akamaized.net/hls/live/2016500/de/high/master.m3u8 | |
| #EXTINF:-1,MDR Sachsen | |
| https://mdrtvsnhls.akamaized.net/hls/live/2016928/mdrtvsn/master.m3u8 | |
| #EXTINF:-1,MDR Thüringen | |
| https://mdrtvthhls.akamaized.net/hls/live/2016880/mdrtvth/master.m3u8 | |
| #EXTINF:-1,MDR Sachsen-Anhalt | |
| https://mdrtvsahls.akamaized.net/hls/live/2016879/mdrtvsa/master.m3u8 | |
| #EXTINF:-1,PHOENIX | |
| http://zdf-hls-19.akamaized.net/hls/live/2016502/de/high/master.m3u8 | |
| #EXTINF:-1,RBB Berlin | |
| https://rbb-hls-berlin.akamaized.net/hls/live/2017824/rbb_berlin/master.m3u8 | |
| #EXTINF:-1,RBB Brandenburg | |
| https://rbb-hls-brandenburg.akamaized.net/hls/live/2017825/rbb_brandenburg/master.m3u8 | |
| #EXTINF:-1,BR Nord | |
| https://mcdn.br.de/br/fs/bfs_nord/hls/de/master.m3u8 | |
| #EXTINF:-1,BR Süd | |
| https://mcdn.br.de/br/fs/bfs_sued/hls/de/master.m3u8 | |
| #EXTINF:-1,HR | |
| https://hrhls.akamaized.net/hls/live/2024525/hrhls/master.m3u8 | |
| #EXTINF:-1,SR | |
| https://srfs.akamaized.net/hls/live/689649/srfsgeo/index.m3u8 | |
| #EXTINF:-1,SWR BW | |
| https://swrbwd-hls.akamaized.net/hls/live/2018672/swrbwd/master.m3u8 | |
| #EXTINF:-1,SWR RP | |
| https://swrrpd-hls.akamaized.net/hls/live/2018676/swrrpd/master.m3u8 | |
| #EXTINF:-1,NDR Niedersachsen | |
| https://mcdn.ndr.de/ndr/hls/ndr_fs/ndr_nds/master.m3u8 | |
| #EXTINF:-1,NDR Hamburg | |
| https://mcdn.ndr.de/ndr/hls/ndr_fs/ndr_hh/master.m3u8 | |
| #EXTINF:-1,NDR Mecklenburg-Vorpommern | |
| https://mcdn.ndr.de/ndr/hls/ndr_fs/ndr_mv/master.m3u8 | |
| #EXTINF:-1,NDR Schleswig-Holstein | |
| https://mcdn.ndr.de/ndr/hls/ndr_fs/ndr_sh/master.m3u8 | |
| #EXTINF:-1,DW | |
| https://dwamdstream111.akamaized.net/hls/live/2017972/dwstream111/index.m3u8 | |
| #EXTINF:-1,WDR (weltweit) | |
| https://mcdn.wdr.de/wdr/wdrfs/de/master.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Münsterland | |
| https://wdrlokalzeit.akamaized.net/hls/live/2018025/wdrlz_muensterland/index.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Südwestfalen | |
| https://wdrlokalzeit.akamaized.net/hls/live/2018020/wdrlz_siegen/index.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Ostwestfalen Lippe | |
| https://wdrlokalzeit.akamaized.net/hls/live/2018026/wdrlz_bielefeld/index.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Bonn | |
| https://wdrlokalzeit.akamaized.net/hls/live/2018021/wdrlz_bonn/index.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Dortmund | |
| https://wdrlokalzeit.akamaized.net/hls/live/2018022/wdrlz_dortmund/index.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Aachen | |
| https://wdrlokalzeit.akamaized.net/hls/live/2018019/wdrlz_aachen/index.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Düsseldorf | |
| https://wdrlokalzeit.akamaized.net/hls/live/2018023/wdrlz_duesseldorf/index.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Köln | |
| https://wdrlokalzeit.akamaized.net/hls/live/2023550/wdrlz_koeln/index.m3u8 | |
| #EXTINF:-1,WDR (Deutschland) | |
| https://wdrfs247.akamaized.net/hls/live/681509/wdr_msl4_fs247/index.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Bergisches Land | |
| https://wdrlokalzeit.akamaized.net/hls/live/2018028/wdrlz_wuppertal/index.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Ruhr | |
| https://wdrlokalzeit.akamaized.net/hls/live/2018027/wdrlz_essen/index.m3u8 | |
| #EXTINF:-1,WDR Lokalzeit Duisburg | |
| https://wdrlokalzeit.akamaized.net/hls/live/2018024/wdrlz_duisburg/index.m3u8 | |
| #EXTINF:-1,ARTE DE | |
| https://artesimulcast.akamaized.net/hls/live/2030993/artelive_de/index.m3u8 | |
| #EXTINF:-1,ARTE FR | |
| https://artesimulcast.akamaized.net/hls/live/2031003/artelive_fr/index.m3u8 | |
| #EXTINF:-1,3Sat | |
| https://zdf-hls-18.akamaized.net/hls/live/2016501/dach/high/master.m3u8 | |
| #EXTINF:-1,kika | |
| https://kikageohls.akamaized.net/hls/live/2022693/livetvkika_de/master.m3u8 |
Author
Kannst Du machen, allerdings ist die Lösung von 59de44955ebd besser, da immer aktuell. https://59de44955ebd.github.io/tv/index.html
Vielen Dank! Meine Anwendung ist die da: https://rolfrost.de/tv
Ist die API von https://mediathekviewweb.de/ zum Abruf der Senderliste öffentlich?
Viele Grüße (Erfurt grüßt Erfurt)
Author
Die API ist öffentlich
Ich verwende dieses Python-Skript
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
from time import gmtime, strftime
now = strftime("%d_%m_%Y", gmtime())
channels = ["ard", "zdf", "mdr", "phoenix", "rbb", "br", "hr", "sr", "swr", "ndr", "dw", "wdr", "arte", "3sat", "kika", "orf", "sf"]
chList = []
urlList = []
playlist = []
playlist.append('#EXTM3U')
def getURL(name):
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0',
'Accept': '*/*',
'Accept-Language': 'de-DE,en;q=0.5',
'Content-Type': 'text/plain;charset=UTF-8',
'Connection': 'keep-alive',
}
data = {"queries":[{"fields":["title","topic"],"query":"livestream"},{"fields":["channel"],"query":"" + name + ""}]}
response = requests.post('https://mediathekviewweb.de/api/query', headers=headers, json=data)
response_json = response.json()
count = int(response_json['result']['queryInfo']['resultCount'])
for x in range(count):
title = response_json['result']['results'][x]['title']
url = response_json['result']['results'][x]['url_video']
if ".m3u8" in url and "3Sat" in title:
chList.append(title.replace(".", " ").replace(' Livestream', ''))
urlList.append(url)
if ".m3u8" in url and "KiKA" in title:
title = "kika"
chList.append(title)
urlList.append(url)
if ".m3u8" in url and name.upper() in title:
chList.append(title.replace(".", " ").replace(' Livestream', ''))
urlList.append(url)
for ch in channels:
r = getURL(ch)
for x in range(len(chList)):
playlist.append(f"#EXTINF:-1,{chList[x]}\n{urlList[x]}")
print('\n'.join(playlist))
with open(f"Playlist_{now}.m3u", 'w') as f:
f.write('\n'.join(playlist))Die API ist öffentlich
Prima. https://rolfrost.de/tv holt die Liste via CORS/Ajax. Funktioniert einwandfrei.
Grüße aus Erfurt ;)
Hat jemand vielleicht eine noch funktionierende Comedy Central m3u?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Kannst Du machen, allerdings ist die Lösung von 59de44955ebd besser, da immer aktuell.
https://59de44955ebd.github.io/tv/index.html