-
-
Notifications
You must be signed in to change notification settings - Fork 38
Description
Books downloaded with
license, _ = client.post(
"content/{asin}/licenserequest",
body={
"drm_type": "Adrm",
"consumption_type": "Download",
"quality":"Extreme"
}
)
content_url = license['content_license']['content_metadata']['content_url']['offline_url']
can’t converted with ffmpeg -activation_bytes ...
at this moment.
Read here
-
https://www.epubor.com/how-to-convert-audible-aaxc-to-mp3.html
-
https://www.reddit.com/r/audible/comments/c1zk2c/axxc_format_drm_and_audible_escape/
Audible uses a new aaxc format when downloading via audible app on android/iOS or the api. But with this client you can get the response of a licenserequest. Example shorten on many places with ... :
{
"content_license": {
"acr": "CR!...",
"asin": "B07DDKJH33",
"content_metadata": {
"content_url": {
"offline_url": "https://dyrrggeck87jc.cloudfront.net/.../bk_adko_003749ade_lc_128_44100_2.aax?voucherId=cdn:...&Policy=...&Signature=...&Key-Pair-Id=..."
}
},
"drm_type": "Adrm",
"license_response": "...==",
"message": "Eligibility details:[GrantRightsReason [reasonCode=MEMBERSHIP, reason=No need to verify active offline license when request is not for offline consumption. OWNERSHIP-user does not have expected ownership rights over the parent title asin. OWNERSHIP-title does not qualify for long title child part ownership or customer does not own child part. OWNERSHIP-user has ownership rights. GEO_RIGHTS-user has geo-rights[DE] over the title[B07DDKJH33] in marketplaceId[AN7V1F1VY261K]. TITLE_ATTRIBUTES-title does not have rodizio plan association. GEO_RIGHTS-user has geo-rights[DE] over the title[B07DDKJH33] in marketplaceId[AN7V1F1VY261K]. No need to verify active offline license when request is not for offline consumption. BENEFIT-user has valid Radio benefit associated[RadioStub]. TITLE_ATTRIBUTES-title does not have radio plan association. Client Asin Mapping validation skipped since client id is null. AAA Client with id: ApolloEnv:AudibleApiExternalRouterService/EU/Prod, does not have access to asin: B07DDKJH33. Client does not have plans that support asin benefits.]]. Licensing details:[ADRM license granted]",
"request_id": "...",
"status_code": "Granted",
"voucher_id": "cdn:..."
},
"response_groups": [
"always-returned"
]
}
Maybe someone has the know-how to use this informations to decode the new aaxc format.
Meanwhile you can grab the audible web page for the download urls. You can use cookies to authenticate like so:
import audible
import requests
auth = audible.FileAuthenticator(...)
cookies = auth.login_cookies
r = requests.get("https://www.audible.com/...", cookies=cookies)
Edit 2022-01-11:
Since ffmpeg 4.4 decryption of aaxc files should be build in. You have to use ffmpeg with the --audible_iv
and --audible_key
options and the correct iv/key pair from the decrypted licenserequest response!