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
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 16 of 16
Thread
-
-
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"
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'
https://gofile.io/d/vgHnC6Last edited by aqzs; 28th Jun 2024 at 19:12.
-
but still, vimeo has improved their streaming system, even with Jdownloader now I get this :
[Attachment 80292 - Click to enlarge] -
-
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
-
You don't need details shared privately ?
The link to the video is shared in the first post :
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 -
@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
-
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.
[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 -
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'
-
I simple HLS creator, can be useful if you want to understand how Vimeo's APIs work:
https://github.com/DevLARLEY/vimeo-downloader
Similar Threads
-
Using Vimeo OTT
By AprilDDD in forum Newbie / General discussionsReplies: 0Last Post: 18th Sep 2023, 09:09 -
vimeo videos
By loa909 in forum Newbie / General discussionsReplies: 3Last Post: 5th Oct 2020, 11:46 -
[HELP] Download from Vimeo OTT
By ozzy2k11 in forum Video Streaming DownloadingReplies: 0Last Post: 30th Jun 2020, 05:51 -
streaming from vimeo
By David Banner in forum Video Streaming DownloadingReplies: 7Last Post: 30th Sep 2019, 16:38 -
Trying to get a video from vimeo
By jeasimon in forum Video Streaming DownloadingReplies: 3Last Post: 13th Sep 2019, 08:13