Napisy uruchamiają transkodowanie, gdy wybrany klient nie może renderować danego strumienia napisów przy zachowaniu oryginalnego sposobu odtwarzania wideo.
Film może być odtwarzany bezpośrednio bez żadnych problemów do momentu włączenia napisów, ponieważ wideo, dźwięk i napisy są negocjowane jako jedna sesja zależna od klienta. Serwer może potrzebować wyodrębnić ścieżkę tekstową, zachować złożone formatowanie ASS, nałożyć grafiki PGS lub VobSub oparte na obrazach albo utrzymać synchronizację napisów podczas konwersji dźwięku. Najpierw odtwórz zmianę na jednym pliku i jednym kliencie, a następnie dokładnie ustal, który strumień i która reguła zgodności uległy zmianie.
Potwierdź, że napisy są jedyną zmienioną zmienną
Odtwórz ten sam tytuł na tym samym urządzeniu, z tą samą jakością i wyłączonymi napisami, a następnie włącz jedną ścieżkę napisów bez zmieniania dźwięku, jakości zdalnego odtwarzania ani aplikacji do odtwarzania. Zapisz stan panelu serwera przed i po zmianie.
Decyzja dotycząca odtwarzania powinna wskazywać, czy wideo zmieniło tryb z Direct Play lub Direct Stream na pełne transkodowanie, oraz podawać powód związany z napisami, jeśli serwer go ujawnia. W przypadku dotyczącym rozwiązywania problemów z Plex zaleca się sprawdzenie aktywnego strumienia, ponieważ tryb odtwarzania zmienia się tylko przy określonej kombinacji napisów i klienta.
Jeśli odtwarzanie już wcześniej odbywało się z transkodowaniem, nie przypisuj całej konwersji napisom. Zachowaj pierwotny powód — na przykład zdalną przepływność, nieobsługiwany dźwięk lub niezgodność wideo — i odnotuj, czy napisy powodują wypalanie w obraz, czy tylko pozostają wybrane.
Ustal, czy napisy są tekstowe, stylizowane czy oparte na obrazach
Sprawdź wybraną ścieżkę zamiast polegać wyłącznie na etykiecie języka. SRT i WebVTT to proste formaty tekstowe; ASS lub SSA mogą zawierać czcionki, pozycjonowanie, animacje i formatowanie; PGS i VobSub to strumienie napisów oparte na obrazach.
Nieobsługiwane formaty często wymagają od serwera renderowania każdego napisu na klatkach wideo. Zgłoszenie dotyczące Jellyfin opisuje, jak nieobsługiwane formaty napisów uruchamiają wypalanie w obraz i mogą opóźniać lub zatrzymywać proces transkodowania.
Porównaj inną ścieżkę z tego samego tytułu, najlepiej zwykłą ścieżkę SRT w tym samym języku. Jeśli SRT zachowuje odtwarzanie bezpośrednie, a ASS lub PGS wymusza transkodowanie wideo, kodek wideo nie jest głównym problemem — klient nie może bezpośrednio renderować wybranej reprezentacji napisów.
| Typ napisów | Typowe zadanie klienta | Prawdopodobny tryb awaryjny serwera |
|---|---|---|
| SRT lub WebVTT | Renderowanie zwykłego tekstu zsynchronizowanego w czasie | Wyodrębnienie, konwersja lub bezpośrednie renderowanie |
| ASS lub SSA | Renderowanie czcionek, pozycjonowania i efektów | Usunięcie formatowania lub wypalenie w obraz |
| PGS lub VobSub | Nakładanie zsynchronizowanych obrazów napisów | Nakładanie przez klienta lub wypalenie w obraz |
Traktuj tabelę jako mapę diagnostyczną, a nie uniwersalną listę zgodności. Ten sam format może być odtwarzany bezpośrednio w jednej aplikacji, a w innej wymuszać wypalanie w obraz, ponieważ obsługa napisów zależy od implementacji odtwarzacza.
Porównaj aplikację klienta, a nie tylko telewizor lub urządzenie do strumieniowania
Przetestuj to samo konto, plik, ścieżkę dźwiękową i napisy w innym kliencie, na przykład w odtwarzaczu komputerowym, aplikacji mobilnej, przeglądarce lub innej aplikacji telewizyjnej. Wyświetlacz, który dekoduje kodek wideo, może nadal polegać na aplikacji w zakresie renderowania napisów.
Możliwości klienta mogą stanowić pełną granicę zgodności. Jedno zgłoszenie dotyczące funkcji Android TV opisuje złożone napisy, które urządzeniu trudno było renderować lokalnie, i wyraźnie wskazuje, że wypalanie po stronie serwera wymaga transkodowania.
Jeśli inny klient odtwarza bezpośrednio tę samą kombinację, pozostaw serwer i plik multimedialny bez zmian, a następnie sprawdź w niedziałającej aplikacji preferencję wypalania napisów, wybór natywnego odtwarzacza i wersję aplikacji. Wymiana sprzętu serwera nie doda obsługi napisów ograniczonemu klientowi.
Sprawdź, czy konwersja dźwięku zmienia sposób obsługi napisów
Powtórz test z kompatybilną ścieżką dźwiękową, taką jak stereo AAC lub AC-3, jeśli jest dostępna, pozostawiając bez zmian wideo i ścieżkę napisów. Niektóre klienty telewizorów mogą nakładać napisy tylko podczas pełnego odtwarzania bezpośredniego i żądać wypalania w obraz, gdy serwer musi wykonać remuksowanie lub transkodowanie dźwięku.
Analiza klienta Plex dokumentuje tę zależność: w przypadku niektórych klientów telewizorów Smart TV transkodowanie dźwięku wraz z napisami może wymusić przejście wideo do trybu wypalania w obraz, nawet jeśli sam kodek wideo jest obsługiwany.
Jeśli zmiana wyłącznie ścieżki dźwiękowej przywróci odtwarzanie bezpośrednie z napisami, prawdziwym wyzwalaczem jest połączony profil klienta, a nie sam plik napisów. Zachowaj obsługiwaną ścieżkę dźwiękową, użyj bardziej zaawansowanego klienta lub utwórz zgodną dodatkową ścieżkę dźwiękową zamiast ponownie kodować oryginalne wideo.
Wybierz najmniej inwazyjny sposób na uniknięcie wypalania napisów
Zacznij od ścieżki napisów, którą klient może renderować natywnie. Jeśli stylizacja nie jest istotna, wybierz prawidłowo zsynchronizowane napisy tekstowe albo użyj klienta obsługującego oryginalną ścieżkę ASS, PGS lub VobSub.
Nie wykonuj automatycznie OCR ani konwersji całej biblioteki. Konwersja tekstu może powodować utratę pozycjonowania, oznaczeń wymuszonych napisów, informacji dla osób niedosłyszących, czcionek i dokładności synchronizacji. Zachowaj oryginalne napisy i utwórz dodatkową, zgodną ścieżkę tylko dla tytułów i klientów, które jej potrzebują.
Wyjaśnienie ZimaSpace dotyczące kosztu wypalania napisów w obraz opisuje powiązany mechanizm występujący wtedy, gdy serwer nadal wykazuje wysokie użycie procesora, mimo że sprzętowe transkodowanie wideo jest włączone.
Jeśli wypalania napisów w obraz nie da się uniknąć, sprawdź, czy serwer może obsłużyć je w czasie rzeczywistym, zanim zezwolisz na kilka zdalnych sesji. Procesor graficzny może przyspieszać dekodowanie i kodowanie wideo, podczas gdy renderowanie napisów lub przetwarzanie filtrów nadal tworzy etap ograniczany przez procesor.
Zweryfikuj końcową kombinację odtwarzania na rzeczywistym kliencie
Powtórz test na dokładnie tym samym kliencie zdalnym lub przeznaczonym do salonu, używając wybranych ścieżek wideo, dźwięku i napisów. Potwierdź tryb odtwarzania, powód transkodowania, użycie procesora i procesora graficznego, buforowanie, wygląd napisów oraz ich synchronizację po przewijaniu.
Powtórz test po zatrzymaniu i wznowieniu tytułu, ponieważ niektóre klienty podczas wznawiania ponownie negocjują inną ścieżkę odtwarzania. Przetestuj również jedną ścieżkę napisów wymuszonych i jedną ścieżkę obejmującą wszystkie dialogi, jeśli obie są dostępne.
Problem jest rozwiązany dopiero wtedy, gdy wybrany klient renderuje napisy bez konwersji wideo albo wykonuje niezbędne wypalanie w obraz ze stabilną prędkością i jakością. Udokumentuj działającego klienta, typ napisów, ścieżkę dźwiękową i preferencję wypalania, aby po przyszłej aktualizacji aplikacji można było dokonać porównania z tą samą konfiguracją bazową.
Wsparcie i wskazówki
Więcej do przeczytania

Czy Plex może współdzielić kartę graficzną z innym kontenerem Dockera?
Plex i inny kontener często mogą korzystać z tego samego układu GPU, ale należy przetestować obsługę sterowników, mapowanie urządzeń, obciążenie silnika wideo, pamięć oraz...

Jak ustalić, czy błąd Plex pochodzi od klienta, czy od serwera
Odtwórz ten sam przypadek na innym kliencie, porównaj ścieżkę sesji, a następnie zbierz dowody z serwera dopiero wtedy, gdy zakres analizy wskaże, gdzie faktycznie...

Jak skonfigurować pamięć podręczną Plex i tymczasową pamięć na transkodowane pliki
Chroń trwały stan Plex, umieszczając tymczasowe pliki transkodowania na odpowiedniej pamięci lokalnej, a następnie zweryfikuj czyszczenie, ilość wolnego miejsca i zachowanie podczas ponownego uruchamiania.

