Odtwarzanie w Jellyfin może rozpocząć się z opóźnieniem, gdy mapowanie tonów HDR i obsługa napisów wydłużają czas potrzebny do wygenerowania pierwszych odtwarzalnych segmentów.
Opóźnienie przed wyświetleniem pierwszej klatki różni się od buforowania po rozpoczęciu odtwarzania i może wynikać z konfiguracji, dekodowania, mapowania tonów, nakładania napisów lub początkowego generowania segmentów. Przed zmianą sprzętu zmierz osobno czas do pierwszej klatki i stałą szybkość transkodowania. Użyj tego samego pliku, klienta, ścieżki napisów i jakości wyjściowej, aby opóźnienie uruchamiania pozostało odizolowane i mierzalne.
Opóźnienie pierwszej klatki to problem z czasem przetwarzania potoku
Serwer musi wygenerować wystarczającą ilość użytecznego wyjścia, zanim klient będzie mógł bezpiecznie rozpocząć odtwarzanie, dlatego jeden wolny etap konwersji może wydłużyć uruchamianie bez powodowania ciągłego buforowania. To sprawia, że czas do pierwszej klatki jest przydatną metryką diagnostyczną.
Zmiana możliwości klienta może przełączyć to samo źródło z Direct Play na transkodowanie, tworząc bardziej obciążającą ścieżkę po stronie serwera bez zmiany pliku multimedialnego.
Zapisz tryb odtwarzania widoczny w panelu oraz dokładny moment, w którym transkodowanie zaczyna generować dane. Jeśli opóźnienie znika w trybie Direct Play, najpierw zbadaj ścieżkę konwersji, a nie tylko wyszukiwanie w bibliotece.
Konwersja HDR może zużyć zapas wydajności przed rozpoczęciem odtwarzania
Mapowanie tonów jest wymagające obliczeniowo, ponieważ przed zakodowaniem wyjścia przekształca informacje o luminancji i kolorach HDR. System pracujący blisko granic swoich możliwości sprzętowych może nadal ukończyć zadanie, ale generować segmenty zbyt wolno, aby uruchomienie odtwarzania było płynne.
Szybkość działania w czasie rzeczywistym gwałtownie się zmienia, gdy mapowanie tonów wchodzi do ścieżki transkodowania, dlatego opóźnienie pierwszej klatki należy mierzyć dla tej samej konwersji HDR, którą faktycznie uruchamia klient.
Przetestuj ten sam plik na kliencie obsługującym HDR oraz w ścieżce przeznaczonej wyłącznie dla SDR. Duża różnica w czasie rozpoczęcia przy podobnych warunkach przechowywania i sieci wskazuje, że mapowanie tonów jest prawdopodobną przyczyną.
Nakładanie napisów może zmienić tryb odtwarzania
Ścieżka napisów, której klient nie potrafi renderować, może wymusić pełne transkodowanie wideo, podczas gdy ten sam plik bez napisów będzie odtwarzany w trybie Direct Play. Użytkownicy często opisują to jako „napisy spowalniają Jellyfin”, choć w rzeczywistości zmienia się potok przetwarzania po stronie serwera.
Proces obsługi napisów można łatwo zweryfikować, porównując odtwarzanie z wyłączonymi napisami i z ich wypalaniem w obraz oraz sprawdzając, czy Jellyfin przełącza tryb odtwarzania.
Zachowaj ten sam kodek, jakość i klienta, zmieniając wyłącznie ścieżkę napisów. Ścieżka diagnostyczna buforowania w Jellyfin jest najbardziej przydatna dopiero wtedy, gdy wiadomo, czy strumień działa w trybie Direct Play, remuksowania czy pełnego transkodowania.
Pamięć masowa i pamięć podręczna również mogą opóźniać generowanie segmentów
Nawet wystarczająca przepustowość GPU nie ukryje poważnych opóźnień odczytu źródła ani wolnej ścieżki roboczej transkodowania. Uruchamianie staje się problemem całego potoku systemowego, gdy multimedia, pamięć podręczna i pliki tymczasowe są przechowywane na obciążonym dysku lub udziale sieciowym.
Różne ograniczenia pamięci masowej łatwiej rozdzielić, gdy opóźnienie i przepustowość są mierzone niezależnie, zamiast sprowadzać je do jednej wartości szybkości dysku.
Podczas uruchamiania obserwuj opóźnienie odczytu źródła oraz zapisy plików tymczasowych transkodowania. Jeśli układy obliczeniowe pozostają niedociążone, a oczekiwanie na operacje wejścia-wyjścia rośnie, napraw ścieżkę pamięci masowej, zanim kupisz wydajniejszą kartę graficzną.
Centrum Technologii i Sztucznej Inteligencji
Więcej do przeczytania

Dlaczego architektura domowego serwera Jellyfin zmienia się wraz z dodawaniem usług
Serwer Jellyfin staje się stosem usług w miarę dodawania kolejnych aplikacji, dlatego należy jasno określić odpowiedzialność za procesor, pamięć masową, sieć, dane uwierzytelniające, kopie...

Jak mierzyć wydajność Jellyfin, nie myląc pamięci podręcznej z wydajnością sprzętu
Wiarygodny test wydajności Jellyfin oznacza oddzielnie stan zimny i ciepły, aby buforowane metadane lub strony systemu plików nie zostały pomylone z trwałą wydajnością sprzętu.

Ile zapasu iGPU potrzebuje Jellyfin dla wielu użytkowników?
Zapas iGPU w Jellyfin zależy od rodzaju obciążenia: zachowaj margines powyżej najtrudniejszej powtarzalnej mieszanki jednoczesnych transkodowań, a nie arbitralnego procentu wykorzystania.

