[[Vorlage(Getestet, jammy, noble, plucky)]] {{{#!vorlage Warnung Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos. }}} {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Programme_starten: Starten von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] = Problembeschreibung = ## Einleitender Text, der das Problem beschreibt, welches man mit Hilfe des HowTos beheben kann. Hörbuch-Freunde kommen oft nicht um Audible herum. Zwar gibt es diverse andere gute Hörbuch-Shops, leider gibt es aber immer mehr - vor allem neue - Hörbücher exklusiv nur bei Audible. Ihren Linux-Kunden macht es Audible jedoch nicht ganz einfach: Ein Software-Client für Linux wird nicht angeboten und die gekauften Hörbücher können nur im proprietären aax-Format heruntergeladen werden. Bis vor kurzem war das freie Programm OpenAudible für Viele die Lösung dieses Problems. Man konnte sowohl seine Hörbücher von Audible herunterladen und sie anschliessend einfach in ein mp3-File umwandeln. Danach konnte man die mp3-Datei in die einzelnen Kapitel aufsplitten lassen. So erhielt man ein vollwertiges mp3-Hörbuch, welches sich problemlos mit normalen mp3-Playern abspielen lässt. Seit der im April 2020 erschienen Version 2.0, ist OpenAudible nun Shareware. Die mp3-Konvertierung und diverse andere Features (u.a. die unbegrenzte Anzahl der zu verwaltenden Hörbücher) werden nur noch in der Bezahl-Version angeboten. Die gute Nachricht: Es geht nach wie vor kostenlos, auch ganz ohne OpenAudible. Dazu ist aber erst mal etwas vorbereitende Handarbeit notwendig. Da die aax-Files mit einem sogenannten "authentification code" versehen sind, muss dieser zur Umwandlung nach mp3 zuerst bekannt sein. Bei der nachfolgenden Anleitung handelt es sich nicht um irgendeinen illegalen Crack, sondern nur um das Auslesen seines persönlichen "authentification code", wie es die Original Audible-Apps oder OpenAudible auch tun. = Anleitung = ## Ausführliche Howto-Anleitung zum Lösen des Problems. === Voraussetzungen: === 1. Einen Audible-Account 1. [:FFmpeg:] muss installiert sein 1. [:Git:] wird ebenfalls benötigt 1. Optional: [:Überprüfung_MP3-Sammlung/#eyeD3: eyeD3] === Vorbereitung (einmalig): === 1. Man benötigt ein Audible-Hörbuch im aax-Format, bzw. man lädt ein solches aus seiner Audible-Bibliothek herunter. In den nachfolgenden Beispielen muss natürlich allenfalls der Pfad zu der lokalen aax-Datei mit angegeben werden, also z.B. '''~/Downloads/audible/test.aax''' 1. Danach wird noch das Tool `tables` benötigt. Dazu wechselt man im Terminal in das Download-Verzeichnis, holt sich `tables` und wechselt anschließend in dessen Verzeichnis: {{{#!vorlage Befehl cd ~/Downloads git clone https://github.com/inAudible-NG/tables.git cd tables}}} Als nächstes muss man die Checksumme der aax-Datei (hier test.aax) ermitteln. Das geht im Terminal mittels {{{#!vorlage Befehl ffprobe -i test.aax 2>&1 | awk '/checksum/{print $NF}'}}} welcher als Resultat eine ca. 40 Zeichen lange Checksumme ausgibt {{{999a6ab8...}}} Die Zeichenfolge benötigt man nun, um den "authentification code" auszulesen: {{{#!vorlage Befehl ./rcrack . -h 999a6ab8...}}} Das ergibt schlussendlich eine Ausgabe wie im folgenden Beispiel {{{./rcrack . -h 999a6ab8... statistics ------------------------------------------------------- plaintext found: 1 of 1 total time: 13.98 s [...] result ---------------------------------------------------------------- 999a6ab8... \xa5\xd0Y1 hex:CAFED00D}}} Der persönliche "authentification code" steht am Schluss, hinter "hex:" und lautet in diesem Beispiel 'CAFED00D'. Dieser wird zukünftig immer für das umwandeln von aax nach mp3 benötigt. Damit man diesen Code nicht jedesmal eingeben muss, wird empfohlen, den Code direkt in der Datei `~/.bashrc` als Variable zu hinterlegen. Dies erfolgt mit folgendem Befehl: {{{#!vorlage Befehl ./rcrack . -h 999a6ab8... | awk -F':' '/hex/{print $2}' | xargs bash -c 'echo "export AAX2MP3_AUTHCODE=\"$0\""' >> ~/.bashrc }}} Als letztes benötigt man jetzt noch das eigentliche Umwandlungs-Script `aax2mp3`. Dafür wechselt man zurück in das Downloads-Verzeichnis, holt sich die benötigten Dateien und wechselt in das Verzeichnis {{{#!vorlage Befehl cd ~/Downloads git clone https://bitbucket.org/kleberj/aax2mp3.git cd aax2mp3}}} das eigentliche Skript kopiert man nun in sein persönliches bin-Verzeichnis(1) und macht es ausführbar {{{#!vorlage Befehl cp ./aax2mp3 ~/bin/aax2mp3 chmod +rwx ~/bin/aax2mp3}}} ''(1) Falls beim Kopieren eine Fehlermeldung "Datei oder Verzeichnis nicht gefunden" erscheint, existiert das Verzeichnis ~/bin noch nicht. In dem Fall reicht es, dieses einfach mittels'' {{{#!vorlage Befehl mkdir ~/bin}}} anzulegen. Aktuelle Ubuntu-Versionen binden das Verzeichnis '''~/bin''' (nach einmaligem Ab- und wieder Anmelden) automatisch in den Pfad ein. Um alle vorgenommenen Änderungen wirksam zu machen, muss man sich jetzt '''einmal Ab- und danach wieder Anmelden'''. Damit sind die einmaligen Vorbereitungen abgeschlossen. Ab jetzt kann man die Konvertierung von aax nach mp3 nutzen. == Dateien konvertieren == Dazu verwendet man den Befehl {{{#!vorlage Befehl aax2mp3 -i test.aax}}} wobei nach `-i` das Inputfile folgt. Falls man den Code, wie weiter oben empfohlen, nicht als Variable in der Datei `.bashrc` hinterlegt hat, muss man zusätzlich noch den "authentification code" mitgeben. Dies erfolgt dann mit dem Befehl: {{{#!vorlage Befehl aax2mp3 -i test.aax -a CAFED00D}}} Das Programm konvertiert damit das aax-File nach mp3 und splittet es automatisch in die einzelnen Tracks / Kapitel auf. Dabei wird, in dem selben Verzeichnis in dem sich die aax-Datei befindet, folgende Struktur angelegt: {{{ ── Hörbuch │ ├── │ │ └── │ │ ├── │ │ ├── │ │ ├── [...] │ │ └── }}} Wer lieber ein grosses mp3-File, anstelle der einzelnen Kapitel möchte, erreicht dies mit {{{#!vorlage Befehl aax2mp3 -S -i test.aax}}} Dies ist nur ein kleines Beispiel, wie man die Konvertierung beinflussen kann. Da zum konvertieren ffmpeg benutzt wird, kann man selbstverständlich nicht nur nach mp3, sondern nach einem beliebigen, von ffmpeg unterstützten, Format (z.B. ogg) konvertieren. Darüber hinaus kann auch z.B. die Bitrate angepasst und Metadaten (Tags) verändert werden. Eine ausführliche Übersicht der entsprechenden Parameter, inkl. Beispielen, liefert {{{#!vorlage Befehl aax2mp3 -h}}} Die originalen Metadaten (Tags wie Author, Titel, Track, usw.) werden automatisch übernommen. Kleiner Wermutstropfen: Das Cover-Bild wird zwar aus dem Original-aax übernommen, jedoch nur in das erste Split-File (Kapitel 1) eingetragen. Da wir aber ffmpeg bereits an Bord haben, kann man dieses ganz einfach extrahieren, um es danach in die weiteren Dateien einzutragen. Dies geht im Verzeichnis der angelegten mp3-Files mit {{{#!vorlage Befehl ffmpeg -i file1.mp3 Cover.jpg}}} Zum Schluss können, zur Systempflege, die nicht mehr benötigten Verzeichnisse im Download-Ordner noch gelöscht werden. Dies sind namentlich '''~/Downloads/tables''' und '''~/Downloads/aax2mp3''' === Optional === Das oben erzeugte Cover, kann zum Beispiel mit [:Überprüfung_MP3-Sammlung/#eyeD3: eyeD3] in die restlichen Dateien eintragen werden {{{#!vorlage Befehl eyeD3 *.mp3 --add-image=Cover.jpg:FRONT_COVER}}} == Problembehebung == Ab und an kann es vorkommen, dass der Original-Dateinname ein - für Linux - ungültiges Zeichen enthält. Am häufigsten kommt ein "/" im Dateinamen vor, (zum Beispiel "Die 13 1[mark]/[/mark]2 Leben des Käpt'n Blaubär.". Das führt dann zu Fehlermeldungen, dass die Datei nicht gefunden werden kann und der authcode zu alt sein könnte. In dem Fall kann man einen korrekten Dateinamen einfach selbst vergeben: {{{#!vorlage Befehl aax2mp3 -T "Die 13-einhalb Leben des Käptn Blaubär" -i test.aax}}} = Links = ## Weiterführende Linksammlung * [bitbucket:kleberj/aax2mp3/src/master:aax2mp3] {en} * [github:inAudible-NG/tables:tables] {en} * [tag:Howto:Howto-Liste] {Übersicht} - Übersicht aller Howto-Artikel * [https://www.voss.earth/2018/08/01/audible-dateien-befreien/ Audible Dateien befreien] {de} ## Nach der Fertigstellung des Howtos bitte die Aufnahme in die Howto-Sammlung über die Schaltfläche "Diskussion" mitteilen. Weitere [https://wiki.ubuntuusers.de/Wiki/Tag/ Tags] sind nicht gestattet! #tag: Howto