fix(library): parallelize cover processing and retry missing artwork
This commit is contained in:
1 parent
eed7038109
commit
0a4cd4bff1
5 files changed
+259
-28
No files matched your search
@@ -172,6 +172,16 @@ lower-case, `ё → е`, удаление пунктуации, схлопыва
|
||||
сгенерированный из цвета. Конвертируются в WebP 64/300/1200 px в `/srv/pipu/cache/covers/`, вычисляется
|
||||
палитра из 3 цветов (k-means по пикселям; `cover_colors`) — для ambient-фона, цветов кнопки волны и плейсхолдеров.
|
||||
|
||||
Поиск файлов в папке не зависит от регистра: `cover.jpg`, `cover.jpeg`, `Cover.png`,
|
||||
а также `folder`, `front`, `album`, `albumart` с расширениями JPG/JPEG/PNG/WebP.
|
||||
Картинка должна лежать рядом с аудиофайлом; глубина папки относительно корня источника не важна.
|
||||
Папки, исключённые из сканирования, не используются для поиска обложек.
|
||||
После успешного скана (в том числе обычного, без перечитывания тегов) альбомы без обложек
|
||||
проверяются повторно. Обработчик запускается также при старте API, готовит до четырёх альбомов
|
||||
одновременно и сохраняет готовые обложки по мере обработки. Одинаковые изображения используют
|
||||
общие файлы кэша; ошибки чтения и конвертации остаются для повтора при следующем запуске обработчика.
|
||||
Клиент получает ссылку на готовый WebP через API каталога; nginx раздаёт файл из кэша.
|
||||
|
||||
## Поиск
|
||||
|
||||
Meilisearch, индексы:
|
||||
|
||||
Reference in new issue
Block a user