Good afternoon all,
I've been trying to download a video through Streamlink from FIFA+, I have encountered many roadblocks and have navigated through various threads on here, only to find myself having more questions than answers, as various things related to what I want to do I had no idea existed until today.
This is the video: https://www.plus.fifa.com/en/player/580e692e-e8fc-4ad1-a649-5ec0af83f94d?gl=gb&catalog...ryPoint=Slider
Could anyone try and get it for me, or at least guide me through getting it? This is entirely new to me, so dumbing it down would be appreciated.
Cheers,
Laurent
+ Reply to Thread
Results 1 to 30 of 82
-
-
Video is DRM-protected, here's the command with the decryption keys to download it with N_m3u8DL-RE:
Code:N_m3u8DL-RE -M format=mkv --key 20b7e2dd0a455fdd7a68dc80922200d8:ec2f58abf8a326a8cd39113d37363ed6 "https://d33tkx2907c8gi.cloudfront.net/s/vod/main_101/FIM101238-M00_v05.bdfc6513_SDR_20230424-2257/FIM101238-M00_v05.bdfc6513_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd"
-
-
Kinda unrelated to the original comment, but has anyone ever written a downloader for this site (FIFA+)?
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
Seeing as there ain't that much interest in this site, I kinda doubt there is a downloader script roaming around. I noticed that you don't even need an account to access the video so I wrote a downloader for fifa+. Cdm needed in wvd format.
Code:import json import re import requests from pywidevine.cdm import Cdm from pywidevine.device import Device from pywidevine.pssh import PSSH FIFA_API_DEVICES = 'https://www.plus.fifa.com/gatekeeper/api/v1/devices/' FIFA_API_SESSION = 'https://www.plus.fifa.com/flux-capacitor/api/v1/streaming/session' FIFA_API_STREAMING = 'https://www.plus.fifa.com/flux-capacitor/api/v1/streaming/urls' FIFA_RES_PRIORITY = {"SDP": 0, "SD": 1, "HD": 2, "HDP": 3} LICENSE_URL = "https://www.plus.fifa.com/flux-capacitor/api/v1/licensing/widevine/modular?sessionId={fifa_session_id}" WVD_FILE = "./device_wvd_file.wvd" def get_device_id(): return json.loads(requests.post( FIFA_API_DEVICES, json={ 'model': 'model', 'manufacturer': 'manufacturer', 'profile': 'WEB', 'store': 'CHILI' } ).content.decode())["id"] FIFA_DEVICE_ID = get_device_id() def get_video_data(source_url): video_id = re.search(r"/player/([^/?]*)", source_url).group(1) fifa_session_id = json.loads(requests.post( FIFA_API_SESSION, headers={ 'x-chili-device-id': FIFA_DEVICE_ID, 'x-chili-avod-compatibility': 'free,free-ads', 'x-chili-accept-stream': 'mpd/cenc+h264;mpd/clear+h264;mp4/', 'x-chili-accept-stream-mode': 'multi/codec-compatibility;mono/strict' }, json={'videoAssetId': video_id} ).content.decode())["id"] manifest = sorted(json.loads(requests.get( FIFA_API_STREAMING, headers={'x-chili-streaming-session': fifa_session_id} ).content.decode()), key=lambda m: FIFA_RES_PRIORITY[m["quality"]], reverse=True)[0]["url"] pssh_value = str(min( re.findall(r'<cenc:pssh>(.+?)</cenc:pssh>', requests.get(manifest).content.decode()), key=len )) return manifest, pssh_value, fifa_session_id def get_keys(pssh_value, fifa_session_id): if pssh_value is None or fifa_session_id is None: return [] pssh = PSSH(pssh_value) device = Device.load(WVD_FILE) cdm = Cdm.from_device(device) cdm_session_id = cdm.open() challenge = cdm.get_license_challenge(cdm_session_id, pssh) licence = requests.post(LICENSE_URL.format(fifa_session_id=fifa_session_id), data=challenge) licence.raise_for_status() cdm.parse_license(cdm_session_id, licence.content) keys = [] for key in cdm.get_keys(cdm_session_id): if "CONTENT" in key.type: keys += [f"{key.kid.hex}:{key.key.hex()}"] cdm.close(cdm_session_id) return keys def get_download_command(source_url): manifest, pssh_value, fifa_session_id = get_video_data(source_url) keys = get_keys(pssh_value, fifa_session_id) if len(keys) == 0: return f"N_m3u8DL-RE.exe {manifest} -M format=mkv" return f"N_m3u8DL-RE.exe {manifest} {' '.join([f'--key {k}' for k in keys])}" SOURCE_URLS = [ "https://www.plus.fifa.com/en/player/580e692e-e8fc-4ad1-a649-5ec0af83f94d?catalogId=5f24e303-ff42-499f-9d7a-b4f8e0eff2ce", "https://www.plus.fifa.com/en/player/dd457324-057e-4f17-8457-527f6a8c115d?catalogId=bcf168c3-813c-4882-9878-84a1074fa03a", "https://www.plus.fifa.com/en/player/cd472e9a-21ae-49de-91f4-17da7494e56b?catalogId=bb25cc85-30b2-47e8-b721-a419b961ca19", "https://www.plus.fifa.com/en/player/d15f15f2-49ce-41b3-a1d8-8fbd8db61cfe?catalogId=3d2612ff-c06f-4a7e-a2d7-ec73504515b5", "https://www.plus.fifa.com/en/player/8d1c2b78-50e6-48dc-b34c-1f1fdc98cbe4?catalogId=a1da2e68-b596-4b40-bfdd-8f282867b008" ] for s in SOURCE_URLS: print(get_download_command(s))
Code:N_m3u8DL-RE.exe http://d33tkx2907c8gi.cloudfront.net/s/vod/main_101/FIM101238-M00_v05.bdfc6513_SDR_20230424-2257/FIM101238-M00_v05.bdfc6513_SDR.eng_mul.h264_SDHDP.cenc.mpd --key 20b7e2dd0a455fdd7a68dc80922200d8:ec2f58abf8a326a8cd39113d37363ed6 N_m3u8DL-RE.exe http://d33tkx2907c8gi.cloudfront.net/s/vod/main_100/FIM100159-M00_v05.a2db774f_SDR_20230502-1505/FIM100159-M00_v05.a2db774f_SDR.eng_mul.h264_SDHDP.cenc.mpd --key 635a04e01cffe138b5c9a9773dd9eda9:64c2144e89d2e2659e99cb3bb3a2f52b N_m3u8DL-RE.exe http://d33tkx2907c8gi.cloudfront.net/s/vod/main_102/FIM102244-M00_v05.cfbc2e14_SDR_20230630-1708/FIM102244-M00_v05.cfbc2e14_SDR.eng_mul.h264_SDHDP.cenc.mpd --key 325ddc6be23f234812435ac2bd618b4b:51373b5285b9aecdd2af1147f7454e95 N_m3u8DL-RE.exe http://d33tkx2907c8gi.cloudfront.net/s/vod/main_100/FIM100838-M00_v05.335b30c1_SDR_20230419-2139/FIM100838-M00_v05.335b30c1_SDR.por_mul.h264_SDHDP.cenc.mpd --key 9e4e862023b080c9ba346e852ffa91a1:ca4c46101b1d8a471b473f24dc1cb382 N_m3u8DL-RE.exe http://d33tkx2907c8gi.cloudfront.net/s/vod/main_105/FIM105527-M00_v05.8c68080d_SDR_20240208-0935/FIM105527-M00_v05.8c68080d_SDR.eng_mul.h264_SDHDP.cenc.mpd --key 250eb45eef8dd2e0844b53df574fbbea:a5a01a4d032e345713600e6f0b0fbdd1
Edit: This script has been added and extended in the widefrog tool so I won't maintain it here. Any relevant updates will take place in the support thread.Last edited by 2nHxWW6GkN1l916N3ayz8HQoi; 21st May 2024 at 04:25.
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
Nice work, pepe! I'm sure there are people who'll find it useful.
You also have to respect any site that uses "flux capacitor" as a name for their API -
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
I don't understand any of this. Could some simplify this for a 5 year old techie-mind? I just downloaded streamlink
-
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
I'm looking to get all full match replays from the 2023 Women's World Cup for the Netherlands and England
-
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
Here is a filter results for the Netherlands full matches I am trying to get:
https://www.plus.fifa.com/en/archive?filters=video-type%3Afull-match-replays-fifa-plus...%3Anetherlands
And here is England:
https://www.plus.fifa.com/en/archive?filters=video-type%3Afull-match-replays-fifa-plus...team%3Aengland
The England matches I was only looking to get from 2023 - 2015.
Thank you for your assistance!!!!! -
Go to each video, click on it, click on watch free / play and copy the updated URL. It should look like this (notice the /player/ path):
Code:https://www.plus.fifa.com/en/player/580e692e-e8fc-4ad1-a649-5ec0af83f94d?gl=gb&catalogId=5f24e303-ff42-499f-9d7a-b4f8e0eff2ce&entryPoint=Slider
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
Does this look right:
https://www.plus.fifa.com/en/player/8bfee684-8857-4de9-b530-20358eab1c70?catalogId=7e3...entryPoint=CTA
https://www.plus.fifa.com/en/player/e0d1ba91-bb01-493f-b23d-6f49d5a5ad49?catalogId=779...entryPoint=CTA
https://www.plus.fifa.com/en/player/14f8b0e3-121a-4fd1-8420-1ba5887d2cac?catalogId=0d8...entryPoint=CTA
https://www.plus.fifa.com/en/player/2cccc78d-e07d-4eb7-9a27-941460852bcb?catalogId=836...entryPoint=CTA
https://www.plus.fifa.com/en/player/2108da23-1315-4d55-be00-9ddbbb4a3463?catalogId=9ba...entryPoint=CTA
https://www.plus.fifa.com/en/player/8279fdc3-113b-4a95-bb2d-a74b75c1125c?catalogId=d76...entryPoint=CTA
https://www.plus.fifa.com/en/player/2a20201c-aea9-4a4e-8acc-70a94f1ebbcf?catalogId=2f2...entryPoint=CTA
https://www.plus.fifa.com/en/player/305be140-c197-4be5-ab13-3c392b03d544?catalogId=945...1-0e221d410c42
https://www.plus.fifa.com/en/player/a2a46fe8-374d-4cc2-ad1f-d46b6ff168fb?catalogId=b5d...0-cf2a46aa14ec
https://www.plus.fifa.com/en/player/b82eb7bc-5b82-41ef-92a6-8bf92ae44041?catalogId=bfd...f-c0f8072d6ae3
https://www.plus.fifa.com/en/player/a72fd7d9-9a33-4a3b-bcfc-35e81504adc2?catalogId=4ac...4-6f31c49e9953
https://www.plus.fifa.com/en/player/3456a41f-475a-4b1b-804d-b4c41a85c6ca?catalogId=3be...c-5f5e448a20dc
https://www.plus.fifa.com/en/player/176b470d-53e9-4506-8a91-1a475caa568e?catalogId=a0a...4-1b6ae591116f
https://www.plus.fifa.com/en/player/a8676505-4d39-4f27-9f12-8e7f4045eb98?catalogId=4f2...d-cc97bbcc9cef -
Yeah
Code:N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_100/FIM100051-M00_v05.4e8bd6a9_SDR_20230421-1512/FIM100051-M00_v05.4e8bd6a9_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key 723c5502d042c8443004b355711a9644:b3a97401263752a4b308d82a3c0d1614 --save-dir "media\plus_fifa_com" --save-name "USA_v_Netherlands_Final_FIFA_Womens_World_Cup_France_2019tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_102/FIM102662-M00_v05.90bbfd0a_SDR_20240116-1114/FIM102662-M00_v05.90bbfd0a_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key c57db8d275f444b69a5169224886d05e:aef7609d1d467947db6bd08fc64ff024 --save-dir "media\plus_fifa_com" --save-name "Netherlands_v_Portugal_Group_E_FIFA_Womens_World_Cup_Australia_New_Zealand_2023tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_102/FIM102691-M00_v05.e0855934_SDR_20240119-1521/FIM102691-M00_v05.e0855934_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key 41c00b2bb56b4da5817516d87a63a908:b89e76827d0550f0dc22c52428a7b9c4 --save-dir "media\plus_fifa_com" --save-name "China_PR_v_England_Group_D_FIFA_Womens_World_Cup_Australia_New_Zealand_2023tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_102/FIM102688-M00_v05.7be96bb9_SDR_20240119-1426/FIM102688-M00_v05.7be96bb9_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key cda2b808734e4a97a85e25ebec81f068:97a8db79a3baa2feb159d4797522feab --save-dir "media\plus_fifa_com" --save-name "Vietnam_v_Netherlands_Group_E_FIFA_Womens_World_Cup_Australia_New_Zealand_2023tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_102/FIM102711-M00_v05.e91f97c2_SDR_20230921-1336/FIM102711-M00_v05.e91f97c2_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key 554f02ceade74ea5a5971df572dda768:c09289bb5984549f900e4f42fd479e70 --save-dir "media\plus_fifa_com" --save-name "Australia_v_England_Semi-finals_FIFA_Womens_World_Cup_Australia_New_Zealand_2023tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_100/FIM100046-M00_v05.515a3c5d_SDR_20230502-1246/FIM100046-M00_v05.515a3c5d_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key 6a122dce0469001c197464a95d00c8d3:43a265066152df60350e270ddfb67fc7 --save-dir "media\plus_fifa_com" --save-name "Italy_v_Netherlands_Quarter-finals_FIFA_Womens_World_Cup_France_2019tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_100/FIM100033-M00_v05.f1f688b5_SDR_20230427-1550/FIM100033-M00_v05.f1f688b5_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key 882d3443206874c0561097a500b27a21:6e3188c21f5bb676217e506eae976e3f --save-dir "media\plus_fifa_com" --save-name "Netherlands_v_Canada_Group_E_FIFA_Womens_World_Cup_France_2019tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_102/FIM102713-M00_v05.1b01b4ca_SDR_20230921-1336/FIM102713-M00_v05.1b01b4ca_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key 2bb791f0940d480da12098e10862c424:b01477b75fbf6dcd640f2d3977a694bb --save-dir "media\plus_fifa_com" --save-name "Spain_v_England_Final_FIFA_Womens_World_Cup_Australia_New_Zealand_2023tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_100/FIM100009-M00_v05.d9d5fbec_SDR_20230426-1552/FIM100009-M00_v05.d9d5fbec_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key b1b3257f66c2fe80951692ffff05000f:150415d2851cb4d4e5990440907a74de --save-dir "media\plus_fifa_com" --save-name "New_Zealand_v_Netherlands_Group_E_FIFA_Womens_World_Cup_France_2019tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_100/FIM100020-M00_v05.a93cfb30_SDR_20230427-1541/FIM100020-M00_v05.a93cfb30_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key dfd1e9ddc23bbf69f8d080ef435333f3:24a3d1c91b78d0f70d45087967043300 --save-dir "media\plus_fifa_com" --save-name "Netherlands_v_Cameroon_Group_E_FIFA_Womens_World_Cup_France_2019tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_100/FIM100049-M00_v05.7bf37589_SDR_20230428-1611/FIM100049-M00_v05.7bf37589_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key e73cf65dd00d11427fd5b1c2ba0eb125:ebd9713dafd0aaf9e83617c7bf474f26 --save-dir "media\plus_fifa_com" --save-name "Netherlands_v_Sweden_Semi-finals_FIFA_Womens_World_Cup_France_2019tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_100/FIM100043-M00_v05.4a6e2489_SDR_20230428-1611/FIM100043-M00_v05.4a6e2489_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key 6cdbe018e2438a1263ea3ebacb163d2d:33f96bb630cbd8c8356a001bbc423042 --save-dir "media\plus_fifa_com" --save-name "Netherlands_v_Japan_Round_of_16_FIFA_Womens_World_Cup_France_2019tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_102/FIM102676-M00_v05.416299d5_SDR_20240119-1110/FIM102676-M00_v05.416299d5_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key c879760a912b4e528a853226e4af30b9:bb1cac5e5b40de0235484101ac9c4985 --save-dir "media\plus_fifa_com" --save-name "England_v_Denmark_Group_D_FIFA_Womens_World_Cup_Australia_New_Zealand_2023tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge N_m3u8DL-RE "http://d33tkx2907c8gi.cloudfront.net/s/vod/main_102/FIM102672-M00_v05.340d1318_SDR_20240119-1110/FIM102672-M00_v05.340d1318_SDR.eng_mul.h264_SDHDP.cenc_subs.mpd" --key 2d3beccf4e5f43c4b58b014dda39819a:cb44b48e93b1dc9161f8f06988d71a10 --save-dir "media\plus_fifa_com" --save-name "USA_v_Netherlands_Group_E_FIFA_Womens_World_Cup_Australia_New_Zealand_2023tm_Full_Match_Replay" -M format=mkv:muxer=mkvmerge
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
If you want to stick to yt-dlp you need mp4decrypt to manually decrypt the downloaded encrypted content. But why would you put yourself through that? Use N_m3u8DL-RE for DRM only. It handles automatically the decryption and muxing with the right parameters. You also need to place in the same folder as N_m3u8 the following: ffmpeg, mp4decrypt and mkvmerge (since fifa+ manifests break the default muxer).
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
I think I might have gotten it down thanks to you, let's see what happens
Last edited by Bruce236; 5th Jun 2024 at 15:08.
-
2nHxWW6GkN1l916N3ayz8HQoi - Thank you so much. I immensely appreciate your assistance with this!!! In regards to your post dated 9th Mar 2024 11:41 - is that the code which would be inputted with the corresponding links I want, and then it would provide me the full code? Or do I need to use CDRM- project to get the individual code first and input that into your written code?
-
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
There are a bunch more matches I would like to get, what is the easiest way to get the cdm key in wvd format? I have no idea what that means honestly?
-
Read sticky threads you will learn a lot. https://forum.videohelp.com/threads/408031-Dumping-Your-own-L3-CDM-with-Android-Studio. If you don't mind learning send the url and I'll send back the files downloaded and reuploaded.
-
I know how to get the pssh, but I cant find any of the other additional information needed for CDRM
-
Maybe you misunderstood some parts, a CDM is a wvd file that used with python script retrieve keys. CDRM is a project that do not need a wvd file since everything is handle by the website. You can grab the pssh and use it with https://cdrm-project.com/ OR you can read sticky threads.
-
What are sticky threads? Threads on this site? I've been reading through countless threads since starting this and am still at square one. Do you want me to just send the links of the videos I am trying to get? It's like 20+ videos....
-
Those are sticky threads :
[Attachment 79685 - Click to enlarge]
To get your own CDM follow this one : https://forum.videohelp.com/threads/408031-Dumping-Your-own-L3-CDM-with-Android-Studio
You can send the link too, as you want -
Instructions are clear.. If you can't follow them use https://cdrm-project.com/ or directly send video links.
-
Where are the sticky threads? Where is that screenshot from? Theres nothing on this website like that.
Similar Threads
-
Downloading from the FIFA+ Platform
By Mikaelref in forum Video Streaming DownloadingReplies: 133Last Post: 29th Apr 2025, 17:54 -
Downloading an HLS stream: ONLY in sync when downloading with ffmpeg. Possi
By royjeon215 in forum Video Streaming DownloadingReplies: 6Last Post: 21st Jan 2024, 02:56 -
Toolkit check for encrypted "Fifa Plus" content
By adrian44 in forum Video Streaming DownloadingReplies: 2Last Post: 23rd Nov 2023, 10:05 -
help downloading this video
By Lionking in forum Video Streaming DownloadingReplies: 7Last Post: 1st Dec 2020, 22:04 -
downloading subtitles that are not part of video and are overlayed on video
By 3dsmaxed in forum Newbie / General discussionsReplies: 1Last Post: 7th May 2019, 02:41