Vorgeschichte

Für fast alle Arten von Mediendaten gibt es heutzutage spezialisierte Software um die entsprechenden Daten zu organisieren. Für Videos gibt es Kodi & Co die gleichzeitig auch als Mediencenter dienen und für Musik gibt es noch zahlreiche weitere Alternativen. Leider stellt man schnell fest, dass diese Anwendungen für Hörbücher teils ungeeignet sind. Warum? Weil man bei Hörbüchern gern zusätzliche Funktionen, wie beispielsweise das Speichern der aktuellen Wiedergabeposition, benötigt und dafür andere wie das zufällige Abspielen von Titeln wegfallen können.
Große Anbieter wie Audible bieten neben den genannten Funktionen noch den Komfort, dass sie neben der Möglichkeit die Daten überall einfach via Browser zu streamen die Wiedergabeposition Geräteübergreifend synchronisieren.
Dafür muss man verschiedene Nachteile in Kauf nehmen:

  • Plattformabhängigkeit - es gibt beispielsweise keinen nativen Audible Client für Linux

  • DRM - ich kann die Hörbücher beispielsweise nicht auf meinem Autoradio abspielen, da dieses nur .mp3 unterstützt

  • Datenschutz - Amazon wertet das Nutzerverhalten aus und speichert die Personenbezogenen Daten (was auch noch als Feature in Form von Badges verkauft wird)

Nach recht langer Suche1 bin ich auf ein Projekt aufmerksam geworden welches sich genau dieser Problematik widmet. Es trägt den Namen Booksonic und ist eine speziell auf Hörbücher angepasste Version der eigentlich für Musik entwickelten Medienverwaltung Subsonic.

Vorbereitung

Damit die Hörbücher später korrekt in Booksonic gelistet werden ist es essentiell, dass die Dateien mit korrekten Tags vergeben und in einer einheitlichen Ordnerstruktur gespeichert sind. Der Entwickler des Projektes empfiehlt einen Ordner pro Autor und dann darin die entsprechenden Buchtitel zu speichern. Wichtig ist, dass sich alle Dateien eines Hörbuches in einem Ordner befinden. Wenn eine weitere Aufteilung z.B. für die einzelnen CDs des Hörbuchs angelegt sind, wird jede CD als eigenes Hörbuch gelistet.2 Bei der Tagvergabe finde ich es wichtig, das für verschiedene Hörbucharten korrekte Genre Tags angegeben sind. Hier gilt es zu beachten, dass es scheinbar noch keine Möglichkeit gibt mehrere Tags für Genre zu vergeben.
Für die Bearbeitung der Tags kann unter Windows die Freeware Mp3Tag für GNU/Linux easyTag, mein Favourit puddletag oder ähnliches eingesetzt werden.
Mein Namensschema:
Title: Der Titel des Buches
Artist: Autor
Album Artist: Autor
Album: Titel des Buches

Wenn ich mir schon mal die Mühe mache und alle Dateien "bearbeite" habe ich in diesem Rutsch gleich noch ein Namensschema für Dateinamen eingeführt. In Puddletag verwende ich den etwas kryptisch anmutenden Befehl:
$replace($replace($replace($replace($replace($num(%track%,3)_$replace(%title%, " ", "_"), ",",""), ".",""), "ä", "ae"), "ü", "ue"), "ö", "oe") um

  • Umlaute zu ersetzen
  • Punkte und Kommas zu entfernen
  • und Leerzeichen durch Unterstriche zu ersetzen.

Dabei selektiere ich alle Dateien, aktiviere den Preview Modus und wende dann per "Accept" die Änderungen an.
Noch ein kleiner Tipp für die Coverbilder der Hörbücher: wenn ihr nach dem entsprechenden Hörbuch auf Amazon sucht, könnt ihr aus Firefox und Chrome das Bild bequem per "Drag and Drop" in den Ordner mit den mp3 Dateien ziehen. Die gespeicherte Datei muss dann nur noch in einen etwas aussagekräftigeren wie z.B. cover.jpg umgewandelt werden.

Serverinstallation

Variante 1 - Tomcat

Da es sich bei der Software um ein Javaprojekt handelt ist die Installation einer JRE und Tomcat erforderlich. Wenn das überstanden ist, kann einfach das aktuelle Release von der GitHub Seite als .war heruntergeladen und als Tomcat Applikation deployed werden.
Wichtig: falls eine Fehlermeldung der Art

tomcat Application at context path /booksonic could not be started  

im Tomcat Manager auftaucht schaut nach, ob der Fehlstart durch das lock File im /var Verzeichnis zustande gekommen ist. Im Zweifel die Datei löschen und im Application Manager erneut auf "Start" klicken.

[/share/CACHEDEV1_DATA/.qpkg/Tomcat/tomcat] # find /var -name "book*"
/var/booksonic
/var/booksonic/booksonic.properties
/var/booksonic/db/booksonic.data
/var/booksonic/db/booksonic.properties
/var/booksonic/db/booksonic.log
/var/booksonic/db/booksonic.lck
/var/booksonic/booksonic.log

QNAP Benutzer:
Ich habe festgestellt, dass die native Tomcat Installation scheinbar beim Herunterfahren des NAS nicht sauber beendet wird und so die oben genannten Fehler sehr oft auftreten. Ich rate daher, falls möglich, die unten genannte Variante 2 zu vewenden.

Variante 2 - Docker

Wie ich schon hin und wieder erwähnt habe bin ich ein Docker-Fan. Auf der Projektseite wird auch Docker als Installationsvariante angegeben. Das Image kommt zwar nicht vom Entwickler selbst, wird aber wohl in Zusammenarbeit mit ihm erstellt. Hier kann man das entsprechende Dockerfile zum selbererstellen oder ein fertig gebautes Image herunterladen.

Fazit und Ausblick

Für mich als Hörbuch-Fan ist Booksonic eine lang ersehnte Management Lösung.
Bleibt nur zu hoffen, dass der Entwickler sich auch langfristig um das Projekt kümmern kann und es noch weiterentwickelt wird. An Ideen für neue Features mangelt es mir zumindest nicht:

  • Titel/Bücher als gelesen markieren
  • Flexiblere Ordnerstruktur erlauben (dass CD Ordner nicht als separates Buch erkannt werden)
  • Nach ungelesenen Büchern filtern
  1. ich habe mir wirklich so ziemlich alle Alternativen angeschaut: mpd, madsonic, Emby, Kodi, Ampache... im Benutzerforum von Plex wurde erwähnt, dass Hörbuch Features für zukünftige Versionen geplant sind.

  2. ich habe auf GitHub ein entsprechendes Issue eröffnet. Als temporäre Zwischenlösung habe ich dieses Skript vervendet