Co powoduje opóźnienia w płynnym odtwarzaniu bezpośrednim w Plexie przy jednoczesnym korzystaniu z różnych klientów?

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.

Opóźnione płynne odtwarzanie Direct Play przy jednoczesnym korzystaniu z serwera przez różne klienty zwykle wynika z negocjacji z klientem lub opóźnień na ścieżce dostarczania, a nie z kodowania wideo na serwerze Plex.

Ten sam plik multimedialny może uruchomić się szybko na jednym kliencie i z opóźnieniem na innym, ponieważ różnią się one obsługą kodeków, ustawieniami jakości, wyborem napisów, buforami i trasami sieciowymi. Równoczesne odtwarzanie dodatkowo powoduje obciążenie współdzielonej pamięci masowej i sieci. Przydatny test polega na zachowaniu tego samego pliku i ustaleniu, który etap jako pierwszy zwalnia po dołączeniu kolejnego klienta.

Najpierw potwierdź, że opóźniona sesja nadal korzysta z Direct Play

Sesja, która ostatecznie działa płynnie, może przez pierwsze sekundy negocjować inną ścieżkę odtwarzania. Sprawdź pulpit Plex podczas uruchamiania i po ustabilizowaniu strumienia, ponieważ tymczasowy remuks lub transkodowanie zmienia diagnozę. Direct Play powinno oznaczać dostarczanie oryginalnych strumieni bez konwersji wideo po stronie serwera.

Zgodność z Direct Play zależy od tego, czy klient akceptuje dane multimedialne oraz czy ścieżka dostarczania jest w stanie utrzymać wymagany transfer. Zestaw różnych urządzeń może więc powodować różne zachowanie podczas uruchamiania na tym samym serwerze, zanim równoczesne odtwarzanie stanie się problemem sprzętowym.

Jeśli opóźniony klient faktycznie transkoduje, przestań określać ten problem jako opóźnione Direct Play i sprawdź, dlaczego wybrano konwersję. Jeśli od początku pozostaje w trybie Direct Play, przejdź dalej do ustawień klienta, początkowego buforowania, odczytu z pamięci masowej i przeciążenia sieci.

Ustawienia jakości klienta mogą opóźnić lub zmienić decyzję dotyczącą odtwarzania

Ustawienia jakości zdalnej i ustawienia przypisane do urządzenia są częścią żądania docierającego do serwera. Klient skonfigurowany poniżej oryginalnej jakości może wymusić konwersję, nawet jeśli urządzenie obsługuje plik źródłowy, podczas gdy inny klient na tym samym koncie może zażądać oryginalnej jakości i pozostać w trybie Direct Play.

Sprawdzenie konfiguracji po stronie klienta ma duże znaczenie, ponieważ ustawienia jakości zdalnej mogą decydować o tym, czy Plex wyśle oryginalny plik, czy utworzy strumień o niższej przepływności. Przy równoczesnym odtwarzaniu jeden nieprawidłowo skonfigurowany klient może dodać intensywne zadanie konwersji, które pośrednio konkuruje z sesjami nadal korzystającymi z Direct Play.

Porównaj opóźnione urządzenie z szybkim urządzeniem, używając tego samego konta, pliku, ścieżki audio, ustawień napisów i jakości. Jeśli wyrównanie tych ustawień usuwa opóźnienie, równoczesne korzystanie z serwera przez różne klienty ujawnia różnicę w żądaniach, a nie ogólne ograniczenie wydajności serwera.

Początkowe buforowanie uwidacznia opóźnienia sieci przed rozpoczęciem płynnego odtwarzania

Direct Play nadal wymaga od klienta otwarcia strumienia, odebrania wystarczającej ilości danych, aby bezpiecznie rozpocząć odtwarzanie, oraz utrzymywania bufora przed aktualnym punktem odtwarzania. Ścieżka o większych opóźnieniach lub zmiennej przepustowości może więc powodować powolny start, nawet gdy po ustanowieniu strumienia średnia przepustowość jest wystarczająca.

Ustawienia jakości zdalnej i połączenia mogą opóźniać lub zakłócać odtwarzanie, nawet gdy nominalna przepustowość wygląda na dużą. Różne aplikacje Plex mają własne ustawienia jakości i sposób dostarczania danych, dlatego przed zmianą wydajności serwera sprawdź żądanie klienta.

Zmierz osobno czas uruchamiania i stabilną przepływność. Jeśli opóźniony klient nadrabia zaległości, a następnie działa bez problemów, podczas gdy inny klient jest już aktywny, problem bardziej przypomina początkowe buforowanie lub opóźnienie na ścieżce niż trwałe ograniczenie wydajności serwera.

Obsługa dźwięku, napisów i kontenera może powodować opóźnienia zależne od klienta

Klient może akceptować obraz, ale wymagać innej ścieżki audio, innego sposobu obsługi napisów lub innej ścieżki kontenera. Może to wprowadzić tryb Direct Stream albo lekką konwersję dźwięku, którą łatwo przeoczyć, gdy użytkownik skupia się wyłącznie na obrazie. Zmiana ścieżki może również wywołać nowe żądanie i ponowny okres buforowania.

W jednej ze ścieżek problemu specyficznej dla urządzeń Samsung odtwarzanie zmieniało się, gdy konwersja dźwięku nakładała się na obsługę napisów, mimo że podstawowy obraz pozostawał niezmieniony. Istotna jest tu zależność od konkretnego klienta, a nie twierdzenie, że każdy format napisów powoduje takie samo opóźnienie.

Powtórz test uruchamiania z wyłączonymi napisami i szeroko kompatybilną ścieżką audio. Jeśli opóźnienie występuje tylko przy jednej ścieżce lub ustawieniu napisów, nie przypisuj go jeszcze sprzętowi serwera, dopóki nie rozwiążesz problemu z tą ścieżką klienta.

Równoczesne odtwarzanie ujawnia najwolniejszy współdzielony etap dostarczania

Gdy kilka sesji Direct Play nakłada się na siebie, serwer nadal musi otwierać pliki multimedialne, odczytywać dane źródłowe, wysyłać równoczesne strumienie TCP oraz obsługiwać żądania metadanych i grafik. Kolejka pamięci masowej lub współdzielone łącze wychodzące mogą powodować opóźnienie uruchamiania, zanim staną się na tyle poważne, by wywołać oczywiste buforowanie podczas odtwarzania.

Nawet gdy serwer wysyła oryginalne dane multimedialne, klient nadal korzysta z bufora odtwarzania, który kompensuje krótkotrwałe wahania dostarczania danych podczas uruchamiania i odtwarzania. Dlatego jedna średnia wartość przepustowości nie wyjaśnia każdego opóźnienia startu przy korzystaniu z różnych klientów.

Jeśli po opóźnionym starcie odtwarzanie przechodzi w powtarzające się pauzy, oddziel opóźnienie uruchamiania od buforowania, zanim zmienisz serwer. Przyczyną źródłową jest najwcześniej zmieniony warunek: zgodność żądania, bufor klienta, otwarcie pliku multimedialnego lub współdzielone obciążenie dostarczania.

Centrum Technologii i Sztucznej Inteligencji

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.