Hello,
rakuten.tv: https://www.rakuten.tv/fr/player/movies/stream/under-siege-2
I have the video: https://prod-kami.wuaki.tv/v1/delivery/dash/avod/112e90df-6811-4a0b-ac67-ef44cf815e9f.mpd
I have the PSSH: AAAAcHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFAIARIQ/kT3v/feOT962EDbK+F4eRoFd3Vha2kiLWZlNDRmN2JmZjdkZTM5M2Y3 YWQ4NDBkYjJiZTE3ODc5LW1jLTAtMTQ2LTAtMEjj3JWbBg==
j'ai la license: https://prod-kami.wuaki.tv/v1/licensing/wvm/80c3c88a-77c6-404a-a400-1e8d095ad5e3?uuid=...0-1e8d095ad5e3
I have filled in the different fields:
PSSH:
AAAAcHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFAIARIQ/kT3v/feOT962EDbK+F4eRoFd3Vha2kiLWZlNDRmN2JmZjdkZTM5M2Y3 YWQ4NDBkYjJiZTE3ODc5LW1jLTAtMTQ2LTAtMEjj3JWbBg==
License:
https://prod-kami.wuaki.tv/v1/licensing/wvm/80c3c88a-77c6-404a-a400-1e8d095ad5e3?uuid=...0-1e8d095ad5e3
Headers:
accept: “*/*”
content-length: “316”
Connection: keep-alive
Build Info:
google/sdk_gphone_x86/generic_x86:8.1.0/OSM1.180201.037/6739391:userdebug/dev-keys
Proxy:
Cache:
Total key count: 403447
ERROR
Error 403: {“errors”:[{“code”:“exception:[kami.exception.http_exception.HttpException]”,“message”:“HttpException: Forbidden”}],“uuid”:“80c3c88a-77c6-404a-a400-1e8d095ad5e3”}
and I get an error.
can you help me?
+ Reply to Thread
Results 1 to 12 of 12
-
-
Rakuten requires a script to fetch a fresh license. Using the one you get from browser requests isn't going to work.
Code:--key fe44f7bff7de393f7ad840db2be17879:ae331632329128cb8915cf5e77bab3f0
-
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
Yes, you need a VPN/proxy to whatever region you're requesting the data from.
You also need the correct params in the request, like device type, regional data, content id etc. If you check the network requests, you should see what kind of classification and params are needed for each title. -
I made this script :
Code:from pywidevine.cdm import Cdm from pywidevine.device import Device from pywidevine.pssh import PSSH import requests import xml.etree.ElementTree as ET import json DEVICE_UID = 'DEVICE_UID' def getpssh(url_mpd): response = requests.get(url_mpd, headers={'x-forwarded-for': '27.120.97.133',}) root = ET.fromstring(response.content) return root[1][0][1][0].text headers = { 'accept': 'application/json, text/plain, */*', 'accept-language': 'fr-FR,fr;q=0.9', 'cache-control': 'no-cache', 'content-type': 'application/json', 'origin': 'https://www.rakuten.tv', 'pragma': 'no-cache', 'priority': 'u=1, i', 'referer': 'https://www.rakuten.tv/', 'sec-ch-ua': '"Brave";v="125", "Chromium";v="125", "Not.A/Brand";v="24"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"macOS"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-site', 'sec-gpc': '1', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36', } params = ( ('classification_id', '23'), ('device_identifier', 'web'), ('device_stream_audio_quality', '2.0'), ('device_stream_hdr_type', 'NONE'), ('device_stream_video_quality', 'FHD'), ('disable_dash_legacy_packages', 'false'), ('locale', 'fr'), ('market_code', 'fr'), ) payload = {'audio_language': 'FRA', 'audio_quality': '2.0', 'classification_id': '23', 'content_id': 'under-siege-2', 'content_type': 'movies', 'device_make': 'chrome', 'device_model': 'GENERIC', 'device_serial': 'not implemented', 'device_stream_video_quality': 'HD', 'device_uid': DEVICE_UID, 'device_year': 1970, 'gam_correlator': 1360514360499255, 'gdpr_consent_opt_out': '0', 'gdpr_consent': '', 'hdr_type': 'NONE', 'ifa_subscriber_id': None, 'ifa_type': 'ppid', 'player_height': 1080, 'player_width': 1920, 'player': 'web:DASH-CENC:WVM', 'publisher_provided_id': '6807a015-792c-4541-977e-65a58a99be3c', 'strict_video_quality': False, 'subtitle_formats': ['vtt'], 'subtitle_language': 'MIS', 'support_closed_captions': True, 'video_type': 'stream', 'support_thumbnails': True, 'app_bundle': 'com.rakutentv.web', 'app_name': 'RakutenTV', 'url': 'rakuten.tv', 'requestedContent': {'live': False, 'duration': 6000, 'genres': ['Action', 'Thriller'], 'id': 163193, 'rating': '12', 'title': 'Under Siege 2', 'adOptions': {'channelID': 3273, 'gdprAccepted': False, 'gdprConsentString': '', 'limitTargetedAds': 1, 'playerOrigin': 'playerpage', 'gdprConsentOptOut': '0', 'publisherProvidedId': '6807a015-792c-4541-977e-65a58a99be3c'}}} data = requests.post('https://gizmo.rakuten.tv/v3/avod/streamings', headers=headers, params=params, json=payload).json() lic_url = data['data']['stream_infos'][0]['license_url'] mpd_url = data['data']['stream_infos'][0]['url'] print('lic_url: ', lic_url) pssh = getpssh(mpd_url) print('pssh: ', pssh) pssh = PSSH(pssh) device = Device.load(r"/Users/noham/Documents/GitHub/DRM-remover/TOOLS/WVD/xiaomi_redmi_5_plus_v5.1.0-android_701ec55d_4445_l3.wvd") cdm = Cdm.from_device(device) session_id = cdm.open() challenge = cdm.get_license_challenge(session_id, pssh) licence = requests.post(lic_url, headers = headers, data=challenge) print('licence: ', licence.text) licence.raise_for_status() cdm.parse_license(session_id, licence.content) for key in cdm.get_keys(session_id): if key.type=='CONTENT': print(f"\n--key {key.kid.hex}:{key.key.hex()}") cdm.close(session_id)
HTML Code:lic_url: https://prod-kami.wuaki.tv/v1/licensing/wvm/18d9cab8-65c6-4e57-94c0-bb945398d72e?uuid=18d9cab8-65c6-4e57-94c0-bb945398d72e pssh: AAAAcHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFAIARIQ/kT3v/feOT962EDbK+F4eRoFd3Vha2kiLWZlNDRmN2JmZjdkZTM5M2Y3YWQ4NDBkYjJiZTE3ODc5LW1jLTAtMTQ2LTAtMEjj3JWbBg== licence: {"errors":[{"code":"exception:[kami.exception.http_exception.HttpException]","message":"HttpException: Forbidden"}],"uuid":"18d9cab8-65c6-4e57-94c0-bb945398d72e"} Traceback (most recent call last): File "/Users/noham/Documents/GitHub/DRM-remover/experiments/rakuten/key_script.py", line 90, in <module> licence.raise_for_status() File "/Users/noham/miniconda3/envs/310/lib/python3.10/site-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 403 Client Error: FORBIDDEN for url: https://prod-kami.wuaki.tv/v1/licensing/wvm/18d9cab8-65c6-4e57-94c0-bb945398d72e?uuid=18d9cab8-65c6-4e57-94c0-bb945398d72e
-
you can request from android device, but if stable have better method to bypass web request, that is great.
-
-
I would like to know what tools are used to recover the rakuten.tv keys. And the procedure to get them.
thank you -
Hi,
Does anyone know if it is possible to download rakuten at 1080? Any tricks? -
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
Similar Threads
-
Help with one off download [rakuten.tv spain]
By gorby in forum Video Streaming DownloadingReplies: 26Last Post: 25th Feb 2024, 09:29 -
rakuten.tv
By k2000 in forum Video Streaming DownloadingReplies: 9Last Post: 25th Mar 2022, 13:13