VideoHelp Forum
+ Reply to Thread
Results 1 to 5 of 5
Thread
  1. Trying to write first Devine service for : https://watch.blaze.tv/series

    Using http toolkit I have found what I believe is correct:

    headers:

    User-Agent: Dalvik/2.1.0 (Linux; U; Android 12; SM-A226B Build/SP1A.210812.016)
    Host: api.simplestreamcdn.com
    Connection: keep-alive


    endpoints:

    base: https://cpmv2.blaze.tv

    playback:

    https://api.simplestreamcdn.com/analytics/v1/company_dfb49925-a12f-11eb-bc19-06b69c2357cd/analytics {id}

    Thought I would start first with my Devine Service by trying to retrieve meta-data.

    I cannot find the path/query to the host base endpoint ( if correct) for https://cpmv2.blaze.tv

    Trying to obtain meta-data for :

    https://watch.blaze.tv/shows/9e51776c-baf5-11ea-9b31-0626f8704156/flipping-bangers

    Not sure if this part is hidden, if anyone could explain/show how to find this info it would be much appreciated.

    Cheers

    Steve
    Quote Quote  
  2. it looks like the series and episode information is in the main html response "https://watch.blaze.tv/shows/9e51776c-baf5-11ea-9b31-0626f8704156/flipping-bangers" so you could parse it out of the html.

    if i was going to do it, id install the android app to an emulator and use http toolkit to intercept all the requests and replicate it that way.

    eg. this is the url to get all the series and episode details in json format (which uses the uuid from the main url)
    Code:
    https://v6-metadata-cf.simplestreamcdn.com/api/series/9e51776c-baf5-11ea-9b31-0626f8704156?key=6Pr3Uj2Fo3Ix7Rb9Ze9Ro4Ez2Eq7Sy&cc=GB&lang=en&platform=android
    if you parse the response and extract the episode id that you want, then you send a request to
    Code:
    https://v2-streams-elb.simplestreamcdn.com/api/replay/stream/574293?platform=android&key=6Pr3Uj2Fo3Ix7Rb9Ze9Ro4Ez2Eq7Sy&cc=GB&lang=en&platform=android
    where 574293 is the episode id.
    the response to that has the m3u8 url which is unencrypted.
    the api key in the requests (6Pr3Uj2Fo3Ix7Rb9Ze9Ro4Ez2Eq7Sy) looks to be the same one for both browser and android and it can be found in the html request, so you could parse that in case it changes.
    Quote Quote  
  3. Originally Posted by ElCap View Post
    it looks like the series and episode information is in the main html response "https://watch.blaze.tv/shows/9e51776c-baf5-11ea-9b31-0626f8704156/flipping-bangers" so you could parse it out of the html.

    if i was going to do it, id install the android app to an emulator and use http toolkit to intercept all the requests and replicate it that way.

    eg. this is the url to get all the series and episode details in json format (which uses the uuid from the main url)
    Code:
    https://v6-metadata-cf.simplestreamcdn.com/api/series/9e51776c-baf5-11ea-9b31-0626f8704156?key=6Pr3Uj2Fo3Ix7Rb9Ze9Ro4Ez2Eq7Sy&cc=GB&lang=en&platform=android
    if you parse the response and extract the episode id that you want, then you send a request to
    Code:
    https://v2-streams-elb.simplestreamcdn.com/api/replay/stream/574293?platform=android&key=6Pr3Uj2Fo3Ix7Rb9Ze9Ro4Ez2Eq7Sy&cc=GB&lang=en&platform=android
    where 574293 is the episode id.
    the response to that has the m3u8 url which is unencrypted.
    the api key in the requests (6Pr3Uj2Fo3Ix7Rb9Ze9Ro4Ez2Eq7Sy) looks to be the same one for both browser and android and it can be found in the html request, so you could parse that in case it changes.
    Many thanks Elcap, very useful info to learn how this all works.
    Quote Quote  
  4. Cannot seem to fetch metadata using the command :

    devine -d dl --list-titles BLAZ 9e51776c

    Using:


    def get_titles(self) -> Titles_T:

    headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0',
    'Accept': 'application/json, text/plain, */*',
    'Accept-Language': 'en-GB,en;q=0.5',

    }


    series_metadata = self.session.get(url=f'https://v6-metadata-cf.simplestreamcdn.com/api/series{self.title}-baf5-11ea-9b31-0626f8704156?key=6Pr3Uj2Fo3Ix7Rb9Ze9Ro4Ez2Eq7Sy&cc =GB&lang=en&platform=android', headers=headers).json()

    season_ids = []

    for season in series_metadata['data']:
    season_ids.append(season['id'])

    episodes = []

    for season in season_ids:
    season_metadata = self.session.get(url=f'https://v6-metadata-cf.simplestreamcdn.com/api/series/{season}', headers=headers).json()
    for episode in season_metadata['data']:
    episodes.append(Episode(
    id_=episode['id'],
    service=self.__class__,
    title=season_metadata['collection']['tvShow']['title'],
    season=episode['tvShowSeason']['season']['number'],
    number=episode['episode']['number'],
    name=episode['title'],
    year=episode['releaseDate'][:4],
    language="en",
    data={'playbackUrl': episode['video']['playback']}
    ))

    return Series(episodes)

    If anyone can advise of correct way to obtain metatdata.

    Appreciate structure of series/episodes menu is incorrect, just trying to load json response and learn how all this works.

    Only ever ran scripts before, so coding is completely new to me.

    Thanks
    Last edited by stevepen1974; 21st Jul 2024 at 06:30.
    Quote Quote  
  5. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Originally Posted by stevepen1974 View Post
    Cannot seem to fetch metadata using the command :
    Only ever ran scripts before, so coding is completely new to me.
    !! A big ask then.
    Noob Starter Pack. Just download everything Widevine! Not kidding!.
    https://files.videohelp.com/u/301890/hellyes5.zip
    Quote Quote  
Visit our sponsor! Try DVDFab and backup Blu-rays!