Transkodowanie sprzętowe zmienia zdalne odtwarzanie materiałów 4K w Plexie z procesu polegającego wyłącznie na dostarczaniu danych w działający w czasie rzeczywistym potok dekodowania, przekształcania, kodowania i buforowania.
Kompatybilny klient zdalny nadal może odtwarzać materiały 4K w trybie Direct Play, bez konieczności ponownego składania wideo przez serwer. Przebieg procesu zmienia się, gdy przepustowość, obsługa kodeka, sposób przetwarzania HDR, napisy lub żądanie jakości klienta wymuszają konwersję: Plex musi zdekodować źródło, zastosować wymagane przekształcenia, zakodować nowy wynik i utrzymywać go przed klientem. Użyteczną granicą jest więc pierwszy etap, który przestaje zachowywać zapas wydajności potrzebny do pracy w czasie rzeczywistym.
Transkodowanie sprzętowe rozpoczyna się dopiero wtedy, gdy klient nie może użyć źródła
Plex najpierw ustala, czy żądane wideo, dźwięk, napisy, kontener i jakość mogą zostać dostarczone bez zmiany obrazu. Jeśli klient akceptuje źródło, Direct Play pozostaje mniej obciążającą ścieżką. Pełne transkodowanie wideo rozpoczyna się dopiero wtedy, gdy któryś z warunków zgodności lub dostarczania wymusza utworzenie przez Plex innego strumienia.
Praktyczną różnicę widać w ścieżkach Direct Play i transkodowania: Direct Play wysyła oryginalne multimedia, natomiast transkodowanie przebudowuje strumień zgodnie z żądaniem klienta. Zmienia to zadanie serwera z odczytywania i wysyłania bajtów w utrzymywanie działającego potoku konwersji.
Potraktuj decyzję o sposobie odtwarzania jako pierwszą bramkę procesu. Zanim dobierzesz kartę graficzną lub zmienisz ustawienia transkodowania, odtwórz zdalne żądanie na rzeczywistym kliencie, z wybraną ścieżką dźwiękową, napisami i ograniczeniem jakości. Jeśli sesja korzysta z Direct Play, pojemność GPU nie jest pierwszym ograniczeniem; jeśli transkoduje, przejdź przez etapy dodawane przez konwersję.
Dekodowanie zamienia skompresowane źródło 4K w klatki robocze
Po rozpoczęciu konwersji wideo źródło nie może zostać przekazane bez zmian. Dekoder odtwarza klatki robocze z kodeka HEVC, H.264 lub innego obsługiwanego kodeka, a klatki te stają się danymi wejściowymi dla późniejszego skalowania, konwersji kolorów, nakładania napisów lub ponownego kodowania. To pierwszy wymagający obliczeniowo etap, którego unika Direct Play.
Proces 4K staje się bardziej wymagający, gdy kodek źródłowy i głębia bitowa wymagają cięższej ścieżki dekodowania. Dlatego zgodność kodeka 4K ma znaczenie przed porównywaniem procesorów. Dwa pliki oznaczone jako 4K mogą wymagać różnej pracy dekodera, nawet jeśli ich widoczna rozdzielczość jest identyczna.
Sprawdź, czy dekodowanie rzeczywiście korzysta z zamierzonego silnika multimedialnego, zamiast wnioskować o tym na podstawie niskiego użycia CPU. Częściowo przyspieszany potok może nadal pozostawiać jeden etap w trybie programowym. Użyj jednego znanego pliku źródłowego, dwukrotnie wymuś to samo transkodowanie i porównaj użycie CPU, aktywność silnika wideo GPU oraz prędkość transkodowania, zanim zmienisz sprzęt.
Przekształcenia mogą stać się kosztownym środkiem potoku
Zdekodowane klatki mogą nadal wymagać zmiany rozmiaru, mapowania tonów z HDR do SDR, konwersji kolorów lub wypalenia napisów w obrazie przed kodowaniem. Te przekształcenia znajdują się między dekodowaniem a kodowaniem, dlatego GPU obsługujące oba kodeki może nadal mieć problemy, jeśli etap środkowy nie jest obsługiwany, przełącza się na CPU lub musi tworzyć dodatkowe powierzchnie pośrednie.
Przetwarzanie HDR i napisów może znacząco zmienić ścieżkę, nawet gdy podstawowe transkodowanie już działa; przetwarzanie HDR i napisów przypomina, że należy testować przekształcenie wywoływane przez rzeczywistego klienta, a nie uproszczony benchmark z wyłączonymi napisami i wyłącznie materiałami SDR.
Przygotuj osobne przypadki obciążeniowe dla skalowania SDR, mapowania tonów HDR oraz formatu napisów, którego faktycznie używa domownictwo. Jeśli tylko jeden przypadek nie nadąża, ogranicz diagnozę do tego przekształcenia, zamiast modernizować cały serwer. Szerszą konfigurację 4K można sprawdzić na podstawie ścieżki serwera Plex 4K.
Kodowanie tworzy nowy strumień wideo dostosowany do zdalnego odtwarzania
Po zakończeniu przekształceń Plex kompresuje klatki robocze do kodeka wyjściowego, rozdzielczości i szybkości transmisji żądanych przez zdalną sesję. Kodowanie sprzętowe może przenieść tę powtarzalną pracę wykonywaną dla każdej klatki na dedykowany silnik multimedialny, ale tylko wtedy, gdy żądana ścieżka wyjściowa jest obsługiwana, a kontener ma dostęp do akceleratora.
Dekodowanie i kodowanie należy traktować jako osobne bramki, ponieważ system może przyspieszać jeden etap, nie przyspieszając drugiego. Praktyczny przewodnik po transkodowaniu sprzętowym pokazuje, że sprzętowe dekodowanie i kodowanie trzeba weryfikować jako odrębne etapy, zamiast traktować je jako jedno założenie typu włączone/wyłączone.
Obserwuj prędkość transkodowania po ustabilizowaniu strumienia, a następnie ponownie podczas przewijania lub zmiany jakości. Jeśli koder nie może utrzymywać przewagi nad odtwarzaniem, zdalna sesja ostatecznie zużyje bufor, nawet gdy pamięć masowa i wysyłanie danych działają prawidłowo. Jeśli koder ma zapas wydajności, przejdź dalej i sprawdź pamięć tymczasową, dostarczanie przez sieć oraz buforowanie klienta.
Buforowanie i dostarczanie nadal decydują o płynności konwertowanego strumienia
Gotowa zakodowana klatka nadal musi zostać zapakowana, tymczasowo zapisana lub zbuforowana, wysłana przez interfejs sieciowy serwera, przebyć zdalną trasę i dotrzeć wystarczająco wcześnie, aby trafić do bufora klienta. Transkodowanie sprzętowe usuwa jedno wąskie gardło obliczeniowe, ale nie zmienia pozostałego łańcucha dostarczania w nieograniczoną ścieżkę.
Zdalne 4K staje się stabilne dopiero wtedy, gdy zarówno konwersja, jak i dostarczanie pozostają przed odtwarzaniem. Dlatego objawy wyczerpywania bufora należy interpretować razem z prędkością transkodowania i przepustowością sieci, a nie traktować ich jako dowodu, że GPU jest zbyt wolne.
Przeprowadź pełny test akceptacyjny: potwierdź tryb odtwarzania, zweryfikuj sprzętowe dekodowanie i kodowanie, wywołaj najtrudniejsze wymagane przekształcenie, obserwuj prędkość transkodowania, a następnie zmierz wysyłanie danych i zachowanie klienta podczas tej samej sesji. Transkodowanie sprzętowe zmienia przebieg procesu, dodając etapy obliczeniowe; płynne zdalne odtwarzanie 4K nadal zależy od tego, czy każdy kolejny etap zachowuje odpowiedni zapas wydajności.
Centrum Technologii i Sztucznej Inteligencji
Więcej do przeczytania

Czym jest stan Plexa i które jego elementy muszą być zachowane?
Trwały stan Plex to informacje, które zachowują konfigurację serwera po ponownym uruchomieniu i odbudowie; multimedia oraz tymczasowe dane transkodowania pełnią odrębne funkcje.

Jak Plex obsługuje uwierzytelnianie w sesjach lokalnych i zdalnych?
Uwierzytelnianie w Plex rozpoczyna się od tożsamości serwera i konta, a następnie lokalne lub zdalne ścieżki sieciowe określają dostępność oraz sposób nawiązywania bezpiecznego połączenia.

Dlaczego wyszukiwanie w Plex może zwalniać wraz ze wzrostem ilości danych biblioteki?
Sam wzrost biblioteki nie jest diagnozą. Zanim obwinisz rozmiar bazy danych, przetestuj kształt zapytań, indeksy, stan pamięci podręcznej, opóźnienia pamięci masowej i aktywność zapisu.

