Dlaczego Plex działa mniej responsywnie na różnych klientach?

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.

Plex wydaje się mniej responsywny na różnych klientach, ponieważ każda aplikacja dodaje własny silnik odtwarzania, sposób obsługi pamięci podręcznej, ograniczenia kompatybilności i ścieżkę sieciową do tego samego serwera.

Responsywność to także coś więcej niż sama przepływność strumienia. Użytkownicy zwracają uwagę na przeglądanie biblioteki, ładowanie plakatów, czas do wyświetlenia pierwszej klatki, przewijanie, zmianę napisów i przełączanie ścieżek, a te działania angażują różne elementy systemu. Rzetelna diagnoza wymaga pozostawienia bez zmian materiału i serwera, a następnie sprawdzenia, które opóźnienia zależą od klienta, a które występują wszędzie.

Obsługa kodeków przez klienta zmienia zakres pracy Plexa

Klient, który akceptuje oryginalny obraz i dźwięk, może rozpocząć odtwarzanie przy niewielkim obciążeniu, podczas gdy inny może zażądać remuksowania, konwersji dźwięku lub pełnej transkodacji obrazu. Użytkownik odbiera to jako wolniejsze działanie aplikacji, choć różnica wynika z kompatybilności, a nie z szybkości interfejsu.

Obsługa kodeków przez klienta różni się w telefonach, tabletach, przystawkach streamingowych, telewizorach i podłączonym sprzęcie audio. To samo urządzenie może też zachowywać się inaczej w zależności od pliku lub wybranej ścieżki, dlatego żadna klasa urządzeń nie gwarantuje uniwersalnie funkcji Direct Play.

Porównaj dwa klienty, używając tego samego źródła, oryginalnej jakości, ścieżki dźwiękowej i napisów. Jeśli tylko wolniejszy klient uruchamia konwersję, responsywność jest kształtowana przez jego ścieżkę odtwarzania, zanim zaczniemy oceniać sprzęt serwera.

Szybkość przeglądania zależy od lokalnej pamięci podręcznej interfejsu i metadanych

Otwieranie biblioteki nie jest tym samym obciążeniem co odtwarzanie filmu. Klient żąda metadanych, plakatów, kolekcji i stanu, a następnie renderuje własny interfejs. Stan lokalnej pamięci podręcznej, wersja aplikacji, dekodowanie obrazów i pamięć urządzenia mogą sprawić, że jeden interfejs będzie działać ociężale, mimo że dostarczanie aktywnego materiału wideo pozostaje prawidłowe.

Klienci Plexa były z czasem przepisywani i ujednolicani na różnych platformach, co oznacza, że implementacja klienta może się zmieniać niezależnie od przepustowości serwera. Jeśli nawigacja działa wolno, a aktywne strumienie pozostają prawidłowe, oddziel responsywność interfejsu od dostarczania multimediów, zanim zmienisz sprzęt serwera.

Uruchom każdy klient raz po wyczyszczeniu pamięci podręcznej i drugi raz, a następnie porównaj przeglądanie z już odtwarzanym, znanym strumieniem. Klient, który wyraźnie przyspiesza po rozgrzaniu lokalnej pamięci podręcznej, to inny problem niż serwer, który wolno zwraca metadane do każdego urządzenia.

Wybór dźwięku i napisów może zmienić uruchamianie oraz przewijanie

Wybrane ścieżki wpływają na plan odtwarzania. Film może być odtwarzany bezpośrednio, dopóki klient nie zażąda nieobsługiwanego formatu audio lub trybu napisów wymagającego komponowania obrazu. Wtedy Plex może dodać pracę związaną z konwersją i odbudować bufory. Przełączanie ścieżek może powtórzyć część tego procesu.

Wybrane napisy mogą zmienić ścieżkę odtwarzania, która w innym przypadku byłaby kompatybilna, jeśli klient nie potrafi obsłużyć ich bezpośrednio. Dlatego zasady kompatybilności napisów Plexa są częścią responsywności klienta, a nie powodem, by zakładać, że każde napisy wywołają takie samo zachowanie.

Powtórz tę samą sekwencję przewijania i uruchamiania przy wyłączonych napisach oraz z szeroko obsługiwaną ścieżką audio. Jeśli responsywność normalizuje się tylko na jednym urządzeniu, interakcja klienta z materiałem jest bardziej miarodajna niż łączny wynik procesora serwera.

Różne silniki odtwarzania mogą odmiennie obsługiwać ten sam plik

Klienci Plexa nie korzystają ze wszystkich z identycznych frameworków multimedialnych. Odtwarzacz innej firmy może akceptować formaty, które inna aplikacja remuksuje lub transkoduje, a przeglądarka może nakładać inne ograniczenia dotyczące kodeków i kontenerów niż natywna aplikacja telewizora. Ten sam serwer może więc dostarczać różne ścieżki bez żadnych zmian w konfiguracji.

Zmiana silnika odtwarzania może wpłynąć na kompatybilność i buforowanie bez zmiany serwera. Na przykład Infuse może zażądać zoptymalizowanego strumienia Plexa, gdy wymagają tego przepustowość lub warunki odtwarzania, dlatego oprogramowanie urządzenia końcowego należy uwzględnić w ścieżce multimediów, a nie pomijać w diagnozie.

Jeśli to możliwe, przetestuj to samo urządzenie z alternatywnym klientem odtwarzania lub w przeglądarce. Jeśli opóźnienie podąża za aplikacją, a nie za sprzętem i siecią, diagnozę należy prowadzić na poziomie klienta.

Użyj pomiarów z różnych klientów, aby oddzielić odczucia od opóźnienia serwera

Wykonaj cztery pomiary dla tego samego tytułu: otwarcie biblioteki, rozpoczęcie odtwarzania, wznowienie po przewinięciu oraz przełączenie dźwięku lub napisów. Uruchom je na dwóch lub trzech klientach w tej samej sieci LAN, a następnie powtórz test na jednym kliencie zdalnie. Pozwoli to ustalić, czy wolny etap zależy od urządzenia, ścieżki sieciowej czy serwera.

Opóźnień podczas uruchamiania na różnych klientach nie należy przypisywać jednej usterce serwera, dopóki ten sam problem z pomiarem nie powtórzy się na różnych urządzeniach końcowych. Porównaj identyczne pliki, ścieżki i warunki sieciowe, zanim zmienisz ustawienia pamięci masowej, procesora lub bazy danych.

W przypadku różnic w zdalnym uruchamianiu lub przewijaniu odstępy między klatkami kluczowymi i zdalne uruchamianie dodają kolejną zmienną czasową do sprawdzenia. Odpowiedzialność za opóźnienie przypisz responsywności serwera Plexa dopiero wtedy, gdy problem utrzyma się po zmianie klienta, wyczyszczeniu lokalnej pamięci podręcznej i zmianie silnika odtwarzania.

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.