feat(api): SHA-256 and Chromaprint fingerprints for the library (M5.5)
A background Fingerprinter runs after every scan and at startup, one file at a time, filling media_files.sha256 and track_fingerprints (fpcalc raw, first 120 s). Without fpcalc only SHA-256 is computed and files stay queued for Chromaprint. Changing a file's content resets its prints. Similarity() compares raw prints with a ±80-point alignment search; it is the basis for duplicate detection in the upload queue. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ed063d3763
commit
9b50038bb4
9 files changed
+406
-6
No files matched your search
@@ -39,6 +39,8 @@ type API struct {
|
||||
StorageAgentURL string `env:"STORAGE_AGENT_URL" envDefault:"http://storage-agent:8090"`
|
||||
InternalToken string `env:"INTERNAL_TOKEN"`
|
||||
FFprobePath string `env:"FFPROBE_PATH" envDefault:"ffprobe"`
|
||||
// FPCalcPath — fpcalc (Chromaprint) для акустических отпечатков; нет бинарника — считается только SHA-256.
|
||||
FPCalcPath string `env:"FPCALC_PATH" envDefault:"fpcalc"`
|
||||
|
||||
// SigningKey — ключ подписи ссылок на обложки и стрим (base64, ≥ 16 байт). Пусто — случайный до перезапуска.
|
||||
SigningKey string `env:"STREAM_SIGNING_KEY"`
|
||||
|
||||
Reference in new issue
Block a user