Bisher ging ich immer davon aus, dass wenn ich Musik oder Hörspiele bei Amazon zum Download kaufe, auch mp3-Dateien zum Download bekomme. Weit gefehlt – gestern kaufte ich mal wieder ein Hörspiel und musste feststellen, dass ich nach dem Kauf zu Audible weitergeleitet wurde und das Hörspiel dort im “geschützten” aax-Format zum Download angeboten bekam. Hätte ich bei Audible kaufen wollen, wäre ich zu Audible gegangen. Danke für nichts, Amazon!
Doch nun stellt sich die Frage: “Wie bekomme ich aus den proprietären aax-Dateien wieder mp3’s, die ich überall abspielen kann?” Denn schließlich war beim Kauf auf Amazon nirgends die Rede davon, dass das gekaufte Hörspiel nur auf Geräten gehört werden kann, für die es auch einen Audible-Player gibt. Für Windows-Nutzer gibt es bereits einfache Tools wie aax2mp3, die die Umwandlung übernehmen. Als Linux-Nutzer muss man etwas tiefer in die Trickkiste greifen…
aax zu mp3 umwandlen unter Linux
Um die proprietären Audible aax-Dateien in “offene” mp3-Dateien umzuwandeln benötigen wir zwei kostenlose Scripte, die beide auf Github zu Verfügung stehen. Zum einen AAXtoMP3 von KrumpetPirate, welches die eigentliche Konvertierung vornimmt und zum anderen den audible-activator von inAudible-NG, der den Schlüssel, der zur Konvertierung benötigt wird, bereitstellt. Da AAXtoMP3 von diesem Schlüssel abhängig ist, beginnen wir also mit dem audible-activator. Folgendes Tutorial findet ausschließlich in der Konsole/Shell statt.
Vorbereitungen
Damit die folgende Anleitung klappt solltet ihr sowohl den Chrome-Browser als auch ffmpeg installiert haben. Ist dies nicht der Fall könnt ihr den Chrome-Browser hier herunterladen.
FFMpeg könnt ihr mit folgendem Befehl installieren:apt-get install ffmpeg
Im ersten Schritt legt ihr ein Verzeichnis an in welchem ihr die Tools speichern wollt, ladet den audible-activator herunter, entpackt diesen und navigiert in das audible-activator-Verzeichnis. (Jede Zeile ist ein Befehl und sollte eingegeben werden, nachdem der vorherige Befehl ausgeführt wurde.)
mkdir aax2mp3tools cd aax2mp3tools wget https://github.com/inAudible-NG/audible-activator/archive/master.zip unzip master.zip rm master.zip cd audible-activator-master
Im nächsten Schritt müssen wir den audible-activator noch lauffähig machen. Hierzu müssen wir per Python-Paketmanager noch das “selenium” und das “requests” Paket sowie per Download den Selenium Chromedriver nachladen und das Script ausführbar machen.
sudo pip install requests sudo pip install selenium wget https://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip unzip chromedriver_linux64.zip
Solltet ihr keine 64-bit Variante von Linux nutzen, müsst ihr ggf. einen anderen Chromedriver laden. Die Liste der aktuellen Chromedriver findet ihr hier. (Solltet ihr auf eurem Rechner noch nicht den Google Chrome Browser installiert haben, so müsstet ihr dies nun auch noch nachholen, da der audible-activator ein Python-Script ist, welches den Chrome-Browser automatisiert.)
Nun, da das Setup der audible-activators abgeschlossen ist, kann dieser ausgeführt werden. Hierzu reicht folgender Aufruf:
./audible-activator.py -l de
Solltet ihr einen US-Account haben, müsstet ihr das “de” in dem Aufruf durch “us” ersetzen. Das Script fragt nach dem Start nach “Username” und “Passwort”. Hier müsst ihr euren Audible-Nutzernamen und euer Passwort angeben. Wenn ihr, wie ich, Audible-Kunde geworden seit, weil ihr einen Download auf Amazon gekauft habt, so müsst ihr eure Amazon-Daten eingeben. Danach öffnet das Script den Chrome-Browser, lädt ein paar Seiten und zeigt euch am Ende in der Konsole euren Authcode.
raffael@nbb-kubuntu:~/Tools/aax2mp3tools/audible-activator-master$ ./audible-activator.py -l de Username: <secret>@googlemail.com Password: <secret> [*] Player ID is 2jmj7lXXXXXXXkK/YBwk= activation_bytes: d8cfXXXX
Ich habe meine Ausgabe etwas anonymisiert, jedoch entspricht die letzte Zeile dem besagten Authcode. Diesen benötigt ihr für die Umwandlung der aax-Datei bzw. für den Aufruf des aax2mp3-Scripts, welchem wir uns nun widmen.
Da wir nun den Authcode haben, navigieren wir wieder in unser Tools-Verzeichnis, laden das aax2mp3-Script herunter und entpacken es.
cd .. wget https://github.com/KrumpetPirate/AAXtoMP3/archive/master.zip unzip master.zip rm master.zip cd AAXtoMP3-master
Nun können wir die Umwandlung vom aax-Format ins mp3-Format starten. Dazu reicht folgender Aufruf:
./AAXtoMP3 <authcode> <aax-file>
Das Token <authcode> ersetzt ihr durch den Authcode (“activation_bytes”), den wir soeben per audible-activator ausgelesen haben. Das Token <aax-file> muss durch den Pfad zur aax-Datei ersetzt werden. Den Rest erledigt das Tool. Nach Ausführung des Scripts sollte sich nun im selben Verzeichnis wie die aax-Dateien auch die jeweiligen mp3-Versionen finden.
Im Prinzip hat die Installation von audible-activator-master geklappt, dann brach aber alles ab, indem eine sehr langer html-Code gezeigt wurde mit der letzten Zeile Activation failed! ;(
Etwas davor hieß es “DEAmazon”,\n\ttm_existing_member:”true”,\n\tmembership_status:”Cancelled”
Bedeutet das etwa, dass ich aktives Audible-Mitglied sei muss? Ich kann mich immer noch bei Audible anmelden und sogar meine erworbenen Audio-Books herunterladen. MMMhhh ….
Ich habe folgenden Fehler:
./AAXtoMP3 key
bash: Syntaxfehler beim unerwarteten Wort `newline’
Thanks man! I owe you one – Next beer is on me!
Habe leider folgende Fehlermeldung:
File “./audible-activator.py”, line 10, in
import requests
ImportError: No module named requests
Könnte mir bitte jemand mitteilen was ich da falsch gemacht habe? Vielen Dank
Wahrscheinlich benutzt die Datei python2. PIP ist aber für python installiert. Du musst es also für version 2 auch installieren.
curl https://bootstrap.pypa.io/get-pip.py –output get-pip.py
sudo python2 get-pip.py
pip2 install requests
pip2 install selenium
dann nochmals versuchen:
./audible-activator.py -l de
Hallo,
Hat doch noch funktioniert, Reihenfolge der Abarbeitung und die richtige Version und Speicherort des chromedrivers haben der Erfolg gebracht
Hallo, .
Mein System lubuntu 18.04
Habe die Anleitung befolgt, bekomme nach ./audible-activator.py -l de
immer folgende Fehlermeldung:
##############################
Username: roland.kueng@gmx.at
Password:
[*] Player ID is 2jmj7l5rSw0yVb/vlWAYkK/YBwk=
Traceback (most recent call last):
File “./audible-activator.py”, line 179, in
fetch_activation_bytes(username, password, options)
File “./audible-activator.py”, line 79, in fetch_activation_bytes
executable_path=chromedriver_path)
File “/usr/local/lib/python2.7/dist-packages/selenium/webdriver/chrome/webdriver.py”, line 81, in __init__
desired_capabilities=desired_capabilities)
File “/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py”, line 157, in __init__
self.start_session(capabilities, browser_profile)
File “/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py”, line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File “/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py”, line 321, in execute
self.error_handler.check_response(response)
File “/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py”, line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn’t exist)
(The process started from chrome location /usr/lib/chromium-browser/chromium-browser is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
############################################
Irgendeine Idee, was falsch läuft ??
Hallo,
der audible-activator hat bei mir vor längerer Zeit wunderbar funktioniert.
Aber heute wird chromium, Kubuntu 18.04, aufgerufen, Zugangsdaten eingetragen, soweit alles gut.
Dann kommt aber von Audible eine Sicherheitsabfrage, wo ich eine Zeichenfolge eingeben soll. Das Script macht aber weiter und bricht dann mit Fehler ab:
KeyError: ‘playerToken’
Gibt es da eine Lösung?
Danke für eine Antwort.
Hi, es liegt wohl an der Konfiguration meines PC, denn auf dem LAPTOP hat es funktioniert. Sorry.
Weiß jemand ob das Auslesen meines activation_bytes bei Audible rechtlich zulässig ist, wenn ich in die aac in mp umwandeln will. Mit meinen Windows funktioniert das Abspielen nicht. Und immer bei Audible angemeldet zu sein um Online zu streamen führt bei mir zu zu hohen Traffic und Internetgebühren.
super – läuft, danke
Ich hatte viele Fehlermeldungen weil ich audible-activator.py als root gestartet hatte -> Chrome startet dann nicht! Ausserdem habe ich in der o.g. Datei den Pfad zum chromedriver angepasst: /usr/bin/chromedriver
Der letzte Aufruf zur Umwandlung stimmt nicht ganz. Da fehlt eine Option.
Hier auf der Seite steht:
./AAXtoMP3 blablacode /path/filename.aax
richtig ist aber:
./AAXtoMP3 –authcode blablacode /path/filename.aax
Hallo!
ich nochmal. Der audible-activator erkennt irgendwie mein Passwort nicht. ich hab den debug-mode probiert.
code:
File “./audible-activator.py”, line 172, in
fetch_activation_bytes(username, password, options)
File “./audible-activator.py”, line 107, in fetch_activation_bytes
+ ‘customer_token=’ + data[“playerToken”] + “&action=de-register”
KeyError: ‘playerToken’
Danke für Hilfe:
Plugin for RainbowCrack to recover your own Audible activation data (activation_bytes) in an offline manner.
https://github.com/inAudible-NG/tables
Hallo,
ich bekomme eine Fehlermeldung, wenn ich den audible-activator ausführen will.
code:
me@PC-me:~/audible-activator-master$ ./audible-activator.py -l de
Traceback (most recent call last):
File “./audible-activator.py”, line 10, in
import requests
ImportError: No module named requests
requests ist aber in “/usr/lib/python3/dist-packages “, also vorhanden
Weißt du, was da los ist und wie ich das lösen kann?
Dankö
Hallo Elli,
bei mir war es exakt die gleiche Fehlermeldung, obwohl
>pip install requests
problemlos durchlief:
Successfully installed certifi-2018.11.29 chardet-3.0.4 idna-2.8 requests-2.21.0 urllib3-1.24.1
Da hab ich mich auch ziemlich gewundert und die ganze Sucherei ging los…
Naja, lange Rede, kurzer Sinn: Mach mal das Script selber auf, da findest du in der ersten Zeile, dass das ganze python2 benutzt. Ändere die 2 in eine 3 und das war’s.
Hallo, zunächst mal vielen Dank für das Tut…
Aber bei mir funktioniert leider die Konvertierung nicht – ich bekomme immer die Meldung, dass der Authcode fehlen würde
./AAXtoMP3 => ERROR Missing authcode…
Egal, was ich versuche, immer wieder das Gleiche.
Danke für eine Hile/Info dazu…
Did you use -A as Attribute.
Write it like that:
./AAXtoMP3 -A 2U3IK9J9 aaxdatei.aax
Hey, a big Thank you!!! That was the missing part. Now it works for me
Thank you
Ich bekomme diese Fehlermeldung
Traceback (most recent call last):
File “./audible-activator.py”, line 172, in
fetch_activation_bytes(username, password, options)
File “./audible-activator.py”, line 115, in fetch_activation_bytes
with open(“activation.blob”, “wb”) as f:
IOError: [Errno 13] Permission denied: ‘activation.blob’
Hast du mal darüber nachgedacht, dass MP3 vielleicht einfach kein ideales Format für gesprochene Inhalte ist und überhaupt inzwischen überholt? Ich finde zwar auch, dass Audible seine Hörbücher gerne ohne DRM anbieten darf. Auf ein Format zu setzen, dass bei besserer Qualität eine kleine Dateigröße bietet ist aber nicht zu beanstanden.
Klappt super, vielen Dank!
Gibt es auch die Möglichkeit, die Kapitel zu erhalten?
Hatte ich auch. Ändere den Aufruf wie folgt ab:
./AAXtoMP3 –authcode
der error ist:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1a61e00] Error setting option activation_bytes to value 5rSw0yVb/vlWAY.
file.aax: Invalid argument
mfG Hans
I has this error, this is only because your activation is wrong. You probably made an type in it!
Hallo,
leider bekomme ich einen error:
<>…
scheint als op der Authcode nicht stimmt. Ideen?
mit freundlichen Grüßen Hans
Nutze Linux-Mint 18.1, seit der Version 12.x davor andere Distros. Mit Mint hab ich alles was ich brauche.
Habs dann mit “aax2mp3_easy” probiert, ähnliches Ergebnis. Hier der ganze Text:
Eingabe:
./aax2mp3_easy.sh meine@email.com meinPassword TheFilterBubble.aax
Ausgabe:
Traceback (most recent call last):
File “audible-activator-feature_login_as_arg/audible-activator.py”, line 148, in
fetch_activation_bytes(username, password, options)
File “audible-activator-feature_login_as_arg/audible-activator.py”, line 91, in fetch_activation_bytes
+ ‘customer_token=’ + data[“playerToken”] + “&action=de-register”
KeyError: ‘playerToken’
2017-09-17 21:49:22+0200 Decoding Player with auth code [*]…
Mein@Zugang ~/.wine/drive_c/audible-mp3/aax2mp3-easy-master $
……………………………………………………………………………………………………………………
Chromium-Fenster ging auf, alles klein Problem, aber ein Code gabs nicht.
Habs im Wine-Ordner, da ist es bei mir etwas übersichtlicher.
Habs jetzt x-mal getestet, zuletzt auch nach update/upgrade des gesamten Systems, runter und wieder rauf gefahren, zeigt grundsätzlich in der Schlußzeile nach “./audible-activator.py -l de” immer an :
KeyError: ‘playerToken’
Hab mir schon vor langer Zeit ein J.k.rowling hörbuch gekauft und hab nichts davon.
Ich bin die Anleitung eben noch einmal Schritt-für-Schritt durchgegangen. Bei mir funktioniert es immer noch problemlos. Konntest du es am Ende auch zum Laufen bringen?
funktioniert bei mir leider nicht…
2017-09-03 16:21:24+0200 Decoding xxxxxxxx with auth code 2jmjxxxxxxx/vlWAYkK/YBwk=…
und.. das wars. keine anzeige, keine ausgabe. einzig ein ordner mit “hörbuch\autor\titel\” wird erstellt…
Hallo Qayter,
hast du ffmpeg auf deinem Rechner installiert?
Funktioniert super, vielen Dank! Allerdings musste ich noch ffmpeg installieren bevor es geklappt hat.
ffmpeg kann es schon seit 2 jahren. wozu der aufwand?
ffmpeg kann die durch Audible/Amazon verschlüsselten Dateien entschlüsseln? Mit welchem Flag/Parameter geht das (soll das gehen)?
http://ffmpeg.org/ffmpeg-all.html#Audible-AAX
Spitze, vielen Dank