VideoHelp Forum




+ Reply to Thread
Results 1 to 14 of 14
  1. Hi there,
    does anyone see a way to download these two videos, please ?

    free account and Accessible from the world
    also not encrypted and then would be simple to do.
    Code:
    https://ondamedia.cl/show/lo-habitado
    free account and apparently geoblocked for Chile
    this one seems to be encrypted
    Code:
    https://ondamedia.cl/show/fragmentos-de-lucia
    some command with yt-dlp or N_m3u8DL-RE would be percfect.
    thanks a lot in advance.
    Quote Quote  
  2. N_m3u8DL-RE -M format=mp4 "https://mdstrm.com/video/63c84a6b9f7b9708626fbbdd.m3u8?uid=kKrAJaM8lNG2lFfU B7yvsbEV5wJRQvgQ&sid=rXrIdeldmdUp2nFPXwrOO4M5zhsMo iJh&pid=fEJSmRLRBVG5ytstj1kZLDcY9CmtJOLo&an=screen &at=web-app&av=v5.2.358&c=64c935f191436a3a903b49c8&ref=htt ps%3A%2F%2Fondamedia.cl%2F&res=768x432&without_coo kies=false&listenerid=&dnt=true&access_token=jPGD2 6qRnA9tdlRQuGvRfwxR7nnduISgLv9fuxld7CqWQbvSrx5238B 47vPbLCOIgCjK2gLAPrY" --save-name lohabitado.mp4
    Quote Quote  
  3. @swappyison

    to avoid spaces in your command...

    use balise [Code]

    like this

    Image
    [Attachment 72822 - Click to enlarge]
    Last edited by cedric8528; 1st Aug 2023 at 13:32.
    Quote Quote  
  4. for your second video, you can use also N_m3u8DL-RE

    Code:
    N_m3u8DL-RE "https://cl-a3-p-e-br5.cdn.mdstrm.com/video/h/573f76742a1b8a2b09aace7d/631775a3fea7c108225a5e32_631775a3fea7c108225a5e3b.mp4/index-v1-a1.m3u8?cP=2616000&pid=NWbopVMBTkx56Aa7gKPGL4YjmQ2Rj3gx&sid=BtoYckBtiGfiXruSaNdZFKJQBxM1jhxg&uid=qpoUfF8VPyXOcI6tmBC0rSuzPbeaRXaK&aid=573f76742a1b8a2b09aace7d&c=64c9428f7053ed0899ddf3f7&ref=https%3A%2F%2Fondamedia.cl%2F&without_cookies=false&listenerid=&dnt=true&access_token=m2xehwOpYvE0jXtSEu43UZGqEvzcMeArKMvf6g9OPNlFLIJwoz2GfvtTtMTtGTE0G8L9TukDlCS&es=cl-a3-p-e-br5.cdn.mdstrm.com&proto=https&ote=1691005340348&ot=XXm87_nieMcgk9E_L1FGUg" --header "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0" --header "Referer: https://mdstrm.com/" --save-name "video"

    your video 1080p

    https://www.transfernow.net/dl/20230801bDXvARFr
    Quote Quote  
  5. Originally Posted by swappyison View Post
    N_m3u8DL-RE -M format=mp4 "https://mdstrm.com/video/63c84a6b9f7b9708626fbbdd.m3u8?uid=kKrAJaM8lNG2lFfU B7yvsbEV5wJRQvgQ&sid=rXrIdeldmdUp2nFPXwrOO4M5zhsMo iJh&pid=fEJSmRLRBVG5ytstj1kZLDcY9CmtJOLo&an=screen &at=web-app&av=v5.2.358&c=64c935f191436a3a903b49c8&ref=htt ps%3A%2F%2Fondamedia.cl%2F&res=768x432&without_coo kies=false&listenerid=&dnt=true&access_token=jPGD2 6qRnA9tdlRQuGvRfwxR7nnduISgLv9fuxld7CqWQbvSrx5238B 47vPbLCOIgCjK2gLAPrY" --save-name lohabitado.mp4
    thanks !
    Quote Quote  
  6. Originally Posted by cedric8528 View Post
    for your second video, you can use also N_m3u8DL-RE
    thanks !!!
    Quote Quote  
  7. Originally Posted by cedric8528 View Post
    for your second video, you can use also N_m3u8DL-RE
    and how about this one ?
    still free account and apparently geoblocked for Chile
    Code:
    https://ondamedia.cl/show/calle-santa-fe
    am i doing something wrong because the last command doesn't work with it ?!
    Code:
    N_m3u8DL-RE "https://cl-v2-i-e-dd2.cdn.mdstrm.com/video/h/573f76742a1b8a2b09aace7d/64b1962226873f4052f03df1_64b1962226873f4052f03e01.mp4/index-v1-a1.m3u8?cP=249000&pid=u9cIful22sXDx4PbIJgH7oofNq1NwBWN&sid=VrNEkILprECtLmD8cXejSl8BOgp69bRd&uid=8kNT0i7wGz1tVVky0lh7yQ8peRWrUUir&aid=573f76742a1b8a2b09aace7d&c=5f9801cd72485407cddbf0d2&ref=https%3A%2F%2Fondamedia.cl%2F&without_cookies=false&listenerid=&dnt=true&access_token=RzgaIN90IGky3N1iJXVCEywhvnExfPHz047kJeIEcb548qUAFmvdZMXiexy9Ok0oTQ7DzvrBi4Z&es=cl-v2-i-e-dd2.cdn.mdstrm.com&proto=https&ote=1692014975849&ot=6VRs30Nj-J58Z1c49JerKg" --header "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0" --header "Referer: https://mdstrm.com/" --save-name "video"
    Last edited by abacaxi; 13th Aug 2023 at 07:28.
    Quote Quote  
  8. authorization token is needed and this module:

    Code:
    pip install pyjwt
    Code:
    from pathlib import Path
    import subprocess
    import requests
    import jwt
    import re
    
    m3u8DL_RE = 'N_m3u8DL-RE.exe'
    
    auth = '< authorization Bearer here just eyJ.... >'
    
    decoded_jwt = jwt.decode(auth, options={"verify_signature": False})
    customer_id = decoded_jwt['data']['customer']['_id']
    profile_id = decoded_jwt['data']['customer']['profileId']
    
    headers = {
        'authority': 'next.platform.mediastre.am',
        'authorization': f'Bearer {auth}',
        'content-type': 'application/json',
        'origin': 'https://ondamedia.cl',
        'referer': 'https://ondamedia.cl/',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',
        'x-client-id': 'yqq7vtQ43MMOAp0iap8GeQU9pHVh3BROU2oFp9JRKrkTmYN4tf',
        'x-ott-language': 'es',
        'x-profile-id': profile_id,
    }
    
    print('\ntest link: https://ondamedia.cl/show/calle-santa-fe\ntest link: https://ondamedia.cl/show/la-casa\ntest link: https://ondamedia.cl/show/mar-de-juan-fernandez-relatos-y-leyendas-del-archipielago\n')
    
    link = input('link: ')
    link_id = re.findall(r'.*/(.*)', link)[0].strip()
    
    json_data1 = {
        'operationName': 'getShowInfo',
        'variables': {
            'id': link_id,
        },
        'query': 'query getShowInfo($id: String!) {\n  getShow(_id: $id) {\n    _id\n    title\n    description\n    genres\n    type\n    slug\n    favorite\n    rate\n    customJson\n    profileRate\n    details {\n      shortDescription\n      highlightDescription\n      rating\n      yearRelease\n      images {\n        background\n        cover\n        customBackground\n        logo\n        __typename\n      }\n      colors {\n        cover\n        background\n        __typename\n      }\n      __typename\n    }\n    hosts {\n      _id\n      name\n      images\n      __typename\n    }\n    producers {\n      _id\n      name\n      images\n      __typename\n    }\n    directors {\n      _id\n      name\n      images\n      __typename\n    }\n    featuring {\n      _id\n      name\n      images\n      __typename\n    }\n    first_emision\n    schedules {\n      _id\n      name\n      description\n      date_start\n      date_end\n      type\n      current\n      purchased\n      scheduled\n      dvr\n      customJson\n      sellable\n      live {\n        _id\n        name\n        purchased\n        customJson\n        logo\n        thumbnail\n        dvr\n        __typename\n      }\n      __typename\n    }\n    trailer {\n      _id\n      purchased\n      __typename\n    }\n    media {\n      _id\n      purchased\n      duration\n      keep_watching {\n        progress\n        time\n        __typename\n      }\n      __typename\n    }\n    extras {\n      _id\n      title\n      description\n      order\n      images\n      content {\n        ... on Media {\n          _id\n          purchased\n          duration\n          keep_watching {\n            progress\n            time\n            __typename\n          }\n          __typename\n        }\n        __typename\n      }\n      next {\n        _id\n        __typename\n      }\n      __typename\n    }\n    totals {\n      seasons\n      episodes\n      catchups\n      schedules\n      __typename\n    }\n    __typename\n  }\n}\n',
    }
    
    response1 = requests.post('https://next.platform.mediastre.am/graphql', headers=headers, json=json_data1).json()
    title = response1['data']['getShow']['title']
    media_id = response1['data']['getShow']['media']['_id']
    
    ##############
    
    json_data2 = {
        'operationName': 'getMedia',
        'variables': {
            'id': media_id,
        },
        'query': 'query getMedia($id: String!) {\n  getMedia(_id: $id) {\n    _id\n    accessToken\n    keep_watching {\n      progress\n      time\n      __typename\n    }\n    __typename\n  }\n}\n',
    }
    
    response2 = requests.post('https://next.platform.mediastre.am/graphql', headers=headers, json=json_data2).json()
    accessToken = response2['data']['getMedia']['accessToken']
    
    ##############
    
    import requests
    
    headers3 = {
        'authority': 'mdstrm.com',
        'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8',
        'referer': 'https://ondamedia.cl/',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',
    }
    
    params3 = {
        'access_token': accessToken,
    }
    
    response3 = requests.get('https://mdstrm.com/embed/'+media_id+'', headers=headers3, params=params3).text
    uid = re.findall(r"MDSTRMUID = '(.*?)'", response3)[0].strip()
    sid = re.findall(r"MDSTRMSID = '(.*?)'", response3)[0].strip()
    pid = re.findall(r"MDSTRMPID = '(.*?)'", response3)[0].strip()
    
    
    m3u8 = f'https://mdstrm.com/video/{media_id}.m3u8?uid={uid}&sid={sid}&pid={pid}&an=screen&at=web-app&av=v5.2.358&c={customer_id}&ref=https%3A%2F%2Fondamedia.cl%2F&res=512x289&without_cookies=false&listenerid=&dnt=true&access_token={accessToken}'
    
    print(f'title:\n{title}\n')
    
    subprocess.run([m3u8DL_RE,
                    '-H', 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0',
                    '-H', 'Referer: https://mdstrm.com/', '-M', 'format=mp4:muxer=ffmpeg', '--concurrent-download',
                    '--check-segments-count', 'false', '--log-level', 'INFO', '--save-name', 'video', m3u8])
    
    try:
        Path('video.mp4').rename(''+title+'.mp4')
        print(f'{title}.mp4 \nall done!\n')
    except FileNotFoundError:
        print("[ERROR] no mp4 file")
    Quote Quote  
  9. thanks sk8... i installed the module, but for the rest unfortunetly I don't have the skills to understand/manage it...
    Quote Quote  
  10. Originally Posted by abacaxi View Post
    thanks sk8... i installed the module, but for the rest unfortunetly I don't have the skills to understand/manage it...
    just play something in a browser and you can find the authorization token
    Image
    [Attachment 73180 - Click to enlarge]


    that what you see, need to write it to the script
    here:
    Code:
    auth = '< authorization Bearer here just eyJ.... >'
    to
    Code:
    auth = 'eyJ.....'
    for the script
    just copy all what i post > create a new text file > paste all > save as > rename to eg.: ondamedia.py
    make a dir ondamedia
    put these exe files in the dir
    N_m3u8DL-RE.exe
    ffmpeg.exe
    ondamedia.py

    double click to ondamedia.py
    Quote Quote  
  11. Originally Posted by sk8ordi3 View Post
    double click to ondamedia.py
    thanks sk8.
    but it failed, I can sse that your script works perfectly, but I get the same result that with the command line from before...
    Image
    [Attachment 73186 - Click to enlarge]


    just above, when you get the token, you choose a good example because it's a geoblocked video... and I guess this is why it's working on your side.
    but for me the geoblcked videos, i can click on them but they just keep loading with matermark and never play... and then i can't get the token from them.

    so to get the token I had to launch an unblocked videos... but of course then my try failed...
    Quote Quote  
  12. @abacaxi

    for geoblocked content of course you need chile vpn or chile ip
    geoblock is not resolved by the script...
    Quote Quote  
  13. Originally Posted by sk8ordi3 View Post
    @abacaxi

    for geoblocked content of course you need chile vpn or chile ip
    geoblock is not resolved by the script...
    sorry i misexplain myself...
    but yes, I got it and I did use vpn to have chilean IP... this is why i don't really understand...
    Quote Quote  
  14. If it is "no MPD", then it is M3U8.

    HLS = Only H264 video and AAC audio streams in TS or MP4 containers, fragmented streams, fragments listed in "m3u8" files.

    DASH = Not only H264 and AAC streams, all formats possible including "H265" and "DD+", much smaller fragments compared to HLS, fragments listed in "MPD" files.

    Hope you understood.

    Next time, remember these and know what to search.
    Quote Quote  



Similar Threads

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