Audiobookshelf Guide - Hörbücher und Podcasts selbst verwalten
Hörbücher und Podcasts sind aus unserem Alltag nicht mehr wegzudenken. Doch mit wachsender Sammlung wird es schnell unübersichtlich. audiobookshelf bietet eine einfache Lösung, um deine Hörbuch- und Podcastbibliothek auf einem eigenen Gerät, wie etwa einer Synology-NAS, im Heimnetzwerk zu verwalten. In diesem Artikel erfährst du, wie du mit audiobookshelf deine Audio-Inhalte effizient organisierst und jederzeit im Griff behältst.
audiobookshelf
audiobookshelf - Self-hosted audiobook and podcast server.
Ich verwende die App zur Verwaltung meiner eigenen Hörbücher im m4b
-Format und lasse darüber automatisch Podcasts abrufen.
Installiert ist audiobookshelf via Docker auf einer Synology, die im eigenen Netzwerk steht.
Auf meine Hörbücher und Podcasts greife ich von unterschiedlichen Geräten zu.
Es werden keine Musik- und Video-Titel in audiobookshelf verwaltet, dafür verwende ich Jellyfin.
Installation
Installiert wird audiobookshelf in Portainer mit einer Docker Compose-Datei.
---
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
ports:
- 13378:80
volumes:
- /volume1/music/Hoerbuecher:/audiobooks
- /volume1/music/Hoerbuecher_Kinder:/audiobooks1
- /volume1/music/podcast:/podcasts
- /volume1/docker/audiobookshelf/config:/config
- /volume1/docker/audiobookshelf/metadata:/metadata
environment:
- TZ=Europe/Berlin
- PUID=1026
- PGID=100
restart: always
Die Hörbuch- und Podcast-Dateien werden in zwei geteilten Ordnern der Synology verwaltet:
/volume1/music/Hoerbuecher
- Hörbücher/volume1/music/Hoerbuecher_Kinder
- Hörbücher für Kinder/volume1/music/podcast
- Podcasts
Der Dockercontainer erhält Zugriff auf diese drei Verzeichnisse.
Sie werden in audiobookshelf in /audiobooks
und /audiobooks1
eingebunden und können dort als eigenständige Bibliotheken angelegt werden.
Zugriff auf Bibliotheken
- Es lassen sich auf diese Art mehrere Bibliotheken in audiobookshelf einbinden und anlegen.
- Der Zugriff auf die einzelnen Bibliotheken kann pro Benutzer in den Einstellungen individuell festgelegt werden.
Die Installation kann auf einer Synology einige Zeit ⏳ dauern. Es ist etwas Geduld notwendig 😎.
audiobookshelf ist über die IP-Adresse der Synology und den Port 13378
erreichbar.
http://<ip-adresse-synology>:13378
Es gibt keinen Standardbenutzer und kein Standardpasswort. Beides muss beim ersten Aufruf von audiobookshelf angelegt werden.1
Synology und Websocket
Wird audiobookshelf auf einer Synology installiert, ist ein Websocket zu erstellen.
Image caption: Websocket anlegen
Image caption: Websocket anlegen
Image caption: Websocket anlegen
Die Organisation der Hörbücher
Hörbücher lassen sich auf unterschiedliche Arten organisieren, damit audiobookshelf sie entsprechend einordnen und sortieren kann.2
Tip
Bevor man seine gesamte Sammlung in audiobookshelf einbindet, kann mit einer kleinen Anzahl an Hörbüchern getestet werden. Die Organisation und Struktur sollte den eigenen Erwartungen entsprechend, damit man viel Spaß daran hat.
Nachfolgend ist mein gewähltes Vorgehen aufgezeigt.
1. audiobookshelf Einstellung
Die folgende Reihenfolge für die Bibliothek /audiobooks
wurde eingestellt.
Image caption: Scannereinstellungen - Metadaten Rangfolge
Image caption: Scannereinstellungen - Metadaten Rangfolge
2. Ordnerstruktur - einzelne Bücher
Legende:
- 📁 = Ordner
- 🎵 = Audiodatei
/volume1/music/Hoerbuecher/
|
| - 📁 Name Autor
|
| -- 📁 Name Buch 1
| -- -- 📁 CD 1
| -- -- -- 🎵 Track 1
| -- -- -- 🎵 Track 2
| -- -- -- 🎵 Track ...
| -- -- 📁 CD 2
| -- -- -- 🎵 Track 1
| -- -- -- 🎵 Track 2
| -- -- -- 🎵 Track ...
| -- -- 📁 CD 3
| -- -- -- 🎵 Track 1
| -- -- -- 🎵 Track 2
| -- -- -- 🎵 Track ...
| -- -- 📁 CD 4
| -- -- -- 🎵 Track 1
| -- -- -- 🎵 Track 2
| -- -- -- 🎵 Track ...
|
| -- 📁 Name Buch 2
| -- -- 📁 CD 1
| -- -- -- 🎵 Track 1
| -- -- -- 🎵 Track 2
| -- -- -- 🎵 Track ...
|
|
| - 📁 Name Autor 2
Der Name des Autors ist der Hauptordner. Der Ordnername setzt sich zusammen aus <Vorname> <Nachame>
. Sind mehrere Autoren an einem Buch beteiligt, wird mit einem Komma ,
getrennt.3
Im Autor-Ordner befinden sich die Bücher.
3. Ordnerstruktur - Serien - Beispiel 1
Wenn eine Serie in audiobookshelf angezeigt werden soll, dann ist die Ordnerstruktur entsprechend anzulegen.
Das ist aus m.E. der zuverlässigste Weg die einzelnen Bücher der Serie zuzuordnen.4
Legende:
- 📁 = Ordner
- 🎵 = Audiodatei
/volume1/music/Hoerbuecher/
|
| - 📁 Andreas Eschbach
|
| -- 📁 Out-Reihe
| -- -- 📁 1 - Black Out
| -- -- -- 🎵 1-01 Black Out 1.m4b
| -- -- -- 🎵 2-01 Black Out 2.m4b
| -- -- -- 🎵 ...
| -- -- 📁 2 - Hide Out
| -- -- -- 🎵 1-01 Hide Out [Disc 1].m4b
| -- -- -- 🎵 2-01 Hide Out [Disc 2].m4b
| -- -- -- 🎵 ...
| -- -- 📁 3 - Time Out
| -- -- -- 🎵 1-01 Time Out.m4b
| -- -- -- 🎵 2-01 Time Out.m4b
| -- -- -- 🎵 ...
|
| -- 📁 Das Jesus-Video
| -- -- 🎵 Track 1.m4b
| -- -- 🎵 Track 2.m4b
|
| - metadata.json
Erklärung zur Ordnerstruktur für Serien:
Autor
: Andreas EschbachOut-Reihe
: Name der Serie1 - Black Out
: 1. Band der Serie2 - Hide Out
: 2. Band der Serie3 - Time Out
: 3. Band der SerieDas Jesus-Video
: Buch, das nicht Teil der Serie istmetadata.json
= Datei wird von audiobookshelf angelegt und verwaltet und enthält die Metadaten
Note
- Wichtig ist die Beschriftung der 📁 Ordner.
- Die 🎵 Audiodateien sollten geordnet nach der Abspielreihenfolge geordnet sein, am besten mit einer Nummerierung. Der restliche Name ist dagegen nice-to-have, für die Sortierung aber nicht zwingend erforderlich.
3. Ordnerstruktur - Serien - Beispiel 2
/volume1/music/Hoerbuecher/
|
| - 📁 Jacob Grimm, Wilhelm Grimm
|
| -- 📁 Grimms Märchen
| -- -- -- 🎵 1 - Der Froschkönig oder der eiserne Heinrich.m4b
| -- -- -- 🎵 12 - Rapunzel.m4b
| -- -- -- 🎵 15 - Hänsel und Gretel.m4b
| -- -- -- 🎵 21 - Aschenputtel.m4b
| -- -- -- 🎵 23 - Von dem Mäuschen, Vögelchen und der Bratwurst.m4b
| -- -- -- 🎵 24 - Frau Holle - lang.m4b
| -- -- -- 🎵 ...
|
| - metadata.json
Image caption: Grimms Märchen in audiobookshelf
Image caption: Grimms Märchen in audiobookshelf
4. Metadaten
Die Metadaten werden für jede einzelne m4b
eingetragen. Dafür verwende ich das kostenpflichtige Tool 🔗 MP3TAG, mit dessen Hilfe man sehr schnell Ordnung in die eigene Hörbuchsammlung und mp3-Sammlung bekommt.
Image caption: MP3TAG - Der universelle Tag Editor
Note
Die Sortierung und Einordunung in audiobookshelf erfolgt durch die Ordnerstruktur.
Ein paar Infos zu den Tags:5
Titel
= Name des Buchkapitel (wird nicht für die Organisation benötigt, der Name wird aber beim Abspielen angezeigt)Interpret
= Autor des Buches (mehrere Autoren können durch,
getrennt werden, z.B.<Max Maier>,<Lisa Lischen>
)Album
= Name des BuchesJahr
= ErscheinungsjahrTrack
= Nummer des BuchkapitelsGenre
= GenreKommentar
= BeschreibungAlbum-Interpret
= Autor des Buches (mehrere Autoren können durch,
getrennt werden, z.B.<Max Maier>,<Lisa Lischen>
)Komponist
= Erzähler, Sprecher (mehrere Sprecher können durch,
getrennt werden, z.B.<Max Maier>,<Lisa Lischen>
)`Disc-Nummer
= bei mehreren CDs kann die Nummer eingetragen werden.Series
= von mir angelegter Tag, audiobookshelf nutzt jedoch die Ordnerstruktur für die OrganisationSprache
= von mir angelegter TagISBN-13
= von mir angelegter Tag
Image caption: MP3TAG - Tags sind in ein Hörbuch eingetragen
Plappa - iOS-App
plappa - Audiobook player for Jellyfin and AudioBookShelf, written in Swift/SwiftUI
Zum Anhören der Hörbücher und Podcasts verwende ich die App plappa.
Mit der App kann man sehr komfortabel durch die Bibliotheken navigieren und die Hörbücher und Podcasts anhören.
Die Offline-Unterstützung, also das Herunterladen der Dateien auf das Smartphone, wird nach einer einmaligen Zahlung freigeschaltet.
Image caption: plappa - Startseite
Image caption: plappa - Hörbuch abspielen
Image caption: plappa - Einstellungen
Fazit
- benutzerfreundliche App
- sehr übersichtlich gestaltet
- einfacher Wechsel zwischen Bibliotheken
- Sleeptimer
- Offline-Unterstützung (einmalige Zahlung von 5,99 €, Stand Februar 2025)
→ klare Empfehlung 👍
--
Audiobooks konvertieren
Das Umwandeln von einem Audioformat in ein anderes lässt sich mit ffmpeg
sehr einfach erledigen.7
brew install ffmpeg
1. m4b → mp3 umwandeln
Einzeln - mp3 pro Datei
Hörbuchdateien lassen sich mit ffmpeg
von m4b in ein mp3 umwandeln.
ffmpeg -i dateiname.m4b -acodec libmp3lame -ar 22050 dateiname.mp3
mp3 Batch - jede Datei
Alle m4b-Dateien in einem Ordner werden in jeweils eine mp3-Datei umgewandelt.
for i in *.m4b; do ffmpeg -i "$i" -acodec libmp3lame -ar 22050 "${i%.*}.mp3"; done
Alle m4b- und mp3-Dateien werden in einen eigenen Ordner verschoben:
mkdir mp3
mv *.mp3 mp3
mkdir m4b
mv *.m4b m4b
Alle Befehle zusammengefasst:
for i in *.m4b; do ffmpeg -i "$i" -acodec libmp3lame -ar 22050 "${i%.*}.mp3"; done && mkdir mp3 &&mv *.mp3 mp3 && mkdir m4b && mv *.m4b m4b
Batch - Ausgabe in eine mp3-Datei
Alle m4b-Dateien in einem Ordner werden in eine einzige mp3-Datei umgewandelt.
Es wird eine Dateiliste aller m4b-Dateien benötigt
for i in *.m4b; do echo "file '$PWD/$i'" >> filelist.txt; done
Anschließend kann ffmpeg die Dateien abarbeiten und in eine mp3-Datei zusammenführen.
ffmpeg -f concat -safe 0 -i filelist.txt -acodec libmp3lame -ar 22050 -vn output.mp3
2. mp3 → m4b umwandeln
mp3 → m4b - Einzeln m4b pro Datei
Hörbuchdateien lassen sich mit ffmpeg von mp3-Format in ein m4b-Format umwandeln.
ffmpeg -i dateiname.mp3 -vn -c:a aac -b:a 64k -f ipod dateiname.m4b
mp3 → m4b - m4b Batch - jede Datei
Alle mp3-Dateien in einem Ordner werden in jeweils eine m4b-Datei umgewandelt. (z.B. Thalia-Dateien)
- m4b-Dateien erstellen
for i in *.mp3; do ffmpeg -i "$i" -vn -c:a aac -b:a 64k -f ipod "${i%.*}.m4b"; done
- in Ordner verschieben
Alle m4b- und mp3-Dateien werden in einen eigenen Ordner verschoben:
mkdir mp3
mv *.mp3 mp3
mkdir m4b
mv *.m4b m4b
Alle Befehle zusammengefasst
for i in *.mp3; ffmpeg -i "$i" -vn -c:a aac -b:a 64k -f ipod "${i%.*}.m4b"; done && mkdir mp3 &&mv *.mp3 mp3 && mkdir m4b && mv *.m4b m4b
mp3 → m4b - Batch - Ausgabe in eine m4b-Datei
Alle mp3-Dateien in einem Ordner werden in eine einzige m4b-Datei umgewandelt.
Es wird eine Dateiliste aller m4b-Dateien benötigt
for i in *.mp3; do echo "file '$PWD/$i'" >> filelist.txt; done
Anschließend kann ffmpeg die Dateien abarbeiten und in eine mp3-Datei zusammenführen.
ffmpeg -f concat -safe 0 -i filelist.txt -vn -c:a aac -b:a 64k -f ipod dateiname.m4b
Die filelist.txt
ist manuell aufzuteilen, wenn mehrere große Dateien benötigt werden.
filelist100.txt
filelist200.txt
filelist300.txt
Anschließend kann der Konvertierungslauf gestartet werden.
ffmpeg -f concat -safe 0 -i filelist100.txt -vn -c:a aac -b:a 64k -f ipod dateiname1.m4b
ffmpeg -f concat -safe 0 -i filelist200.txt -vn -c:a aac -b:a 64k -f ipod dateiname2.m4b
ffmpeg -f concat -safe 0 -i filelist300.txt -vn -c:a aac -b:a 64k -f ipod dateiname3.m4b
m4b-Datei in einzelne Kapitel aufteilen
Eine große m4b-Datei lässt sich in einzelne Dateien aufteilen. Voraussetzung ist, dass die große Datei bereits Kapitel enthält.
Starten des Skripts
./split.zsh *.m4b output
Inhalt des Skripts6
#!/bin/zsh
# Note: this is only good for CHAPTERIZED files. If the breaks come in the middle of a word,
# the result will sound bad.
#
# Note that other containers are also supported!
if [[ -z $1 || -z $2 ]]; then
echo "Usage: $0 <in file> <out directory>" >&2
exit 1
fi
in=$1
extension=$1:e
out=$2
mkdir -p $out
metadata_source=${OVERRIDE_METADATA_SOURCE:-$in}
chapters_str=$(ffprobe -i $metadata_source -print_format json -show_chapters -v 0 | \
jq -r '.chapters[] | .start_time + " " + .end_time + " " + (.tags.title | sub(" "; "_"))')
chapters_arr=("${(@f)chapters_str}")
chapter_count=$#chapters_arr
# Prefix width, like 3 for "001", "002"...
chapter_width=$#chapter_count
n=0
splits=()
# Skip the end because the last chapter should not have the -to flag, in case
# the metadata is wrong. (It was in one case I saw)
for line in $chapters_arr[1,-2]; do
((n++))
echo $line | read start end title
splits+=(-c copy -c:a copy -map 0:a -ss $start -to $end "$out/${(l:$chapter_width::0:)n} - $title.$extension")
done
echo $chapters_arr[-1] | read start end title
splits+=(-c copy -c:a copy -map 0:a -ss $start "$out/${(l:$chapter_width::0:)n} - $title.$extension")
ffmpeg -i $in $splits
Fehler
Error opening output output/253 - Kapitel_253.m4b: Too many open files
Error opening output file output/253 - Kapitel_253.m4b.
Error opening output files: Too many open files
Lösung:
Im Terminal das Limit temporär erhöhen
# aktuelles Limit abfragen
ulimit -n
# Limit erhöhen
ulimit -n 500
Weltweiter Zugriff auf die Hörbuchsammlung
Ein weltweiter Zugriff mit jedem Gerät auf die eigene Hörbuchsammlung kann man als Besitzer einer FRITZ!Box sehr einfach realisieren.
Mit Wireguard lässt sich sehr einfach ein VPN einrichten. Damit kann man mit jedem Gerät sicher auf die eigene Hörbuchsammlung zugreifen.
Gib mir gerne einen Kaffee ☕ aus 😀
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Follow Me
Source
- Teile des Artikels wurden mit maschineller Hilfe erstellt.
- Foto von Alphacolor auf Unsplash