VideoHelp Forum
+ Reply to Thread
Results 1 to 16 of 16
Thread
  1. Hi everyone,
    does anyone see how to download on an easy way a video from vimeo. (I mean using N_m3u8... not jdownloader wich still works)
    the eternal trick by substituing "master.json > master.mpd" doesn't seem to work anymore, or am i wrong ?

    see here with this :
    Code:
    https://vimeo.com/813565071
    Quote Quote  
  2. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    You can use : https://github.com/akiomik/vimeo-dl?tab=readme-ov-file.
    Grab the playlist.json's url and run :

    Code:
    vimeo-dl -i "playlist.json's url" --combine -o "save-name"
    For your video :
    Code:
    vimeo-dl -i 'https://vod-adaptive-ak.vimeocdn.com/exp=1719635282~acl=%2F0120a429-eb92-4773-9163-c5eee868cf26%2F%2A~hmac=c60b02024735d18d4676ed131e807cdcffe9d8515523b6693dfe6145edd33dd8/0120a429-eb92-4773-9163-c5eee868cf26/v2/playlist/av/primary/playlist.json?omit=av1-hevc&pathsig=8c953e4f~iOLZ4t0WlRfxNbmkXDz0PCZ44zMRZaJtOgi1ezG0mSg&rh=zWrec' --combine -o 'Infierno grande'
    This tool ins't fast.. You better using jdownloader2
    https://gofile.io/d/vgHnC6
    Last edited by aqzs; 28th Jun 2024 at 19:12.
    Quote Quote  
  3. Code:
    yt-dlp -N8 https://vimeo.com/813565071
    Quote Quote  
  4. but still, vimeo has improved their streaming system, even with Jdownloader now I get this :
    Image
    [Attachment 80292 - Click to enlarge]
    Quote Quote  
  5. Originally Posted by abacaxi View Post
    but still, vimeo has improved their streaming system, even with Jdownloader now I get this :
    Image
    [Attachment 80292 - Click to enlarge]
    drop your master.json link
    Quote Quote  
  6. Originally Posted by slayer36 View Post
    Originally Posted by abacaxi View Post
    but still, vimeo has improved their streaming system, even with Jdownloader now I get this :
    Image
    [Attachment 80292 - Click to enlarge]
    drop your master.json link
    there is no master.json link anymore... this is why I started this thread...
    Quote Quote  
  7. Originally Posted by abacaxi View Post
    Originally Posted by slayer36 View Post
    Originally Posted by abacaxi View Post
    but still, vimeo has improved their streaming system, even with Jdownloader now I get this :
    Image
    [Attachment 80292 - Click to enlarge]
    drop your master.json link
    there is no master.json link anymore... this is why I started this thread...
    you can share details privately if you wanna!!
    Quote Quote  
  8. Originally Posted by slayer36 View Post
    you can share details privately if you wanna!!
    actually, there is no need. can you just go on any random vimeo video and see if you can get the master.json, please ?

    and now seems to have a json file like this :
    Code:
    https://vod-adaptive-ak.vimeocdn.com/exp=1719667155~acl=%2F7e9447a4-9d30-40c1-ad76-d5e607f3ef2b%2F%2A~hmac=fc815de2338f13324ac0fb4ab656615058aa318c4fa9da823a72cf67107086db/7e9447a4-9d30-40c1-ad76-d5e607f3ef2b/v2/playlist/av/primary/playlist.json?omit=av1-hevc&pathsig=8c953e4f~-zvXZu947_Mp4ovJQroSBc7j-wbfHpW7otNzsnoDS14&qsr=1&rh=21ymNr
    Quote Quote  
  9. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    You don't need details shared privately ?
    The link to the video is shared in the first post :
    Originally Posted by abacaxi View Post
    Code:
    https://vimeo.com/813565071
    Vimeo are now using playlist.json instead of master.json. You can setup a flaresolverr container to bypass cloudflare protection in jdownloader or use this project I shared in the first reply : https://github.com/akiomik/vimeo-dl?tab=readme-ov-file
    Quote Quote  
  10. @abacaxi

    why just don't use yt-dlp as cedric says on post#3?
    yt-dlp can support vimeo video extractor (also 1080p is available for your link)

    or download from this m3u8 link (valid for 5 hours)
    Code:
    https://vod-adaptive-ak.vimeocdn.com/exp=1719682421~acl=%2F0120a429-eb92-4773-9163-c5eee868cf26%2F%2A~hmac=953f4ebc19b0e69de1848acc96a879e4d4a46fc45d3c384b91c1fd7e9cde3e03/0120a429-eb92-4773-9163-c5eee868cf26/v2/playlist/av/primary/sub/83067674-en/playlist.m3u8?ext-subs=1&pathsig=8c953e4f~4_q-sfRQXUPh4uw13UzH6SjIqG5c0o2kyz3J9HAHhgc&rh=zWrec&sf=ts
    Quote Quote  
  11. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Yt-dlp isn't always working due to cloudflare protection..

    Here is a script I made using flaresolverr to get the N_m3u8DL-RE command :
    HTML Code:
    import requests
    import json
    import re
    from pprint import pprint
    from bs4 import BeautifulSoup
    
    headers = {'Content-Type': 'application/json'}
    
    def create():
        r = requests.post(API_URL, headers=headers, json={"cmd":"sessions.create","maxTimeout":60000})
        rdata = json.loads(r.content)
        return rdata["session"]
    
    def get(url):
        response = requests.post(API_URL, headers=headers, json={"cmd":"request.get","url":url,"maxTimeout":60000,"session":SESSIONID})
        response_data = json.loads(response.content)
        html = response_data["solution"]["response"]
        return html
    
    def destroy():
        destroy_response = requests.post(API_URL, headers=headers, json={"cmd":"sessions.destroy","session":SESSIONID})
        destroy_response_data = destroy_response.json()
        if destroy_response_data['status'] == 'ok':
            print(f'Session {SESSIONID} destroyed successfully.')
        else:
            print(f'Failed to destroy session {SESSIONID}:', destroy_response_data['message'])
    
    
    API_URL = 'http://0.0.0.0:8191/v1'
    SESSIONID = create()
    # video_url = 'https://vimeo.com/813565071'
    video_url = input('Enter the Vimeo video URL: ')
    r = get(video_url)
    
    match = re.search(r'window\.vimeo\.clip_page_config\s*=\s*({.*?});', r)
    if match:
        config = match.group(1)
        config_json = json.loads(config)
        player = config_json['player']['config_url']
        name = config_json['clip']['title']
    
        html = get(player)
        soup = BeautifulSoup(html, 'html.parser')
        json_str = soup.pre.get_text()
        data = json.loads(json_str)
        cdn = data['request']['files']['hls']['default_cdn']
        m3u8_url = data['request']['files']['hls']['cdns'][cdn]['url']
    
        print(f"""N_m3u8DL-RE "{m3u8_url}" --save-name "{name}" --select-video best --select-audio all --select-subtitle all -mt -M format=mkv  --log-level OFF""")
    else:
        print('clip_page_config not found')
    
    destroy()
    HTML Code:
    Enter the Vimeo video URL: https://vimeo.com/813565071
    N_m3u8DL-RE "https://vod-adaptive-ak.vimeocdn.com/exp=1719685254~acl=%2F0120a429-eb92-4773-9163-c5eee868cf26%2F%2A~hmac=15e68446072cc0b3c509c0c116e6df45cb3c0d2a6eb1bf867841acd110dca487/0120a429-eb92-4773-9163-c5eee868cf26/v2/playlist/av/primary/sub/83067674-en/playlist.m3u8?ext-subs=1&pathsig=8c953e4f~4_q-sfRQXUPh4uw13UzH6SjIqG5c0o2kyz3J9HAHhgc&rh=zWrec&sf=ts" --save-name "Infierno grande" --select-video best --select-audio all --select-subtitle all -mt -M format=mkv  --log-level OFF
    Session a2187b10-361a-11ef-a809-0242ac110002 destroyed successfully.
    Image
    [Attachment 80297 - Click to enlarge]


    To run this script you will need to have flaresolverr running in a docker container, here are instructions for setup : https://github.com/FlareSolverr/FlareSolverr?tab=readme-ov-file#installation
    Quote Quote  
  12. Regarding cloudflare: won't the curl-cffi integration (impersonation) in yt-dlp help here?
    Quote Quote  
  13. Originally Posted by abacaxi View Post
    Originally Posted by slayer36 View Post
    you can share details privately if you wanna!!
    actually, there is no need. can you just go on any random vimeo video and see if you can get the master.json, please ?

    and now seems to have a json file like this :
    Code:
    https://vod-adaptive-ak.vimeocdn.com/exp=1719667155~acl=%2F7e9447a4-9d30-40c1-ad76-d5e607f3ef2b%2F%2A~hmac=fc815de2338f13324ac0fb4ab656615058aa318c4fa9da823a72cf67107086db/7e9447a4-9d30-40c1-ad76-d5e607f3ef2b/v2/playlist/av/primary/playlist.json?omit=av1-hevc&pathsig=8c953e4f~-zvXZu947_Mp4ovJQroSBc7j-wbfHpW7otNzsnoDS14&qsr=1&rh=21ymNr
    they changed nothing btw,

    Code:
    ffmpeg.exe -i 'https://vod-adaptive-ak.vimeocdn.com/exp=1719691775~acl=%2F0120a429-eb92-4773-9163-c5eee868cf26%2F%2A~hmac=a045977698a9c99f3fade35e345f974299335f1f742bad69ccc1f5a907abdd95/0120a429-eb92-4773-9163-c5eee868cf26/v2/playlist/av/0120a429/avf/29e9b3dd/media.m3u8?pathsig=8c953e4f~hX17e3kY7xYqDmdkf-SqYzZxJl7pXk6RAvLwhYuFOas&sf=ts&st=video&ext-subs=1&omit=hevc&rh=zWrec' -i 'https://vod-adaptive-ak.vimeocdn.com/exp=1719691775~acl=%2F0120a429-eb92-4773-9163-c5eee868cf26%2F%2A~hmac=a045977698a9c99f3fade35e345f974299335f1f742bad69ccc1f5a907abdd95/0120a429-eb92-4773-9163-c5eee868cf26/v2/playlist/av/0120a429/avf/29e9b3dd/media.m3u8?pathsig=8c953e4f~hX17e3kY7xYqDmdkf-SqYzZxJl7pXk6RAvLwhYuFOas&sf=ts&st=audio&ext-subs=1&omit=hevc&rh=zWrec' -c copy -map 0:v:0 -map 1:a:0 'test.mp4'
    Quote Quote  
  14. thanks you all !
    Quote Quote  
  15. I simple HLS creator, can be useful if you want to understand how Vimeo's APIs work:
    https://github.com/DevLARLEY/vimeo-downloader
    Quote Quote  



Similar Threads

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