Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

German TV #5

Closed
Axel-Erfurt opened this issue Apr 23, 2021 · 1 comment
Closed

German TV #5

Axel-Erfurt opened this issue Apr 23, 2021 · 1 comment

Comments

@Axel-Erfurt
Copy link
Contributor

Hi, not an issue,

python script to grab the free German TV Channels from MediathekView API,

output in m3u format

import requests

channels_logos = {"ARD": "https://raw.githubusercontent.com/cytec/tvlogos/master/ard.png", 
                    "ARD ONE": "https://raw.githubusercontent.com/cytec/tvlogos/master/one.png",
                    "ARD Alpha": "https://raw.githubusercontent.com/cytec/tvlogos/master/br-alpha.png" ,  
                    "ARD Tagesschau": "https://raw.githubusercontent.com/cytec/tvlogos/master/tagesschau24.png" ,
                    "ZDF": "https://raw.githubusercontent.com/cytec/tvlogos/master/zdf.png" ,
                    "ZDF neo": "https://raw.githubusercontent.com/cytec/tvlogos/master/zdfneo.png" ,
                    "ZDF info": "https://raw.githubusercontent.com/cytec/tvlogos/master/zdfinfo.png" ,
                    "MDR Sachsen": "https://raw.githubusercontent.com/cytec/tvlogos/master/mdr.png" ,
                    "MDR Sachsen-Anhalt": "https://raw.githubusercontent.com/cytec/tvlogos/master/mdr.png" , 
                    "MDR Thüringen": "https://raw.githubusercontent.com/cytec/tvlogos/master/mdr.png" ,
                    "PHOENIX": "https://raw.githubusercontent.com/cytec/tvlogos/master/phoenix.png" ,
                    "RBB Berlin": "https://raw.githubusercontent.com/cytec/tvlogos/master/rbb.png" ,
                    "RBB Brandenburg": "https://raw.githubusercontent.com/cytec/tvlogos/master/rbb.png" ,
                    "BR Süd": "https://raw.githubusercontent.com/cytec/tvlogos/master/br.png" ,
                    "BR Nord": "https://raw.githubusercontent.com/cytec/tvlogos/master/br.png" ,
                    "HR": "https://raw.githubusercontent.com/cytec/tvlogos/master/hr.png" ,
                    "SR": "https://raw.githubusercontent.com/cytec/tvlogos/master/sr.png" ,
                    "SWR RP": "https://raw.githubusercontent.com/cytec/tvlogos/master/swr.png" ,
                    "SWR BW": "https://raw.githubusercontent.com/cytec/tvlogos/master/swr.png" ,
                    "NDR": "https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" ,
                    "NDR Fernsehen": "https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" , 
                    "NDR Niedersachsen": "https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" ,
                    "NDR Mecklenburg-Vorpommern": "https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" ,
                    "NDR Schleswig-Holstein": "https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" ,
                    "NDR Hamburg": "https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" ,
                    "NDR Fernsehen Schleswig-Holstein": "https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" ,
                    "DW": "https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/logos/tv/deutschewelle.png" ,
                    "WDR": "https://raw.githubusercontent.com/cytec/tvlogos/master/wdr.png" ,
                    "ARTE DE": "https://raw.githubusercontent.com/cytec/tvlogos/master/arte.png" ,
                    "3Sat": "https://raw.githubusercontent.com/cytec/tvlogos/master/3sat.png" ,
                    "kika": "https://raw.githubusercontent.com/cytec/tvlogos/master/kika.png" ,
                    "ORF-1": "https://raw.githubusercontent.com/cytec/tvlogos/master/orf-eins.png" ,
                    "ORF-2": "https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/logos/tv/orf2hd.png" ,
                    "ORF-3": "https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/logos/tv/orf3hd.png" ,
                    "ORF-Sport": "https://upload.wikimedia.org/wikipedia/de/thumb/9/9c/ORFsport_logo.svg/320px-ORFsport_logo.svg.png"
                    }

channels = ["ard", "zdf", "mdr", "phoenix", "rbb", "br", "hr", "sr", "swr", "ndr", "dw", "wdr", "arte", "3sat", "kika", "orf", "sf"]
chList = []
urlList = []

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 "Extra" in title:
            continue
        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)


result = "#EXTM3U\n"
    
for ch in channels:
    r = getURL(ch)
    
for x in range(len(chList)):
    name = chList[x]
    if name in channels_logos:
        logo = channels_logos[name]
        id = ""
        url = urlList[x]
        result += f'#EXTINF:-1 tvg-name="{name}" group-title="{"Germany"}" tvg-logo="{logo}" tvg-id="{id}",{name}\n{url}'
        result += "\n"

    
print(result)

output today for example:

#EXTM3U
#EXTINF:-1 tvg-name="ARD" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/ard.png" tvg-id="",ARD
http:https://mcdn.daserste.de/daserste/de/master.m3u8
#EXTINF:-1 tvg-name="ARD ONE" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/one.png" tvg-id="",ARD ONE
http:https://onelivestream-lh.akamaihd.net/i/one_livestream@568814/master.m3u8
#EXTINF:-1 tvg-name="ARD Alpha" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/br-alpha.png" tvg-id="",ARD Alpha
http:https://brlive-lh.akamaihd.net/i/bralpha_germany@119899/master.m3u8
#EXTINF:-1 tvg-name="ARD Tagesschau" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/tagesschau24.png" tvg-id="",ARD Tagesschau
http:https://tagesschau-lh.akamaihd.net/i/tagesschau_1@119231/master.m3u8
#EXTINF:-1 tvg-name="ZDF" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/zdf.png" tvg-id="",ZDF
http:https://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8
#EXTINF:-1 tvg-name="ZDF neo" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/zdfneo.png" tvg-id="",ZDF neo
http:https://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8
#EXTINF:-1 tvg-name="ZDF info" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/zdfinfo.png" tvg-id="",ZDF info
http:https://zdf-hls-17.akamaized.net/hls/live/2016500/de/high/master.m3u8
#EXTINF:-1 tvg-name="MDR Sachsen" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/mdr.png" tvg-id="",MDR Sachsen
https://mdrtvsnhls.akamaized.net/hls/live/2016928/mdrtvsn/master.m3u8
#EXTINF:-1 tvg-name="MDR Sachsen-Anhalt" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/mdr.png" tvg-id="",MDR Sachsen-Anhalt
https://mdrtvsahls.akamaized.net/hls/live/2016879/mdrtvsa/master.m3u8
#EXTINF:-1 tvg-name="MDR Thüringen" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/mdr.png" tvg-id="",MDR Thüringen
https://mdrtvthhls.akamaized.net/hls/live/2016880/mdrtvth/master.m3u8
#EXTINF:-1 tvg-name="PHOENIX" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/phoenix.png" tvg-id="",PHOENIX
http:https://zdf-hls-19.akamaized.net/hls/live/2016502/de/high/master.m3u8
#EXTINF:-1 tvg-name="RBB Berlin" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/rbb.png" tvg-id="",RBB Berlin
http:https://rbblive-lh.akamaihd.net/i/rbb_berlin@144674/master.m3u8
#EXTINF:-1 tvg-name="RBB Brandenburg" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/rbb.png" tvg-id="",RBB Brandenburg
http:https://rbblive-lh.akamaihd.net/i/rbb_brandenburg@349369/master.m3u8
#EXTINF:-1 tvg-name="BR Süd" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/br.png" tvg-id="",BR Süd
http:https://mcdn.br.de/bfs_sued/de/master.m3u8
#EXTINF:-1 tvg-name="BR Nord" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/br.png" tvg-id="",BR Nord
http:https://brlive-lh.akamaihd.net/i/bfsnord_germany@119898/master.m3u8
#EXTINF:-1 tvg-name="HR" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/hr.png" tvg-id="",HR
http:https://hrlive1-lh.akamaihd.net/i/hr_fernsehen@75910/master.m3u8
#EXTINF:-1 tvg-name="SR" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/sr.png" tvg-id="",SR
http:https://srlive24-lh.akamaihd.net/i/sr_universal02@107595/master.m3u8
#EXTINF:-1 tvg-name="SWR RP" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/swr.png" tvg-id="",SWR RP
https://swrrphls-i.akamaihd.net/hls/live/667639/swrrpd/master.m3u8
#EXTINF:-1 tvg-name="SWR BW" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/swr.png" tvg-id="",SWR BW
https://swrbwhls-i.akamaihd.net/hls/live/667638/swrbwd/master.m3u8
#EXTINF:-1 tvg-name="NDR Fernsehen" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" tvg-id="",NDR Fernsehen
https://ndrfs-lh.akamaihd.net/i/ndrfs_nds@430233/index_1992_av-b.m3u8
#EXTINF:-1 tvg-name="NDR Niedersachsen" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" tvg-id="",NDR Niedersachsen
https://mcdn.ndr.de/ndr/hls/ndr_fs/ndr_nds/master.m3u8
#EXTINF:-1 tvg-name="NDR Mecklenburg-Vorpommern" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" tvg-id="",NDR Mecklenburg-Vorpommern
https://mcdn.ndr.de/ndr/hls/ndr_fs/ndr_mv/master.m3u8
#EXTINF:-1 tvg-name="NDR Schleswig-Holstein" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" tvg-id="",NDR Schleswig-Holstein
https://ndrfs-lh.akamaihd.net/i/ndrfs_sh@430234/master.m3u8
#EXTINF:-1 tvg-name="NDR Hamburg" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" tvg-id="",NDR Hamburg
https://ndrfs-lh.akamaihd.net/i/ndrfs_hh@430231/master.m3u8
#EXTINF:-1 tvg-name="NDR Fernsehen Schleswig-Holstein" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/ndr.png" tvg-id="",NDR Fernsehen Schleswig-Holstein
https://ndrfs-lh.akamaihd.net/i/ndrfs_sh@430234/index_1992_av-b.m3u8
#EXTINF:-1 tvg-name="DW" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/logos/tv/deutschewelle.png" tvg-id="",DW
http:https://dwstream6-lh.akamaihd.net/i/dwstream6_live@123962/master.m3u8
#EXTINF:-1 tvg-name="WDR" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/wdr.png" tvg-id="",WDR
http:https://wdrfsgeo-lh.akamaihd.net/i/wdrfs_geogeblockt@530016/master.m3u8
#EXTINF:-1 tvg-name="ARTE DE" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/arte.png" tvg-id="",ARTE DE
http:https://artelive-lh.akamaihd.net/i/artelive_de@393591/master.m3u8
#EXTINF:-1 tvg-name="3Sat" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/3sat.png" tvg-id="",3Sat
http:https://zdf-hls-18.akamaized.net/hls/live/2016501/dach/high/master.m3u8
#EXTINF:-1 tvg-name="kika" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/kika.png" tvg-id="",kika
https://kikageohls.akamaized.net/hls/live/2022693/livetvkika_de/master.m3u8
#EXTINF:-1 tvg-name="ORF-1" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/cytec/tvlogos/master/orf-eins.png" tvg-id="",ORF-1
https://orf1.mdn.ors.at/out/u/orf1/qxb/manifest.m3u8
#EXTINF:-1 tvg-name="ORF-2" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/logos/tv/orf2hd.png" tvg-id="",ORF-2
https://orf2.mdn.ors.at/out/u/orf2/qxb/manifest.m3u8
#EXTINF:-1 tvg-name="ORF-3" group-title="Germany" tvg-logo="https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/logos/tv/orf3hd.png" tvg-id="",ORF-3
https://orf3.mdn.ors.at/out/u/orf3/qxb/manifest.m3u8
#EXTINF:-1 tvg-name="ORF-Sport" group-title="Germany" tvg-logo="" tvg-id="",ORF-Sport
https://orfs.mdn.ors.at/out/u/orfs/qxb/manifest.m3u8
@freetv332
Copy link
Contributor

Thanks, create a tools/ directory with a README.md inside if you want to put this somewhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants