VideoHelp Forum




+ Reply to Thread
Results 1 to 5 of 5
  1. can I ask how I can play this continuously with tokenize link?

    https://www.sbs.co.kr/live

    Channels needed: all channels offered in the site.
    Quote Quote  
  2. I've searched around here and nothing works, I don't have any knowledge on coding and getting some important info in dev tools so please help me. Tyia!
    Quote Quote  
  3. What if you set up an API to fetch the latest manifest? Alternatively, you can use o11 for restreaming, which automatically refreshes the manifest. github.com/Random-Code-Guy/o11v4-Cracked ( works better for DRM protected streams, it’s not needed here) look at @2nHxWW6GkN1l916N3ayz8HQoi comment below.
    Last edited by notaghost; 16th Feb 2025 at 14:32. Reason: Added more information
    discord=notaghost9997
    Quote Quote  
  4. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Here's a small script that generates a streamlink working command for all live channels regardless of type: radio, tv, virtual. As @notghost said, you can adapt it for your own API. Some channels don't even work. I guess you need a paid account for them

    Code:
    import json
    
    import requests
    from bs4 import BeautifulSoup
    
    BASE_URL = "https://www.sbs.co.kr/en/live"
    CHANNELS_URL = {
        "tv": "https://apis.sbs.co.kr/play-api/1.0/onair/channel/{channel_id}",
        "radio": "https://apis.sbs.co.kr/play-api/1.0/onair/channel/{channel_id}",
        "virtual": "https://apis.sbs.co.kr/play-api/1.0/onair/virtual/channel/{channel_id}"
    }
    LIVE_URL = "https://www.sbs.co.kr/en/live/{live_id}"
    
    
    def get_streamlink_command(source_type, source_url):
        live_id = source_url.split("?")[0].split("/")[-1]
        try:
            sources = requests.get(
                CHANNELS_URL[source_type].format(channel_id=live_id),
                params={'protocol': 'hls'}
            ).json()["onair"]["source"]["mediasourcelist"]
        except:
            sources = []
    
        media_sources = []
        for source in sources:
            try:
                quality = int(source["quality"].replace("p", ""))
                media_url = source["mediaurl"]
                assert len(media_url) > 0
                media_sources.append((quality, media_url))
            except:
                pass
    
        try:
            media_source = sorted(media_sources, key=lambda m: m[0])[0][1]
        except:
            media_source = None
        return f"url: {source_url}\n" + f'command: streamlink "{media_source}" best\n'
    
    
    def get_channels(source_url):
        response = requests.get(source_url).text
        soup = BeautifulSoup(response, 'html5lib')
        response = soup.find('script', {'id': '__NEXT_DATA__', 'type': 'application/json'})
        response = json.loads(response.string.strip())
    
        channels = []
        visited = []
        for k, v in response["props"]["pageProps"].items():
            if type(v) is not list:
                continue
    
            for c in v:
                try:
                    if c["channelid"] in visited:
                        continue
                    visited.append(c["channelid"])
    
                    channel_url = LIVE_URL.format(live_id=c["channelid"])
                    channels.append((k, channel_url))
                except:
                    pass
    
        return channels
    
    
    if __name__ == '__main__':
        for ch_type, ch_url in get_channels(BASE_URL):
            print(get_streamlink_command(ch_type, ch_url))
    Output:

    Code:
    url: https://www.sbs.co.kr/en/live/S01
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S03
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S04
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S02
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S05
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S12
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S06
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S09
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S11
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S20
    command: streamlink "http://tvlive.sbs.co.kr/sbskpop/sbskpop2.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S07
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S08
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S19
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/SA4
    command: streamlink "http://sbs24tv.sbs.co.kr/file16/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S29
    command: streamlink "http://sbs24tv.sbs.co.kr/file9/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SB1
    command: streamlink "http://sbs24tv.sbs.co.kr/file29/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S30
    command: streamlink "http://sbs24tv.sbs.co.kr/file10/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAD
    command: streamlink "http://sbs24tv.sbs.co.kr/file25/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA5
    command: streamlink "http://sbs24tv.sbs.co.kr/file17/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA7
    command: streamlink "http://sbs24tv.sbs.co.kr/file19/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S27
    command: streamlink "http://sbs24tv.sbs.co.kr/file7/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S26
    command: streamlink "http://sbs24tv.sbs.co.kr/file6/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S22
    command: streamlink "http://sbs24tv.sbs.co.kr/file2/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA2
    command: streamlink "http://sbs24tv.sbs.co.kr/file14/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA3
    command: streamlink "http://sbs24tv.sbs.co.kr/file15/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S28
    command: streamlink "http://sbs24tv.sbs.co.kr/file8/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S23
    command: streamlink "http://sbs24tv.sbs.co.kr/file3/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA1
    command: streamlink "http://sbs24tv.sbs.co.kr/file13/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S32
    command: streamlink "http://sbs24tv.sbs.co.kr/file12/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S31
    command: streamlink "http://sbs24tv.sbs.co.kr/file11/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAC
    command: streamlink "http://sbs24tv.sbs.co.kr/file24/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAE
    command: streamlink "http://sbs24tv.sbs.co.kr/file26/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAF
    command: streamlink "http://sbs24tv.sbs.co.kr/file27/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAA
    command: streamlink "http://sbs24tv.sbs.co.kr/file22/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA8
    command: streamlink "http://sbs24tv.sbs.co.kr/file20/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAB
    command: streamlink "http://sbs24tv.sbs.co.kr/file23/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA9
    command: streamlink "http://sbs24tv.sbs.co.kr/file21/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SB0
    command: streamlink "http://sbs24tv.sbs.co.kr/file28/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SB2
    command: streamlink "http://sbs24tv.sbs.co.kr/file30/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA6
    command: streamlink "http://sbs24tv.sbs.co.kr/file18/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S21
    command: streamlink "http://sbs24tv.sbs.co.kr/file1/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S25
    command: streamlink "http://sbs24tv.sbs.co.kr/file5/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S24
    command: streamlink "http://sbs24tv.sbs.co.kr/file4/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  5. Originally Posted by 2nHxWW6GkN1l916N3ayz8HQoi View Post
    Here's a small script that generates a streamlink working command for all live channels regardless of type: radio, tv, virtual. As @notghost said, you can adapt it for your own API. Some channels don't even work. I guess you need a paid account for them

    Code:
    import json
    
    import requests
    from bs4 import BeautifulSoup
    
    BASE_URL = "https://www.sbs.co.kr/en/live"
    CHANNELS_URL = {
        "tv": "https://apis.sbs.co.kr/play-api/1.0/onair/channel/{channel_id}",
        "radio": "https://apis.sbs.co.kr/play-api/1.0/onair/channel/{channel_id}",
        "virtual": "https://apis.sbs.co.kr/play-api/1.0/onair/virtual/channel/{channel_id}"
    }
    LIVE_URL = "https://www.sbs.co.kr/en/live/{live_id}"
    
    
    def get_streamlink_command(source_type, source_url):
        live_id = source_url.split("?")[0].split("/")[-1]
        try:
            sources = requests.get(
                CHANNELS_URL[source_type].format(channel_id=live_id),
                params={'protocol': 'hls'}
            ).json()["onair"]["source"]["mediasourcelist"]
        except:
            sources = []
    
        media_sources = []
        for source in sources:
            try:
                quality = int(source["quality"].replace("p", ""))
                media_url = source["mediaurl"]
                assert len(media_url) > 0
                media_sources.append((quality, media_url))
            except:
                pass
    
        try:
            media_source = sorted(media_sources, key=lambda m: m[0])[0][1]
        except:
            media_source = None
        return f"url: {source_url}\n" + f'command: streamlink "{media_source}" best\n'
    
    
    def get_channels(source_url):
        response = requests.get(source_url).text
        soup = BeautifulSoup(response, 'html5lib')
        response = soup.find('script', {'id': '__NEXT_DATA__', 'type': 'application/json'})
        response = json.loads(response.string.strip())
    
        channels = []
        visited = []
        for k, v in response["props"]["pageProps"].items():
            if type(v) is not list:
                continue
    
            for c in v:
                try:
                    if c["channelid"] in visited:
                        continue
                    visited.append(c["channelid"])
    
                    channel_url = LIVE_URL.format(live_id=c["channelid"])
                    channels.append((k, channel_url))
                except:
                    pass
    
        return channels
    
    
    if __name__ == '__main__':
        for ch_type, ch_url in get_channels(BASE_URL):
            print(get_streamlink_command(ch_type, ch_url))
    Output:

    Code:
    url: https://www.sbs.co.kr/en/live/S01
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S03
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S04
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S02
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S05
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S12
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S06
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S09
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S11
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S20
    command: streamlink "http://tvlive.sbs.co.kr/sbskpop/sbskpop2.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S07
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S08
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/S19
    command: streamlink "None" best
    
    url: https://www.sbs.co.kr/en/live/SA4
    command: streamlink "http://sbs24tv.sbs.co.kr/file16/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S29
    command: streamlink "http://sbs24tv.sbs.co.kr/file9/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SB1
    command: streamlink "http://sbs24tv.sbs.co.kr/file29/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S30
    command: streamlink "http://sbs24tv.sbs.co.kr/file10/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAD
    command: streamlink "http://sbs24tv.sbs.co.kr/file25/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA5
    command: streamlink "http://sbs24tv.sbs.co.kr/file17/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA7
    command: streamlink "http://sbs24tv.sbs.co.kr/file19/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S27
    command: streamlink "http://sbs24tv.sbs.co.kr/file7/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S26
    command: streamlink "http://sbs24tv.sbs.co.kr/file6/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S22
    command: streamlink "http://sbs24tv.sbs.co.kr/file2/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA2
    command: streamlink "http://sbs24tv.sbs.co.kr/file14/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA3
    command: streamlink "http://sbs24tv.sbs.co.kr/file15/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S28
    command: streamlink "http://sbs24tv.sbs.co.kr/file8/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S23
    command: streamlink "http://sbs24tv.sbs.co.kr/file3/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA1
    command: streamlink "http://sbs24tv.sbs.co.kr/file13/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S32
    command: streamlink "http://sbs24tv.sbs.co.kr/file12/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S31
    command: streamlink "http://sbs24tv.sbs.co.kr/file11/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAC
    command: streamlink "http://sbs24tv.sbs.co.kr/file24/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAE
    command: streamlink "http://sbs24tv.sbs.co.kr/file26/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAF
    command: streamlink "http://sbs24tv.sbs.co.kr/file27/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAA
    command: streamlink "http://sbs24tv.sbs.co.kr/file22/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA8
    command: streamlink "http://sbs24tv.sbs.co.kr/file20/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SAB
    command: streamlink "http://sbs24tv.sbs.co.kr/file23/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA9
    command: streamlink "http://sbs24tv.sbs.co.kr/file21/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SB0
    command: streamlink "http://sbs24tv.sbs.co.kr/file28/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SB2
    command: streamlink "http://sbs24tv.sbs.co.kr/file30/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/SA6
    command: streamlink "http://sbs24tv.sbs.co.kr/file18/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S21
    command: streamlink "http://sbs24tv.sbs.co.kr/file1/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S25
    command: streamlink "http://sbs24tv.sbs.co.kr/file5/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    
    url: https://www.sbs.co.kr/en/live/S24
    command: streamlink "http://sbs24tv.sbs.co.kr/file4/mediaurlC.stream/playlist.m3u8?token=<STREAM_TOKEN>" best
    I'll try this one, thank you for this!
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!