Add iTunes and AcoustID as additional free music enrichment sources

- itunes.py: zero-auth fallback for album artwork when MusicBrainz/Cover Art
  Archive has no match — kicks in automatically during music enrichment,
  toggleable in Settings (on by default, no key required).
- acoustid.py: audio fingerprint identification (Chromaprint fpcalc + the
  AcoustID API) for tracks with missing/unknown artist or album — nothing
  to text-search on, so this identifies from the actual audio content
  instead. Requires a free user-supplied API key from acoustid.org/api-key,
  off by default. New /music/identify endpoint + admin trigger button.
- Dockerfile: added libchromaprint-tools for fpcalc.
- Settings page: new Music Metadata & Artwork section with both toggles.
This commit is contained in:
Myron Blair
2026-07-27 21:03:59 -05:00
parent 628a729afd
commit 671074764e
6 changed files with 299 additions and 7 deletions
+3 -1
View File
@@ -1,10 +1,12 @@
# Kino backend — FastAPI + ffmpeg
FROM python:3.11-slim
# ffmpeg for HLS transcoding; util-linux for `nice` (already in base but explicit)
# ffmpeg for HLS transcoding; util-linux for `nice` (already in base but explicit);
# libchromaprint-tools provides `fpcalc`, used for AcoustID audio fingerprinting.
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
curl \
libchromaprint-tools \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app