Audible aax-Dateien in mp3 umwandeln unter Linux

Audible aax nach mp3 umwandeln unter LinuxBisher 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.

Audible aax Dateien in mp3 umwandeln unter LinuxÜber den Autor: Dieser Artikel, sowie 368 andere Artikel auf code-bude.net, wurden von Raffael geschrieben. – Seit 2011 blogge ich hier über Programmierung, meine Software, schreibe Tutorials und versuche mein Wissen, so gut es geht, mit meinen Lesern zu teilen. Zudem schreibe ich auf derwirtschaftsinformatiker.de über Themen meines Studiums.  //    •  • Facebook  • Twitter


23 Kommentare

  1. 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

  2. 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

  3. Ellisays:

    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:

  4. ellisays:

    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ö

    • niennasays:

      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.

  5. FrankRsays:

    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…

    • Jonassays:

      Did you use -A as Attribute.

      Write it like that:
      ./AAXtoMP3 -A 2U3IK9J9 aaxdatei.aax

  6. 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’

  7. Markussays:

    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.

  8. Klappt super, vielen Dank!
    Gibt es auch die Möglichkeit, die Kapitel zu erhalten?

  9. Hanssays:

    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

  10. Hanssays:

    Hallo,
    leider bekomme ich einen error:

    <>…

    scheint als op der Authcode nicht stimmt. Ideen?

    mit freundlichen Grüßen Hans

  11. Shlomo Roshsays:

    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.

  12. Shlomo Roshsays:

    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?

  13. Qaytersays:

    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…

  14. Katrinsays:

    Funktioniert super, vielen Dank! Allerdings musste ich noch ffmpeg installieren bevor es geklappt hat.

  15. anonymoussays:

    ffmpeg kann es schon seit 2 jahren. wozu der aufwand?

  16. Alexandersays:

    Spitze, vielen Dank

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Sie dient nur dem Spamschutz.