DevLARLEY / amzn-480p-downloader

Downloads any Video from Prime Video in 480p quality. (Only requires an L3 CDM)
GNU General Public License v2.0
15 stars 8 forks source link

Can't get it to work on Amzn UK #1

Closed happeeshopper closed 6 months ago

happeeshopper commented 6 months ago

Is this script for US/EU only?

For UK the headers are titled differently than the examples in the headers.py:

ubid-acbde is ubid-acbuk x-acbde is x-acbuk at-acbde is at-acbuk

I changed them and input the correct data, but having no luck.

I see point 6 in the README says to change the TLD variable but I cant see anything in the script or headers.py to change, does this work on Amzn UK?

DevLARLEY commented 6 months ago

What's the domain of Amazon UK? amazon or primevideo?

On Sat, 23 Mar 2024, 19:44 happeeshopper, @.***> wrote:

Is this script for US/EU only?

For UK the headers are titled differently than the examples in the headers.py:

ubid-acbde is ubid-acbuk x-acbde is x-acbuk at-acbde is at-acbuk

I changed them and input the correct data, but having no luck.

I see point 6 in the README says to change the TLD variable but I cant see anything in the script or headers.py to change, does this work on Amzn UK?

— Reply to this email directly, view it on GitHub https://github.com/DevLARLEY/amzn-480p-downloader/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/A45B4KROHIKM54CTYUG4IUTYZXESPAVCNFSM6AAAAABFE3HUHCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGIYDIMBQGAZTGMA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

DevLARLEY commented 6 months ago

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!

happeeshopper commented 6 months ago

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
DevLARLEY commented 6 months ago

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.

happeeshopper commented 6 months ago

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.

DevLARLEY commented 6 months ago

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

DevLARLEY commented 6 months ago

i updated both scripts to print the license response when extracting fails, please post your output, if still not working, here.

happeeshopper commented 6 months ago

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'}}
DevLARLEY commented 6 months ago

I can't help you with the widevine thing except telling you that the file is in the correct folder. Even if the license server response says HD or 1080p, it usually isn't (it said UHD 2160p for me once). Open the mpd link the program is outputting, search for maxHeight="1080". If you find something, it's 1080p for some reason, which isn't really possible because the DUAL_KEY param isn't set as stated in the README.md.

On Tue, 26 Mar 2024, 20:02 happeeshopper, @.***> wrote:

Ah didn't know that, ok added .wvd and updated scripts. Pywidevine version is still the same:

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 131, in 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

But the 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': '1711738420284', 'entitlementType': 'PRIME_SUBSCRIPTION', 'grantedByCustomerId': 'A3FGIF5BYV4XF0'}, 'titleId': 'B07R6XXSRH', 'videoMaterialType': 'Feature', 'videoQuality': 'HD', 'videoResolution': '1080p'}}

— Reply to this email directly, view it on GitHub https://github.com/DevLARLEY/amzn-480p-downloader/issues/1#issuecomment-2021252162, or unsubscribe https://github.com/notifications/unsubscribe-auth/A45B4KXQEURSGFWSCZWY5U3Y2GZZ3AVCNFSM6AAAAABFE3HUHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRRGI2TEMJWGI . You are receiving this because you commented.Message ID: @.***>

happeeshopper commented 6 months ago

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>
DevLARLEY commented 6 months ago

What kind of CDM are you using? An emulated one from Android Studio?

happeeshopper commented 6 months ago

Atm I'm using ANDROID_4464_l3.wvd

I have quite a few others I'll give them a try tomorrow.

DevLARLEY commented 6 months ago

where did you get it from?

happeeshopper commented 6 months ago

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.

DevLARLEY commented 6 months ago

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

DevLARLEY commented 6 months ago

updated to scripts so they can get your cookies right from the browser. I also added for error handling

happeeshopper commented 6 months ago

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.
DevLARLEY commented 6 months ago

Does your pywidevine folder look like this? image

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.

happeeshopper commented 6 months ago

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.

prime

It shows in the output too:

{'benefit': 'PRIME', 'consumptionExpiration': '*edit*', 'entitlementType': 'PRIME_SUBSCRIPTION', 'grantedByCustomerId': '*edit*'}

DevLARLEY commented 6 months ago

hate to say it, but it seems like this may be a linux issue

happeeshopper commented 6 months ago

Ok so i tried on windows and get all the same errors as before, 1080p error:

Capture

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.

DevLARLEY commented 6 months ago

what kind of wks-keys are you using? i uploaded mine: WKS-KEYS so you can be sure that it's not that

happeeshopper commented 6 months ago

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:

Capture

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
DevLARLEY commented 6 months ago

make sure the L1 folder is still inside. i don't know why but i always had that error too after deleting pywidevine.L1

On Sat, 30 Mar 2024, 07:18 happeeshopper, @.***> wrote:

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 from pywidevine.L3.cdm import deviceconfig ModuleNotFoundError: No module named 'pywidevine.L3'

and on windows the same:

Capture.PNG (view on web) https://github.com/DevLARLEY/amzn-480p-downloader/assets/64452363/f60f585f-a524-4a2e-905b-52bbb724a28e

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

— Reply to this email directly, view it on GitHub https://github.com/DevLARLEY/amzn-480p-downloader/issues/1#issuecomment-2027938957, or unsubscribe https://github.com/notifications/unsubscribe-auth/A45B4KQWBLYRSXRSRBGPDVDY2ZDLJAVCNFSM6AAAAABFE3HUHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRXHEZTQOJVG4 . You are receiving this because you commented.Message ID: @.***>

happeeshopper commented 6 months ago

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.

DevLARLEY commented 6 months ago

well there isn't supposed to be a 1080p one in there so that's correct.

On Sat, 30 Mar 2024, 19:07 happeeshopper, @.***> wrote:

I was able to try your WKS thanks to this https://forum.videohelp.com/threads/410134-No-Module-Named-pywidevine-l3 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 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

Also the same result on windows too.

— Reply to this email directly, view it on GitHub https://github.com/DevLARLEY/amzn-480p-downloader/issues/1#issuecomment-2028401519, or unsubscribe https://github.com/notifications/unsubscribe-auth/A45B4KT4PHPH4NSFM4XSI2TY23WMXAVCNFSM6AAAAABFE3HUHCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRYGQYDCNJRHE . You are receiving this because you commented.Message ID: @.***>

happeeshopper commented 6 months ago

I'm all out of ideas, guess I'm gonna have to call it a day, thanks for trying anyway.