miniaudiolib – Handbuch
miniaudiolib ist eine schlanke, selbst gehostete Musik- und Hörbuchbibliothek. Die Anwendung scannt lokale Medienordner, liest Audio-Tags mit ffprobe, extrahiert eingebettete Cover mit ffmpeg, speichert den Katalog in SQLite und streamt Audiodateien mit HTTP-Range-Unterstützung an den Browser.
Links
Funktionen
- Musik- und getrennte Hörbuchbibliotheken
- MP3, FLAC, M4A, AAC, Ogg, Opus, WAV, WMA, AIFF und APE
- Titel, Künstler, Album-Künstler, Album, Genre, Jahr, Disc- und Tracknummer
- eingebettete Cover und optionale MusicBrainz-Metadaten
- Album- und Titelansichten mit Suche
- Favoriten, Wiedergabepositionen und Abspielzähler
- Playlists
- Hörbücher mit Kapiteln und gespeichertem Wiedergabefortschritt
- inkrementelle Scans, Scanstatus, Fehlerprotokoll und Duplikat-Hash
- lokales Streaming mit Range-Unterstützung
Voraussetzungen
Für die Medienanalyse werden ffmpeg und ffprobe benötigt. Beide Programme können über den PATH oder mit absoluten Pfaden in der Konfiguration angegeben werden. Unter Windows kann miniaudiolib den empfohlenen Essentials-Build in den Einstellungen herunterladen, per SHA-256 prüfen und unter ./ffmpeg installieren.
Die Release-Pakete enthalten FFmpeg aus Lizenz- und Größengründen nicht. Für den Bau aus dem Quellcode wird Go 1.26 oder neuer benötigt.
Download
| Plattform | Architektur | Paket | | --- | --- | --- | | Android | ARM64 | ZIP | | macOS | AMD64 | ZIP | | macOS | ARM64 | ZIP | | FreeBSD | AMD64 | ZIP | | FreeBSD | ARM64 | ZIP | | Linux | 386 | ZIP | | Linux | AMD64 | ZIP | | Linux | ARM | ZIP | | Linux | ARM64 | ZIP | | Linux | LoongArch64 | ZIP | | Linux | PPC64LE | ZIP | | Linux | RISC-V 64 | ZIP | | Linux | S390X | ZIP | | OpenBSD | AMD64 | ZIP | | OpenBSD | ARM64 | ZIP | | Windows | 386 | ZIP | | Windows | AMD64 | ZIP | | Windows | ARM64 | ZIP |
Vor der Installation sollte das Paket gegen SHA256SUMS.txt geprüft werden.
Schnellstart
Archiv entpacken und die Anwendung starten:
chmod +x miniaudiolib
./miniaudiolib
Unter Windows:
.\miniaudiolib.exe
Danach ist die Oberfläche standardmäßig unter http://localhost:8080 erreichbar. Unter /settings werden mindestens ein Musikordner und optional Hörbuchordner eingetragen. Dort kann unter Windows außerdem FFmpeg installiert und anschließend der erste Scan gestartet werden.
Ein einmaliger Scan ohne dauerhaft laufenden Webserver ist ebenfalls möglich:
./miniaudiolib -scan
Eine andere Konfigurationsdatei wird mit -config /pfad/config.toml ausgewählt.
Konfiguration und lokale Daten
Beim ersten Start entsteht eine config.toml. Wichtige Einstellungen sind die Bind-Adresse, der Datenbankpfad, Musik- und Hörbuchordner, das Scanintervall sowie die Pfade zu FFmpeg und FFprobe. Die Oberfläche bindet standardmäßig ausschließlich an localhost:8080.
Die SQLite-Datenbank, extrahierte Cover und Logs liegen standardmäßig unter data/. config.toml, data/, lokale FFmpeg-Binärdateien und gebaute Programme sind nicht Teil des öffentlichen Git-Mirrors oder der Downloads. Vor dem Löschen von data/ oder config.toml sollte eine Sicherung erstellt werden.
Die Bibliotheksdateien selbst werden nicht hochgeladen. Nur die ausdrücklich ausgelöste MusicBrainz-Suche und die automatische FFmpeg-Installation benötigen Internetzugriff.
Aus dem Quellcode bauen
git clone https://zanvex.de/git/miniaudiolib.git
cd miniaudiolib
go test ./...
go build ./cmd/miniaudiolib
Der öffentliche Mirror enthält bewusst keine internen Testdateien und keine persönlichen Konfigurationen oder Laufzeitdaten. go test dient deshalb dort als vollständige Kompilierungsprüfung aller Pakete.
Unter PowerShell erzeugt das Release-Skript plattformspezifische ZIP-Pakete:
.\scripts\build.ps1 -Targets windows/amd64,linux/amd64,darwin/arm64
Aktualisierung
Die laufende Anwendung beenden, die Programmdatei durch die neue Version ersetzen und erneut starten. config.toml und data/ bleiben dabei erhalten. Vor größeren Aktualisierungen empfiehlt sich eine Sicherung dieser beiden Pfade.
Lizenz
miniaudiolib steht unter der MIT-Lizenz. Der vollständige Lizenztext liegt als LICENSE im Git-Mirror.