Comments (27)
from amzn-480p-downloader.
Seems like amazon UK is on amazon.co.uk and the resource server is on atv-ps-eu.amazon.co.uk, so it seems like you'd have to change tld to "co.uk" in:
amzn_480p_wks: line 62
amzn_480p_pywidevine: line 75
hope this helps!
from amzn-480p-downloader.
Thanks, but unfortunately no luck. Here's what I'm getting:
python3 amzn_480p_wks.py
/home/pc/Desktop/wks-keys/amzn_480p_wks.py:20: SyntaxWarning: "is" with a literal. Did you mean "=="?
resource_url = (f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources" +
/home/pc/Desktop/wks-keys/amzn_480p_wks.py:103: SyntaxWarning: "is" with a literal. Did you mean "=="?
lic_url = (f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources?deviceID=" +
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07R6XXSRH
Traceback (most recent call last):
File "/home/pc/Desktop/wks-keys/amzn_480p_wks.py", line 66, in <module>
j = get_playback_resources(asin)
File "/home/pc/Desktop/wks-keys/amzn_480p_wks.py", line 34, in get_playback_resources
return json.loads(requests.post(url=resource_url, cookies=headers.cookies).text)
File "/home/pc/.local/lib/python3.9/site-packages/requests/api.py", line 115, in post
return request("post", url, data=data, json=json, **kwargs)
File "/home/pc/.local/lib/python3.9/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
File "/home/pc/.local/lib/python3.9/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/home/pc/.local/lib/python3.9/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/home/pc/.local/lib/python3.9/site-packages/requests/adapters.py", line 486, in send
resp = conn.urlopen(
File "/home/pc/.local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 715, in urlopen
httplib_response = self._make_request(
File "/home/pc/.local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 404, in _make_request
self._validate_conn(conn)
File "/home/pc/.local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 1058, in _validate_conn
conn.connect()
File "/home/pc/.local/lib/python3.9/site-packages/urllib3/connection.py", line 363, in connect
self.sock = conn = self._new_conn()
File "/home/pc/.local/lib/python3.9/site-packages/urllib3/connection.py", line 174, in _new_conn
conn = connection.create_connection(
File "/home/pc/.local/lib/python3.9/site-packages/urllib3/util/connection.py", line 68, in create_connection
return six.raise_from(
File "<string>", line 3, in raise_from
urllib3.exceptions.LocationParseError: Failed to parse: 'atv-ps-eu.amazon..co.uk', label empty or too long
Is Python 3.7 a necessity, because it isn't in the debian repos anymore, I'm using 3.9.2 atm?
With the pywidevine version no luck either:
python3 amzn_480p_pywidevine.py
/home/pc/Desktop/wks-keys/pywidevine/amzn_480p_pywidevine.py:22: SyntaxWarning: "is" with a literal. Did you mean "=="?
resource_url = (f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources" +
/home/pc/Desktop/wks-keys/pywidevine/amzn_480p_pywidevine.py:116: SyntaxWarning: "is" with a literal. Did you mean "=="?
lic_url = (f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources?deviceID=" +
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07R6XXSRH
Unable to get playback resources.
python3 amzn_480p_pywidevine.py
/home/pc/Desktop/wks-keys/pywidevine/amzn_480p_pywidevine.py:22: SyntaxWarning: "is" with a literal. Did you mean "=="?
resource_url = (f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources" +
/home/pc/Desktop/wks-keys/pywidevine/amzn_480p_pywidevine.py:116: SyntaxWarning: "is" with a literal. Did you mean "=="?
lic_url = (f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources?deviceID=" +
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: https://www.amazon.co.uk/gp/video/detail/B07R6XXSRH
Traceback (most recent call last):
File "/home/pc/Desktop/wks-keys/pywidevine/amzn_480p_pywidevine.py", line 78, in <module>
asin = get_asin(inp) if inp.startswith("http") else inp
File "/home/pc/Desktop/wks-keys/pywidevine/amzn_480p_pywidevine.py", line 18, in get_asin
return a[a.index("dp")+1]
ValueError: 'dp' is not in list
from amzn-480p-downloader.
for WKS, you entered "**.**co.uk" as the TLD instead of "co.uk"
i updated both script so you won't get the ""dp" is not in list" error (i didn't know amazon.co.uk used "gp")
i'm not sure what's causing the error on the pywidevine side yet, make sure to update both scripts because i made it print out the response json.
from amzn-480p-downloader.
Sorry my bad, I updated the scripts and the pywidevine version was about to work, but failed at the last hurdle:
python3 amzn_480p_pywidevine.py
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07R6XXSRH
Most Ingenious
Barney Kelly's racing coup in Ireland nets him 5,000,000 pounds; a group of greyhound trainers secretly feed the favorite before the race; Louis Colavecchio scams casinos with fake chips; Australian businessman Laurie Connell plays the races in the 1970s.
Get keys? (y/N): y
https://s3-dub-ww.cf.dash.row.aiv-cdn.net/dm/2$13vAaGdMuutrRFu6gv4GSWdOzKE~/c3af/9690/d4a2/4375-a665-39a5f5b922fe/353b2bcc-e69c-46e0-9346-596098c53b5a_corrected.mpd
Traceback (most recent call last):
File "/home/pc/Desktop/WKS-KEYS/amzn_480p_pywidevine.py", line 130, in <module>
keys = get_keys(pssh, lic_url)
File "/home/pc/Desktop/WKS-KEYS/amzn_480p_pywidevine.py", line 46, in get_keys
device = Device.load(files[0])
IndexError: list index out of range
wks version is almost working too, but not quite:
amzn_480p_wks.py
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07R6XXSRH
Most Ingenious
Barney Kelly's racing coup in Ireland nets him 5,000,000 pounds; a group of greyhound trainers secretly feed the favorite before the race; Louis Colavecchio scams casinos with fake chips; Australian businessman Laurie Connell plays the races in the 1970s.
Get keys? (y/N): y
https://s3-dub-ww.cf.dash.row.aiv-cdn.net/dm/2$13vAaGdMuutrRFu6gv4GSWdOzKE~/c3af/9690/d4a2/4375-a665-39a5f5b922fe/353b2bcc-e69c-46e0-9346-596098c53b5a_corrected.mpd
Unable to obtain license from server response.
I tried a few times, but keep getting the above.
from amzn-480p-downloader.
Your CDM has to be in a Widevine Device format in order for the pywidevine script to work
the the command:
pywidevine create-device -k device_private_key -c device_client_id_blob -t "ANDROID" -l 3 -o out_folder
then put the generated .wvd file n the "Device" folder
from amzn-480p-downloader.
i updated both scripts to print the license response when extracting fails, please post your output, if still not working, here.
from amzn-480p-downloader.
Ah didn't know that, ok added .wvd and updated scripts.
EDIT: Pywidevine version gave a different response after another attempt:
python3 amzn_480p_pywidevine.py
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07R6XXSRH
Most Ingenious
Barney Kelly's racing coup in Ireland nets him 5,000,000 pounds; a group of greyhound trainers secretly feed the favorite before the race; Louis Colavecchio scams casinos with fake chips; Australian businessman Laurie Connell plays the races in the 1970s.
Get keys? (y/N): y
No manifest urls found.
{'catalogMetadata': {'catalog': {'entityType': 'TV Show', 'episodeNumber': 1, 'id': 'amzn1.dv.gti.70b53a40-8b6c-f21a-5850-ec09a2fcc7cb', 'runtimeSeconds': 2726, 'synopsis': "Barney Kelly's racing coup in Ireland nets him 5,000,000 pounds; a group of greyhound trainers secretly feed the favorite before the race; Louis Colavecchio scams casinos with fake chips; Australian businessman Laurie Connell plays the races in the 1970s.", 'title': 'Most Ingenious', 'type': 'EPISODE', 'version': '1.0'}, 'family': {'tvAncestors': [{'catalog': {'id': 'amzn1.dv.gti.36b53a39-9422-138a-ca62-041e5b24fdc7', 'seasonNumber': 1, 'title': "The World's Greatest Gambling Scams", 'type': 'SEASON', 'version': '1.0'}, 'version': '1'}, {'catalog': {'id': 'amzn1.dv.gti.9ab53a32-b537-1914-7253-00ef8e465170', 'title': "The World's Greatest Gambling Scams", 'type': 'SHOW', 'version': '1.0'}, 'version': '1'}], 'version': '1.0'}, 'images': {'imageUrls': {'episode': 'https://images-eu.ssl-images-amazon.com/images/S/pv-target-images/77742afcc81aa9fe435e609969222bf44fd4e3068e1f129bdb465a20156f4a84._UY500_UX667_UY500_RI_TTW_.jpg', 'hero': 'https://images-eu.ssl-images-amazon.com/images/S/pv-target-images/df12c2a015349691c0bda404d4521463ba411576a22b709edb9cc6606680900f._RI_TTW_.jpg', 'title': 'https://images-eu.ssl-images-amazon.com/images/S/pv-target-images/77742afcc81aa9fe435e609969222bf44fd4e3068e1f129bdb465a20156f4a84._UY500_UX667_UY500_RI_TTW_.jpg'}, 'version': '1.0'}, 'playback': {'accessControls': {'pinLength': 0, 'restrictions': []}, 'summary': {'isPlayable': False}, 'version': '2.0'}, 'reviews': {'rating': {'count': 6, 'value': 3.7}, 'version': '1.0'}, 'version': '1'}, 'errorsByResource': {'PlaybackUrls': {'errorCode': 'PRS.NoRights.NotOwned', 'message': 'Cannot complete request.', 'type': 'PRSOwnershipException'}}, 'returnedTitleRendition': {'asin': 'B07R6XXSRH', 'assetBundleVideoQuality': 'HD', 'audioQuality': 'Stereo', 'contentId': 'amzn1.dv.vcid.5208ad9e-c70a-4b14-a0eb-f5d3539f576d', 'selectedEntitlement': {'rightsException': {'errorCode': 'PRS.NoRights.NotOwned', 'message': 'Cannot complete request.', 'type': 'PRSOwnershipException'}}, 'titleId': 'B07R6XXSRH', 'videoMaterialType': 'Feature', 'videoQuality': 'UHD', 'videoResolution': '2160p'}}
Wks version is almost working... problem is it seems to be trying to get keys for a 1080p version and I only have a L3 CDM:
python3 amzn_480p_wks.py
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07R6XXSRH
Most Ingenious
Barney Kelly's racing coup in Ireland nets him 5,000,000 pounds; a group of greyhound trainers secretly feed the favorite before the race; Louis Colavecchio scams casinos with fake chips; Australian businessman Laurie Connell plays the races in the 1970s.
Get keys? (y/N): y
https://s3-dub-ww.cf.dash.row.aiv-cdn.net/dm/2$13vAaGdMuutrRFu6gv4GSWdOzKE~/c3af/9690/d4a2/4375-a665-39a5f5b922fe/353b2bcc-e69c-46e0-9346-596098c53b5a_corrected.mpd
Unable to obtain license from server response:
{'errorsByResource': {'Widevine2License': {'downstreamReason': 'untrusted_device', 'errorCode': 'PRS.Dependency.DRM.Widevine.UnsupportedCdmVersion', 'message': 'Cannot complete request.', 'type': 'PRSWidevine2LicenseDeniedException'}}, 'returnedTitleRendition': {'asin': 'B07R6XXSRH', 'assetBundleVideoQuality': 'HD', 'audioQuality': 'Stereo', 'contentId': 'amzn1.dv.vcid.5208ad9e-c70a-4b14-a0eb-f5d3539f576d', 'pid': 'com.amazon.playback.object.vod.6C5B5790-5C2C-4E0E-B2C5-87C7AA401BEE', 'selectedEntitlement': {'benefit': 'PRIME', 'consumptionExpiration': '*editedout*', 'entitlementType': 'PRIME_SUBSCRIPTION', 'grantedByCustomerId': '*editedout*'}, 'titleId': 'B07R6XXSRH', 'videoMaterialType': 'Feature', 'videoQuality': 'HD', 'videoResolution': '1080p'}}
from amzn-480p-downloader.
from amzn-480p-downloader.
Yeah, the pywidevine output in my above post says 'videoQuality': 'UHD', 'videoResolution': '2160p'}}
Tried the wks version again and same thing, but there's no mention of maxHeight="1080" in the mpd:
amzn_480p_wks.py
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07R6XXSRH
Most Ingenious
Barney Kelly's racing coup in Ireland nets him 5,000,000 pounds; a group of greyhound trainers secretly feed the favorite before the race; Louis Colavecchio scams casinos with fake chips; Australian businessman Laurie Connell plays the races in the 1970s.
Get keys? (y/N): y
https://m-4498s3.ll.dash.row.aiv-cdn.net/d/2$13vAaGdMuutrRFu6gv4GSWdOzKE~/ww_dub/c3af/9690/d4a2/4375-a665-39a5f5b922fe/353b2bcc-e69c-46e0-9346-596098c53b5a_corrected.mpd
Unable to obtain license from server response:
{'errorsByResource': {'Widevine2License': {'downstreamReason': 'untrusted_device', 'errorCode': 'PRS.Dependency.DRM.Widevine.UnsupportedCdmVersion', 'message': 'Cannot complete request.', 'type': 'PRSWidevine2LicenseDeniedException'}}, 'returnedTitleRendition': {'asin': 'B07R6XXSRH', 'assetBundleVideoQuality': 'HD', 'audioQuality': 'Stereo', 'contentId': 'amzn1.dv.vcid.5208ad9e-c70a-4b14-a0eb-f5d3539f576d', 'pid': 'com.amazon.playback.object.vod.6C5B5790-5C2C-4E0E-B2C5-87C7AA401BEE', 'selectedEntitlement': {'benefit': 'PRIME', 'consumptionExpiration': '*edited*', 'entitlementType': 'PRIME_SUBSCRIPTION', 'grantedByCustomerId': '*edited*'}, 'titleId': 'B07R6XXSRH', 'videoMaterialType': 'Feature', 'videoQuality': 'HD', 'videoResolution': '1080p'}}
The highest resolution video in the mpd is "video_9" and that's 720x480.
<Representation aspectRatio="37:20" bandwidth="2400000" codecPrivateData="00000001674D401EE4301687B7FE004A003CD4040405000003000100000300328F162D9A0000000168E9786CB2" codecs="avc1.4D401E" frameRate="25" height="480" id="video=2400000" sar="37:30" scanType="progressive" width="720">
<BaseURL>353b2bcc-e69c-46e0-9346-596098c53b5a_video_9.mp4</BaseURL>
from amzn-480p-downloader.
What kind of CDM are you using? An emulated one from Android Studio?
from amzn-480p-downloader.
Atm I'm using ANDROID_4464_l3.wvd
I have quite a few others I'll give them a try tomorrow.
from amzn-480p-downloader.
where did you get it from?
from amzn-480p-downloader.
I think I got it from videohelpforum but not sure, I have a folder with about 10 or more CDM's inside, I use this 4464 one in Freevine and it gets keys no problem.
from amzn-480p-downloader.
Do you have a dumped CDM from Android Studio? That's what i'm using and i want to make sure it's not your CDM that is the problem here. You might get one of these to work: https://forum.videohelp.com/threads/413719-Ready-to-use-CDMs-available-here%21
from amzn-480p-downloader.
updated to scripts so they can get your cookies right from the browser.
I also added for error handling
from amzn-480p-downloader.
Cool I hadn't noticed that thread, I changed CDM (tried a few) and updated scripts, but still no luck. Pywidevine version gives the following on every attempt:
python3 amzn_480p_pywidevine.py
/home/pc/Desktop/WKS-KEYS/amzn_480p_pywidevine.py:65: SyntaxWarning: "is" with a literal. Did you mean "=="?
resource_url = (f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources" +
/home/pc/Desktop/WKS-KEYS/amzn_480p_pywidevine.py:220: SyntaxWarning: "is" with a literal. Did you mean "=="?
f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources?deviceID=" +
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07R6XXSRH
Get cookies from browser? (y/N): y
Skipping chrome for cookie retrieval since it is not closed.
Successfully retrieved cookies
Most Ingenious
Barney Kelly's racing coup in Ireland nets him 5,000,000 pounds; a group of greyhound trainers secretly feed the favorite before the race; Louis Colavecchio scams casinos with fake chips; Australian businessman Laurie Connell plays the races in the 1970s.
Get keys? (y/N): y
https://s3-dub-ww.cf.dash.row.aiv-cdn.net/dm/2$13vAaGdMuutrRFu6gv4GSWdOzKE~/c3af/9690/d4a2/4375-a665-39a5f5b922fe/353b2bcc-e69c-46e0-9346-596098c53b5a_corrected.mpd
Traceback (most recent call last):
File "/home/pc/Desktop/WKS-KEYS/amzn_480p_pywidevine.py", line 230, in <module>
keys = get_keys(pssh, lic_url)
File "/home/pc/Desktop/WKS-KEYS/amzn_480p_pywidevine.py", line 85, in get_keys
device = Device.load(files[0])
IndexError: list index out of range
WKS version was complaining about there being no client ID blob:
python3 amzn_480p_wks.py
/home/pc/Desktop/WKS-KEYS/amzn_480p_wks.py:62: SyntaxWarning: "is" with a literal. Did you mean "=="?
resource_url = (f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources" +
/home/pc/Desktop/WKS-KEYS/amzn_480p_wks.py:207: SyntaxWarning: "is" with a literal. Did you mean "=="?
f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources?deviceID=" +
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07R6XXSRH
Get cookies from browser? (y/N): y
Skipping chrome for cookie retrieval since it is not closed.
Successfully retrieved cookies
Most Ingenious
Barney Kelly's racing coup in Ireland nets him 5,000,000 pounds; a group of greyhound trainers secretly feed the favorite before the race; Louis Colavecchio scams casinos with fake chips; Australian businessman Laurie Connell plays the races in the 1970s.
Get keys? (y/N): y
https://s3-dub-ww.cf.dash.row.aiv-cdn.net/dm/2$13vAaGdMuutrRFu6gv4GSWdOzKE~/c3af/9690/d4a2/4375-a665-39a5f5b922fe/353b2bcc-e69c-46e0-9346-596098c53b5a_corrected.mpd
no client ID blob available for this device
Traceback (most recent call last):
File "/home/pc/Desktop/WKS-KEYS/amzn_480p_wks.py", line 217, in <module>
_, keys = get_keys(pssh, lic_url)
File "/home/pc/Desktop/WKS-KEYS/amzn_480p_wks.py", line 84, in get_keys
'widevine2Challenge': base64.b64encode(challenge).decode('utf-8'),
File "/usr/lib/python3.9/base64.py", line 58, in b64encode
encoded = binascii.b2a_base64(s, newline=False)
TypeError: a bytes-like object is required, not 'int'
So I created a new wvd from a CDM which includes a client ID blob and put the wvd and blob in the CDM folder but then I get 'unable to obtain license from server response':
amzn_480p_wks.py
/home/pc/Desktop/WKS-KEYS/amzn_480p_wks.py:62: SyntaxWarning: "is" with a literal. Did you mean "=="?
resource_url = (f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources" +
/home/pc/Desktop/WKS-KEYS/amzn_480p_wks.py:207: SyntaxWarning: "is" with a literal. Did you mean "=="?
f"https://atv-ps{'' if tld is 'com' else '-eu'}.amazon.{tld}/cdp/catalog/GetPlaybackResources?deviceID=" +
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07R6XXSRH
Get cookies from browser? (y/N): y
Skipping chrome for cookie retrieval since it is not closed.
Successfully retrieved cookies
Most Ingenious
Barney Kelly's racing coup in Ireland nets him 5,000,000 pounds; a group of greyhound trainers secretly feed the favorite before the race; Louis Colavecchio scams casinos with fake chips; Australian businessman Laurie Connell plays the races in the 1970s.
Get keys? (y/N): y
https://s3-dub-ww.cf.dash.row.aiv-cdn.net/dm/2$13vAaGdMuutrRFu6gv4GSWdOzKE~/c3af/9690/d4a2/4375-a665-39a5f5b922fe/353b2bcc-e69c-46e0-9346-596098c53b5a_corrected.mpd
Unable to obtain license from server response.
from amzn-480p-downloader.
Does your pywidevine folder look like this?
i updated the wks script to solve: "Unable to obtain license from server response." so it prints out the raw json
the "PRS.NoRights.NotOwned" error means that you're trying to access content that you haven't bought or can't access because you don't have prime.
from amzn-480p-downloader.
Yes but I'm on MX Linux not windows.
I tried with numerous keys from the ones you suggested and the script keeps complaining of either no blob or no private key, even though the private key is there, no blob:
amzn_480p_wks.py
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07RBBWBGT
Get cookies from browser? (y/N): y
Skipping chrome for cookie retrieval since it is not closed.
Successfully retrieved cookies
Most Skillful
Magician Dustin Marx uses his card skills to cheat casinos out of millions; Sherie Chenova uses 'pass posting' and goes undetected for 4 years; a man builds a craps table at home and practices throwing dice for 3 hours per day; three Aussie blackjack players take on casinos in a legal battle after being banned for card counting.
Get keys? (y/N): y
https://s3-dub-ww.cf.dash.row.aiv-cdn.net/dm/2$TajBqzPPH9wScaOMjCArvJddTRg~/e9fe/8913/d23d/461d-bd31-17f2e79d15f9/60e9c444-eaa4-4d16-9394-6c51c1b147ec_corrected.mpd
no client ID blob available for this device
Traceback (most recent call last):
File "/home/pc/Desktop/WKS-KEYS/amzn_480p_wks.py", line 218, in <module>
_, keys = get_keys(pssh, lic_url)
File "/home/pc/Desktop/WKS-KEYS/amzn_480p_wks.py", line 84, in get_keys
'widevine2Challenge': base64.b64encode(challenge).decode('utf-8'),
File "/usr/lib/python3.9/base64.py", line 58, in b64encode
encoded = binascii.b2a_base64(s, newline=False)
TypeError: a bytes-like object is required, not 'int'
pc@amd:~/Desktop/WKS-KEYS
No private key, even though there is a key there:
python3 amzn_480p_wks.py
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07RBBWBGT
Get cookies from browser? (y/N): y
Skipping chrome for cookie retrieval since it is not closed.
Successfully retrieved cookies
Most Skillful
Magician Dustin Marx uses his card skills to cheat casinos out of millions; Sherie Chenova uses 'pass posting' and goes undetected for 4 years; a man builds a craps table at home and practices throwing dice for 3 hours per day; three Aussie blackjack players take on casinos in a legal battle after being banned for card counting.
Get keys? (y/N): y
https://s3-dub-ww.cf.dash.row.aiv-cdn.net/dm/2$TajBqzPPH9wScaOMjCArvJddTRg~/e9fe/8913/d23d/461d-bd31-17f2e79d15f9/60e9c444-eaa4-4d16-9394-6c51c1b147ec_corrected.mpd
Traceback (most recent call last):
File "/home/pc/Desktop/WKS-KEYS/amzn_480p_wks.py", line 218, in <module>
_, keys = get_keys(pssh, lic_url)
File "/home/pc/Desktop/WKS-KEYS/amzn_480p_wks.py", line 81, in get_keys
challenge = wvdecrypt.get_challenge()
File "/home/pc/Desktop/WKS-KEYS/pywidevine/L3/decrypt/wvdecryptcustom.py", line 55, in get_challenge
return self.cdm.get_license_request(self.session)
File "/home/pc/Desktop/WKS-KEYS/pywidevine/L3/cdm/cdm.py", line 222, in get_license_request
key = RSA.importKey(open(session.device_config.device_private_key_filename).read())
FileNotFoundError: [Errno 2] No such file or directory: '/home/pc/Desktop/WKS-KEYS/pywidevine/L3/cdm/devices/android_generic/device_private_key'
Changing CDM fixes those errors, but then it goes back to the UnsupportedCdmVersion/1080p error.
python3 amzn_480p_wks.py
_____________ ____________ __ _____ _______________ ______ __ __________ _____ _____
___ |__ |/ /__ /__ | / / __ // /_( __ )_ __ \_______ ___ //_/_________ __ ___ ____/___ ___ /_____________ ________ /______________
__ /| |_ /|_/ /__ /__ |/ / _ // /_ __ | / / /__ __ \ __ ,< _ _ \_ / / / __ __/ __ |/_/ __/_ ___/ __ `/ ___/ __/ __ \_ ___/
_ ___ | / / / _ /__ /| / /__ __/ /_/ // /_/ /__ /_/ / _ /| | / __/ /_/ / _ /___ __> < / /_ _ / / /_/ // /__ / /_ / /_/ / /
/_/ |_/_/ /_/ /____/_/ |_/ /_/ \____/ \____/ _ .___/ /_/ |_| \___/_\__, / /_____/ /_/|_| \__/ /_/ \__,_/ \___/ \__/ \____//_/
/_/ /____/
ASIN / Prime Video Link: B07RBBWBGT
Get cookies from browser? (y/N): y
Skipping chrome for cookie retrieval since it is not closed.
Successfully retrieved cookies
Most Daring
Two friends make about $300,000 using the classic 'walkaway' scam; Ida Summers gets away with slight-of-hand for years; professional card counter Andrew Scott starts an empire; a Scottish scammer turns to arson to disguise a forged bet.
Get keys? (y/N): y
https://s3-dub-ww.cf.dash.row.aiv-cdn.net/dm/2$TajBqzPPH9wScaOMjCArvJddTRg~/7f87/3ea2/c200/4a26-89d0-ed1795733d64/d49a3e7e-c6ce-4284-add1-77e7709898ac_corrected.mpd
Unable to obtain license from server response:
{'errorsByResource': {'Widevine2License': {'downstreamReason': 'untrusted_device', 'errorCode': 'PRS.Dependency.DRM.Widevine.UnsupportedCdmVersion', 'message': 'Cannot complete request.', 'type': 'PRSWidevine2LicenseDeniedException'}}, 'returnedTitleRendition': {'asin': 'B07RBBWBGT', 'assetBundleVideoQuality': 'HD', 'audioQuality': 'Stereo', 'contentId': 'amzn1.dv.vcid.558bad3d-880a-4d9d-a15d-aab74d200f03', 'selectedEntitlement': {'benefit': 'PRIME', 'consumptionExpiration': '*edit*', 'entitlementType': 'PRIME_SUBSCRIPTION', 'grantedByCustomerId': '*edit*'}, 'titleId': 'B07RBBWBGT', 'videoMaterialType': 'Feature', 'videoQuality': 'HD', 'videoResolution': '1080p'}}
I figured that's what the "PRS.NoRights.NotOwned" output meant, but I do have prime, that's how I'm able to watch the videos and get the cookies from the curl request. I don't own them though, they're free with prime.
It shows in the output too:
{'benefit': 'PRIME', 'consumptionExpiration': '*edit*', 'entitlementType': 'PRIME_SUBSCRIPTION', 'grantedByCustomerId': '*edit*'}
from amzn-480p-downloader.
hate to say it, but it seems like this may be a linux issue
from amzn-480p-downloader.
Ok so i tried on windows and get all the same errors as before, 1080p error:
I changed CDM's to some of the ones you suggested and they all give the same as on linux... 'missing blob' and 'missing private key' errors, even though the private key is there.
At this point i've tried everything... my own linux OS, fresh install of linux from a bootable USB, putting the scripts in their own venv and freshly installing requirements, windows, multiple CDM's, blobs and wvd's... all to no avail, fails with errors every time no matter what. There's literally nothing else i can try.
Edit: also, like i said before - there's no 1080p version of this video in the .mpd which the script detects (you can open the mpd link and check) so to get a 1080p error is not even possible. Check this mpd anyone can open it and see:
frameRate="25" height="480" id="video=2400000" sar="37:30" scanType="progressive" width="720">
<BaseURL>d49a3e7e-c6ce-4284-add1-77e7709898ac_video_9.mp4</BaseURL>
That's what the script detects and the biggest video is 480p so it's not possible to get a 1080p error from that.
from amzn-480p-downloader.
what kind of wks-keys are you using?
i uploaded mine: WKS-KEYS so you can be sure that it's not that
from amzn-480p-downloader.
Thanks but I don't know how that works for you, on linux it gives me:
python3 amzn_480p_wks.py
Traceback (most recent call last):
File "/home/pc/Desktop/wks/amzn_480p_wks.py", line 7, in <module>
from pywidevine.L3.cdm import deviceconfig
ModuleNotFoundError: No module named 'pywidevine.L3'
and on windows the same:
The one I use has 69 files:
ANDROID_8162_l3.wvd __init__.cpython-37.pyc wvdecryptcustom.cpython-311.pyc
cdm.cpython-311.pyc __init__.cpython-38.pyc wvdecryptcustom.cpython-312.pyc
cdm.cpython-312.pyc __init__.cpython-39.pyc wvdecryptcustom.cpython-36.pyc
cdm.cpython-36.pyc __init__.py wvdecryptcustom.cpython-37.pyc
cdm.cpython-37.pyc key.cpython-311.pyc wvdecryptcustom.cpython-39.pyc
cdm.cpython-38.pyc key.cpython-312.pyc wvdecryptcustom.py
cdm.cpython-39.pyc key.cpython-36.pyc wv_proto2_pb2.cpython-311.pyc
cdm.py key.cpython-37.pyc wv_proto2_pb2.cpython-312.pyc
client_id.bin key.cpython-38.pyc wv_proto2_pb2.cpython-36.pyc
deviceconfig.cpython-311.pyc key.cpython-39.pyc wv_proto2_pb2.cpython-37.pyc
deviceconfig.cpython-312.pyc key.py wv_proto2_pb2.cpython-38.pyc
deviceconfig.cpython-36.pyc private_key.pem wv_proto2_pb2.cpython-39.pyc
deviceconfig.cpython-37.pyc pywidevine wv_proto2_pb2.py
deviceconfig.cpython-38.pyc session.cpython-311.pyc wv_proto2.proto
deviceconfig.cpython-39.pyc session.cpython-312.pyc wv_proto3_pb2.py
deviceconfig.py session.cpython-36.pyc wv_proto3.proto
getPSSH.cpython-311.pyc session.cpython-37.pyc wv_proto4_pb2.cpython-311.pyc
getPSSH.cpython-312.pyc session.cpython-38.pyc wv_proto4_pb2.cpython-312.pyc
getPSSH.cpython-37.pyc session.cpython-39.pyc wv_proto4_pb2.cpython-37.pyc
getPSSH.cpython-39.pyc session.py wv_proto4_pb2.cpython-39.pyc
getPSSH.py vmp.py wv_proto4_pb2.py
__init__.cpython-311.pyc wvdecryptconfig.cpython-38.pyc wv_proto4.proto
__init__.cpython-312.pyc wvdecrypt.cpython-38.pyc
__init__.cpython-36.pyc wvdecrypt.cpython-39.pyc
The one you sent has 24:
cdm.cpython-39.pyc __init__.py wv_proto2_pb2.py
cdm.py key.cpython-39.pyc wv_proto2.proto
device_client_id_blob key.py wv_proto3_pb2.py
deviceconfig.cpython-39.pyc pywidevine wv_proto3.proto
deviceconfig.py session.cpython-39.pyc wv_proto4_pb2.cpython-39.pyc
device_private_key session.py wv_proto4_pb2.py
getPSSH.cpython-39.pyc vmp.py wv_proto4.proto
getPSSH.py wvdecryptcustom.cpython-39.pyc
__init__.cpython-39.pyc wvdecryptcustom.py
from amzn-480p-downloader.
from amzn-480p-downloader.
I was able to try your WKS thanks to this thread but still the same unfortunately:
ASIN / Prime Video Link: B07RBBWBGT
Get cookies from browser? (y/N): Y
Skipping chrome for cookie retrieval since it is not closed.
Successfully retrieved cookies
Most Ingenious
Barney Kelly's racing coup in Ireland nets him 5,000,000 pounds; a group of greyhound trainers secretly feed the favorite before the race; Louis Colavecchio scams casinos with fake chips; Australian businessman Laurie Connell plays the races in the 1970s.
Get keys? (y/N): y
https://s3-dub-ww.cf.dash.row.aiv-cdn.net/dm/2$13vAaGdMuutrRFu6gv4GSWdOzKE~/c3af/9690/d4a2/4375-a665-39a5f5b922fe/353b2bcc-e69c-46e0-9346-596098c53b5a_corrected.mpd
Unable to obtain license from server response:
{'errorsByResource': {'Widevine2License': {'downstreamReason': 'untrusted_device', 'errorCode': 'PRS.Dependency.DRM.Widevine.UnsupportedCdmVersion', 'message': 'Cannot complete request.', 'type': 'PRSWidevine2LicenseDeniedException'}}, 'returnedTitleRendition': {'asin': 'B07RBBWBGT', 'assetBundleVideoQuality': 'HD', 'audioQuality': 'Stereo', 'contentId': 'amzn1.dv.vcid.5208ad9e-c70a-4b14-a0eb-f5d3539f576d', 'pid': 'com.amazon.playback.object.vod.6C5B5790-5C2C-4E0E-B2C5-87C7AA401BEE', 'selectedEntitlement': {'benefit': 'PRIME', 'consumptionExpiration': '*edit*', 'entitlementType': 'PRIME_SUBSCRIPTION', 'grantedByCustomerId': '*edit*'}, 'titleId': 'B07RBBWBGT', 'videoMaterialType': 'Feature', 'videoQuality': 'HD', 'videoResolution': '1080p'}}
Again, there is no 1080p video in the detected mpd
Also the same result on windows too.
from amzn-480p-downloader.
from amzn-480p-downloader.
I'm all out of ideas, guess I'm gonna have to call it a day, thanks for trying anyway.
from amzn-480p-downloader.
Related Issues (4)
- Unclear instructions in README HOT 1
- Primevideo.com HOT 23
- Getting PRS.NoRights.NotOwned error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from amzn-480p-downloader.