Hallo Allerseits
Gleich zu Beginn: Wer keine audible Hörbücher mit Linux nutzen will, muss eigentlich gar nicht weiterlesen 😉 Für die Hörbuch-Fans, die nicht so gerne mit dem Terminal arbeiten, gibt es allerdings eine gute Nachricht:
Im Zusammenhang mit diesem HowTo Audible-Hörbücher nach mp3 umwandeln habe ich mehrere Anfragen erhalten, ob es den für aax2mp3 kein GUI gäbe. Da ich bei der Suche nach etwas brauchbarem für Linux nicht wirklich fündig wurde, habe ich mal mit einem Zenity-Script selbst was erstellt. Damit lässt sich zukünftig die gesamte, im HowTo beschriebene, Konvertierung per GUI erledigen. Das GUI setzt auf der Einrichtung nach oben erwähnten HowTo auf. Ich stelle das Ergebnis mal hier rein. Wer Lust hat kann es testen und Feedback geben. Anschliessend würde ich es dann in das HowTo einbauen. Entsprechend fallen die Erklärungen auch etwas umfangreicher aus (quasi die Vorlage für die Wiki-Ergänzung).
Vorgehen¶
Hinweis: Zenity muss installiert sein, was aber standardmässig bei allen x-buntus (min. unter 20.04) der Fall sein sollte. Ansonsten gem. verlinktem Artikel installieren.
Einen der folgende beiden Quelltexte einfach komplett markieren, kopieren und in den Texteditor seiner Wahl einfügen. Das weitere Vorgehen (Konfiguration) wird unten, nach den Quelltext-Blöcken beschrieben.
Variante "aax2mp3gui_fat": Dabei handelt es sich um eine Version, in der jedesmal ausgewählt werden kann / muss, ob mehrere mp3-Dateien (Kapitel) oder eine einzelne, grosse mp3-Datei erstellt werden soll. Ein schlankere Variante (aax2mp3gui_thin) gibt es gleich darunter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | #!/bin/bash #Persönliche Variablen definieren: aaxdir=$"$HOME/Downloads/audible/" # Sein persönliches Verzeichnis für die aax-Dateien anpassen. An der Stelle startet die grafische Dateiauswahl. authcode=$"CAFED00D" # Hier den, bei der Vorbereitung von aax2mp3 ermittelten, persönlichen "authentification code" eintragen. filemanager=/usr/bin/dolphin # Hier den Standard-Dateimanager eintragen (Bsp. Kubuntu) #filemanager=/usr/bin/nautilus # Hier den Standard-Dateimanager eintragen (Bsp. Ubuntu) #Ab hier Aenderungen keine Aenderungen vornehmen zenity --info --text "Um eine Audible .aax-Datei nach mp3 zu konvertieren, \nbitte im folgenden Auswahlfenster die gewünschte .aax-Datei auswählen." \ --no-wrap \ --title "aax2mp3 - Info" aaxfile=$(zenity --file-selection \ --filename $aaxdir \ --file-filter=*.aax \ --title="Bitte eine aax-Datei auswählen") if [ $? -eq 1 ]; then zenity --info --text "Abbruch wurde gewählt - Das Programm wird nun beendet!" \ --no-wrap \ --title "Programm wird beendet" exit else answer=`zenity --list \ --width=550 --height=250 \ --text "Welche mp3-Ausgabe soll erzeugt werden?" \ --title="mp3-Optionen" \ --radiolist \ --column="Auswahl" --column="Option" --column="Beschreibung" \ TRUE "Einzelne Kapitel" "Erzeugt mehrere mp3-Dateien (analog aax-Kapitel)" \ FALSE "Eine grosse Datei" "Erzeugt eine große mp3-Datei (ohne Kapitel)"` fi if [ $? -eq 1 ]; then zenity --info --text "Abbruch wurde gewählt - Das Programm wird nun beendet!" \ --no-wrap \ --title "Programm wird beendet" exit else case "$answer" in "Einzelne Kapitel") single=$"" ;; "Eine große Datei") single=$" -S" ;; esac fi if [ $? = 0 ];then zenity --question \ --no-wrap \ --title "Bestätigung" \ --text "Sind Sie sicher, dass Sie die Datei \n"$aaxfile" \nnach mp3 konvertieren wollen? \n\nTypische Dauer: 10 Stunden Hörbuch = ca. 10 Min. \n" \ --ok-label "Fortsetzen" \ --cancel-label "Abbrechen" else zenity --info --text "Es wurde keine Datei ausgewählt (Abbruch)" \ --no-wrap \ --title "aax2mp3 - Info" exit fi if [ $? = 0 ];then aax2mp3 $single -i $aaxfile -a $authcode | grep --line-buffered size= | zenity --progress \ --pulsate \ --title="aax2mp3-Konvertierung" \ --text="Umwandeln von $aaxfile \n\nDie Konvertierung läuft..." \ --no-cancel zenity --question \ --no-wrap \ --title "Bestätigung" \ --text "Das Hörbuch steht unter $aaxdir, \nim Unterverzeichnis Hörbuch, zur Verfügung. \n\n Möchten Sie das Höhrbuch-Verzeichnis nun im Dateimanger öffnen?" \ --ok-label "Im Dateimanager öffnen" \ --cancel-label "Programm beenden" else zenity --info --text "Abbruch wurde gewählt - Das Programm wird nun beendet!" \ --no-wrap \ --title "Programm wird beendet" exit fi if [ $? = 0 ];then $filemanager $aaxdir/Hörbuch & else exit fi |
Variante "aax2mp3gui_thin": Hier kann man seine Präferenzen bez. einzelne mp3-Kapitel oder eine grosse mp3-Datei, einmalig in der initialen Konfiguration einstellen und wird dann nicht mehr gefragt. Hintergrund: Die meisten User bevorzugen entweder die eine oder die andere Variante - wollen also immer nur ein File oder aber immer mehrere einzelne Kapitel-Dateien. Mit der thin-Version erspart man sich dann diese Auswahl im "Programm" und somit ein paar Klicks.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #!/bin/bash #Persönliche Variablen definieren: aaxdir=$"$HOME/Downloads/audible/" # Sein persönliches Verzeichnis für die aax-Dateien anpassen. An der Stelle startet die grafische Dateiauswahl. authcode=$"CAFED00D" # Hier den, bei der Vorbereitung von aax2mp3 ermittelten, persönlichen "authentification code" eintragen. filemanager=/usr/bin/dolphin # Hier den Standard-Dateimanager eintragen (Bsp. Kubuntu) #filemanager=/usr/bin/nautilus # Hier den Standard-Dateimanager eintragen (Bsp. Ubuntu) # Bei den folgenden zwei Zeilen darf immer nur eine aktiv sein - also ohne "#" am Zeilenanfang! Die jeweils andere muss mit einem führenden "#" auskommentiert werden. singlefile=$"" # Ist diese Zeile aktiv, werden MEHRERE mp3-Datein (Kapitel) erzeugt. #singlefile=$" -S" # Ist diese Zeile aktiv, wird nur EINE einzige mp3-Datei zu erzeugen (ohne Kapitel). #Ab hier keine Aenderungen vornehmen zenity --info --text "Um Audible .aax-Datein nach mp3 zu konvertieren, \nim folgenden Auswahlfenster die zu konvertierende .aax-Datei auswählen." \ --no-wrap \ --title "aax2mp3 - Info" aaxfile=$(zenity --file-selection \ --filename $aaxdir \ --file-filter=*.aax \ --title="Bitte eine aax-Datei auswählen") if [ $? = 0 ];then zenity --question \ --no-wrap \ --title "Bestätigung" \ --text "Sind Sie sicher, dass Sie die Datei \n"$aaxfile" \nnach mp3 konvertieren wollen? \n\nTypische Dauer: 10 Stunden Hörbuch = ca. 10 Min. \n" \ --ok-label "Fortsetzen" \ --cancel-label "Abbrechen" else zenity --info --text "Es wurde keine Datei ausgewählt (Abbruch)" \ --no-wrap \ --title "aax2mp3 - Info" exit fi if [ $? = 0 ];then aax2mp3 $singlefile -i \ /$aaxfile \ -a $authcode | grep --line-buffered size= | zenity --progress \ --pulsate \ --title="aax2mp3-Konvertierung" \ --text="Umwandeln von $aaxfile \n\nDie Konvertierung läuft..." \ --no-cancel zenity --question \ --no-wrap \ --title "Bestätigung" \ --text "Das Hörbuch steht nun unter $aaxdir, \nim Unterverzeichnis Hörbuch, zur Verfügung. \n\n Möchten Sie das Hörbuch-Verzeichnis nun im Dateimanger öffnen?" \ --ok-label "Im Dateimanager öffnen" \ --cancel-label "Programm beenden" else zenity --info --text "Abbruch wurde gewählt - Das Programm wird nun beendet!" \ --no-wrap \ --title "Programm wird beendet" exit fi if [ $? = 0 ];then $filemanager $aaxdir/Hörbuch & else exit fi |
Individuelle Anpassungen¶
Nachdem die Datei nun in den Texteditor kopiert wurde, müssen im ersten Abschnitt (oberhalb der Zeile "#Ab hier keine Aenderungen vornehmen") noch ein paar wenige, individuelle Einstellungen vorgenommen werden:
Das eigene Verzeichnis, in dem die Audible-Dateien (.aax) abgelegt sind, definieren. Dabei das Verzeichnis unbedingt mit einem "/" abschliessen. Grundsätzlich kann ein beliebiges Verzeichnis gewählt werden. In diesem Verzeichnis startet der grafische Dateiauswahl-Dialog und anschliessend auch der Dateimanager.
aaxdir=$"$HOME/Downloads/audible/"
Den persönlichen "authentification code", den man im Rahmen der Vorbereitung (⇒ HowTo) ermittelt hat, eintragen. Die beiden " müssen stehen bleiben, nur den Code dazwischen austauschen.
authcode=$"CAFED00D"
Den gewünschten Dateimanager (abhängig vom System) eintragen. Also beispielsweise dolphin für Kubuntu, nautilus oder nemo für Ubuntu, thunar für Xubuntu, und so weiter eintragen.
filemanager=/usr/bin/dolphin
Nur thin-Version: Eine der beiden Zeilen mit einem "#" auskommentieren. Dadurch wird gesteuert, ob mehrere mp3-Files (Kapitel) erzeugt werden oder nur eine grosse mp3-Datei. Voreingestellt ist "mehrere Dateien".
# Bei den folgenden zwei Zeilen darf immer nur eine aktiv sein - also ohne "#" am Zeilenanfang! Die jeweils andere muss mit einem führenden "#" auskommentiert werden. singlefile=$"" # Ist diese Zeile aktiv, werden MEHRERE mp3-Datein (Kapitel) erzeugt. #singlefile=$" -S" # Ist diese Zeile aktiv, wird nur EINE einzige mp3-Datei zu erzeugen (ohne Kapitel).
Nun kann die Datei im Ordner ~/bin als aax2mp3gui abgespeichert werden. Danach muss die Datei noch ausführbar gemacht werden. Dies efolgt mit
chmod +rwx ~/bin/aax2mp3gui
Hinweis: Zum Testen empfehle ich ein kurzes Hörbuch mit mehreren Kapiteln, da die Konvertierung selbst ja doch ein wenig dauert. Da gibt es bei audible einige (für Abonennten) kostenlose Hörbücher, wie z.B. diese hier. Spieldauer 20 Min., 3 Kapitel, Konvertierungszeit < 1 Min..
Danach am besten erstmal aus einem Terminal starten, mittels
aax2mp3gui
So werden auch allfällige Fehler ausgegeben (z.B. wegen Tippfehlern bei der Konifg-Anpassungen) und es kann in Fehlerfall auch direkt im Terminal (Strg+C) abgebrochen werden. Wenn alles fehlerfrei durchläuft, kann anschliessend ein entsprechender Starter erstellt werden. Je nach x-buntu-Variante geht das einfach per Menüeditor oder aber mittels .desktop-Dateien. Danach kann die Konvertierung von aax nach mp3 zukünftig komplett grafisch erfolgen.
Feedback ist ausdrücklich erwünscht! Viel Spass beim Ausprobieren und bei der produktiven Nutzung 😎
Gruss, Balu