Co powoduje utratę podglądów zdjęć HEIC w samodzielnie hostowanej galerii?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Podglądy HEIC znikają, gdy galeria nie może zdekodować oryginału, wygenerować jego obrazu pochodnego lub dostarczyć tego obrazu bieżącemu klientowi.

Galeria hostowana samodzielnie zwykle zachowuje oryginał HEIC, tworząc jednocześnie miniatury i podglądy JPEG lub WebP dla przeglądarek i telefonów, które mogą nie wyświetlać bezpośrednio każdego profilu HEIF. Oryginał może nadal być dostępny do pobrania, nawet gdy oś czasu jest pusta, ponieważ uszkodzenie, nowy profil kodowania telefonu, bardzo duże wymiary, brak obsługi dekodera, nieudane zadania workera, nieaktualne rekordy miniatur lub ładowanie oryginału po stronie klienta wpływają tylko na ścieżkę obrazu pochodnego. Zdiagnozuj jeden plik — od bajtów oryginału po wygenerowany podgląd.

Potwierdź, czy oryginalny plik HEIC jest nienaruszony

Pobierz oryginał z galerii i porównaj jego rozmiar oraz sumę kontrolną ze źródłowym telefonem, eksportem lub kopią zapasową. Otwórz go w zaufanej aplikacji komputerowej obsługującej HEIC.

Użytkownicy Immich zgłaszali, że po przesłaniu plików HEIC i DNG miniatury oraz podglądy przestawały się generować, dlatego ważne jest odróżnienie uszkodzonego oryginału od awarii potoku generowania obrazów pochodnych. Widocznym objawem były brakujące miniatury po przesłaniu.

Jeśli pobrany oryginał jest niekompletny lub uszkodzony, napraw ścieżkę transferu i prześlij plik ponownie ze zweryfikowanego źródła. Jeśli oryginał otwiera się prawidłowo, zachowaj go i kontynuuj sprawdzanie metadanych, dekodera oraz zadań.

Porównaj metadane działającego i niedziałającego pliku HEIC

Wybierz jeden plik HEIC, dla którego podglądy się generują, oraz jeden, dla którego się nie generują. Porównaj model urządzenia, wersję systemu operacyjnego, wymiary, głębię bitową, profil kolorów, obrazy pomocnicze, orientację, metadane HDR, rozmiar pliku i marki kontenera.

Nowe oprogramowanie telefonu może wprowadzić profil, którego bieżący dekoder serwera nie rozumie. W jednym z problemów Immich stwierdzono, że pliki HEIC z iOS 18 nie generowały miniatur i zwracały komunikaty o nieprawidłowych nagłówkach, podczas gdy starsze obrazy z iOS nadal działały, co wskazywało na różnicę w nowym profilu źródłowym.

Przetestuj inne zdjęcie z tego samego telefonu po zmianie ustawienia aparatu, wyłącznie w celu sklasyfikowania awarii. Nie konwertuj ani nie nadpisuj oryginalnej biblioteki, dopóki nie ustalisz niezgodnego profilu i wersji serwera.

Sprawdź wymiary obrazu i limity zasobów

Zapisz szerokość, wysokość, liczbę megapikseli, rozmiar pliku oraz osadzone obrazy pomocnicze niedziałającego pliku. Bardzo duże pliki HEIC mogą wymagać podczas dekodowania znacznie więcej pamięci, niż sugeruje ich skompresowany rozmiar.

W Immich udokumentowano duże, 200-megapikselowe pliki HEIC, dla których nie można było utworzyć miniatur ani wyświetlić podglądów. Praktyczną granicą były skrajnie duże wymiary HEIC, a nie zwykłe przeglądanie galerii.

Podczas przetwarzania jednego pliku monitoruj pamięć, procesor, limity kontenera i zdarzenia braku pamięci workera miniatur. Jeśli mniejsze obrazy HEIC działają, zwiększ zasoby dostępne dla workera lub zachowaj zgodną kopię podglądową bez usuwania oryginału w pełnej rozdzielczości.

Odczytaj pierwszy błąd dekodowania workera miniatur

Uruchom zadanie brakujących miniatur lub ich regeneracji dla jednego dotkniętego problemem pliku i obserwuj dziennik mikroserwisu lub workera. Zapisz pierwszy błąd dekodera, nagłówka, przestrzeni kolorów, uprawnień lub zapisu, a nie końcowy ogólny komunikat o awarii.

Najnowsze zgłoszenia Immich nadal pokazują, że generowanie miniatur kończy się niepowodzeniem dla określonych plików HEIC po aktualizacjach. W jednym z problemów z 2026 roku wskazano awarię przetwarzania HEIC związaną z aktualizacją.

Jeśli po pierwszym błędzie HEIC każdy nowy plik kończy się niepowodzeniem, zrestartuj tylko uszkodzonego workera po zachowaniu dzienników i sprawdź stan kolejki. Pojedynczy nieprawidłowy plik nie powinien zasłaniać informacji o tym, czy sam proces workera przestał generować wszystkie kolejne podglądy.

Zweryfikuj biblioteki dekodera i zgodność wersji

Zapisz wersję galerii, obraz kontenera, bibliotekę przetwarzania obrazów, dekoder HEIF, architekturę procesora oraz informację, czy podczas aktualizacji zmieniły się kompilacje zależne od sprzętu. Porównaj je z ostatnim wdrożeniem, które działało prawidłowo.

Niektóre awarie HEIC dotyczą tylko części obrazów, nawet w ramach jednej wersji serwera. W jednym z problemów Immich zgłoszono, że nie działały tylko określone pliki HEIC, co wskazuje na granicę obsługiwanej funkcji formatu, a nie całkowity brak obsługi HEIC.

Przetestuj ten sam oryginał z poprzednią wersją aplikacji lub w odizolowanym obrazie bieżącego workera. Przywracaj starszą wersję wyłącznie na podstawie spójnej kopii zapasowej bazy danych i konfiguracji; nie obniżaj w ciemno wersji produkcyjnej bazy danych tylko po to, aby przetestować dekoder obrazów.

Oddziel awarię podglądu serwera od ładowania oryginału przez klienta

Otwórz problematyczny plik w kliencie internetowym, aplikacji mobilnej i prywatnej sesji przeglądarki. Zapisz osobno, czy nie działają miniatura na osi czasu, średni podgląd, obraz pochodny w pełnym rozmiarze oraz pobieranie oryginału.

Przeglądarka może nie wyświetlać oryginału HEIC, podczas gdy wygenerowany podgląd powinien działać. Problem dotyczący Safari w Immich opisuje sytuację, w której ładowanie oryginału HEIC nie działało, mimo że klient mógł przełączyć się na podgląd lub obraz pochodny w pełnym rozmiarze.

Jeśli awaria występuje tylko w jednym kliencie, wyczyść zapisane w pamięci podręcznej dane odpowiedzi tego klienta i porównaj ustawienia ładowania oryginału. Jeśli w żadnym kliencie nie ma miniatury, a dziennik workera nie pokazuje wygenerowanego pliku, kontynuuj diagnozę po stronie serwera.

Regeneruj tylko brakujące obrazy pochodne po usunięciu przyczyny

Utwórz kopię zapasową bazy danych i woluminu metadanych, a następnie uruchom zadanie brakujących miniatur dla niewielkiego, problematycznego zestawu. Potwierdź, że tworzy nowe obrazy pochodne bez zastępowania oryginałów.

Wydania Immich kierowały użytkowników z uszkodzonymi miniaturami do uruchomienia zadania brakujących miniatur po zastosowaniu odpowiednich poprawek, co przemawia za celowaną regeneracją po naprawie, zamiast wcześniejszego usuwania całego magazynu miniatur.

Poradnik ZimaSpace dotyczący prywatnej kopii zapasowej zdjęć z iPhone’a przedstawia szersze wymaganie: niezależnie od podglądów galerii zachowuj i weryfikuj oryginalne zdjęcia.

Problem jest rozwiązany, gdy suma kontrolna oryginału pozostaje niezmieniona, worker generuje miniatury dla problematycznego profilu HEIC, wszystkie obsługiwane klienty ładują obraz pochodny, a nowe zdjęcie z tego samego telefonu jest przetwarzane prawidłowo bez przebudowy całej biblioteki.

Wsparcie i wskazówki

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.