Dlaczego bezstratny dźwięk przestrzenny uruchamia konwersję na niektórych 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.

Bezstratny dźwięk przestrzenny powoduje konwersję, gdy dowolne urządzenie lub warstwa oprogramowania w łańcuchu odtwarzania nie może zaakceptować danego kodeka i układu kanałów bez zmian.

Film może odtwarzać obraz bezpośrednio, podczas gdy serwer multimediów konwertuje Dolby TrueHD, DTS-HD Master Audio, wielokanałowy FLAC lub inną bezstratną ścieżkę do AC-3, E-AC-3, AAC albo stereofonicznego PCM. Decyzja zależy od aplikacji klienckiej, telewizora, przystawki streamingowej, połączenia HDMI, ścieżki ARC lub eARC, amplitunera, wybranego odtwarzacza i zgłaszanych możliwości. Zdiagnozuj rzeczywistą ścieżkę audio zamiast zakładać, że strona produktu telewizora potwierdza przekazywanie sygnału od początku do końca.

Potwierdź, że konwertowany jest tylko strumień audio

Uruchom ten sam tytuł na problematycznym kliencie, ustawiając jakość obrazu na oryginalną i wyłączając napisy. Zapisz tryb obrazu i dźwięku widoczny w panelu serwera, wybraną ścieżkę, wyjściowy kodek, liczbę kanałów oraz przyczynę transkodowania.

Konwersja dźwięku nie zawsze wymaga kodowania obrazu. Zgłoszenie dotyczące Jellyfin pokazuje, że obraz H.264 był kopiowany, podczas gdy nieobsługiwany strumień audio konwertowano do AAC przez HLS, co dowodzi, że transkodowanie wyłącznie dźwięku jest odrębną ścieżką.

Jeśli panel zgłasza również konwersję obrazu, usuń zmienne związane z napisami, przepływnością, HDR i kontenerem, zanim zaczniesz diagnozować ścieżkę przestrzenną. Celem jest jedna kontrolowana sesja, w której zmienia się wyłącznie wybór ścieżki audio.

Określ dokładny kodek, profil i układ kanałów

Sprawdź wybrany strumień za pomocą serwera multimediów lub narzędzia do analizy plików multimedialnych. Zapisz, czy jest to TrueHD, TrueHD z Atmos, DTS-HD MA, DTS:X, wielokanałowy FLAC, PCM, E-AC-3 czy AC-3, a także jego układ kanałów i częstotliwość próbkowania.

Klient obsługujący standardowe DTS lub Dolby Digital nie obsługuje automatycznie bezstratnego rozszerzenia. Aktualne zgłoszenie regresji w Android TV opisuje nieudane przekazywanie DTS-HD MA, mimo że to samo urządzenie i inny odtwarzacz mogły prawidłowo przekazać tę ścieżkę.

Porównaj bezstratną ścieżkę z osadzoną ścieżką zapasową AC-3, E-AC-3, AAC lub stereo z tego samego pliku. Jeśli ścieżka zapasowa jest odtwarzana bezpośrednio, a bezstratna podlega konwersji, obraz, pamięć masowa i sieć nie są główną przyczyną problemu.

Prześledź kompletną ścieżkę audio od klienta do amplitunera

Zapisz rzeczywistą trasę: aplikacja multimedialna do przystawki streamingowej lub telewizora, następnie HDMI do telewizora lub amplitunera, a potem ARC lub eARC, jeśli dźwięk wraca z telewizora. Każdy etap musi przenosić wybrany kodek bez zmian.

Niektóre urządzenia potrafią lokalnie dekodować dany format, ale nie mogą przesyłać go bitstreamem przez wybraną ścieżkę wyjściową. Interfejs klienta Jellyfin ostrzega, że TrueHD należy włączać tylko wtedy, gdy obsługuje go urządzenie lub podłączony amplituner, ponieważ nieprawidłowe ustawienie możliwości może spowodować błąd odtwarzania zamiast przekazywania sygnału.

Przetestuj odtwarzacz podłączony bezpośrednio do amplitunera, a następnie przez telewizor. Jeśli bezpośrednie połączenie z amplitunerem działa, lecz ścieżka powrotna przez telewizor konwertuje dźwięk lub powoduje błąd, sprawdź tryb eARC, cyfrowe wyjście audio, ustawienia przekazywania sygnału, możliwości wejścia HDMI i negocjację połączenia kablowego, zamiast zmieniać ustawienia serwera multimediów.

Porównaj ustawienia przekazywania sygnału audio i wersje odtwarzacza

Sprawdź, czy aplikacja korzysta z automatycznego, bezpośredniego lub wyłączonego przekazywania dźwięku oraz czy wybiera natywny odtwarzacz, ExoPlayer, odtwarzacz internetowy czy zewnętrzny odtwarzacz. Zapisz wersję klienta przed zmianą ustawień.

Oprogramowanie klienta może zgłaszać zaniżone możliwości sprzętu, który faktycznie obsługuje bezstratny kodek. Jedno ze zgłoszeń dotyczących Android TV pokazuje, że dźwięk TrueHD i DTS był konwertowany, mimo że amplituner i klient zgłaszały ich obsługę, co wskazuje na niezgodność w raportowaniu możliwości.

Przetestuj inną aplikację na tym samym urządzeniu i amplitunerze, nie zmieniając pliku. Jeśli jeden odtwarzacz przekazuje ścieżkę, a drugi ją konwertuje, pozostaw konfigurację serwera bez zmian i skup się na profilu problematycznego klienta, wersji aplikacji oraz wybranym silniku odtwarzania.

Sprawdź limity kanałów i zachowanie podczas downmixu

Klient może akceptować AAC lub PCM, ale tylko w stereo, albo może reklamować sześć kanałów, podczas gdy aplikacja żąda dwóch. Porównaj liczbę kanałów wyjściowych serwera z formatem wyświetlanym na panelu amplitunera i aktywnością głośników.

Użytkownicy Jellyfin na WebOS zgłaszali konwersję DTS-HD MA i wielokanałowego FLAC, a następnie redukcję do stereo, co pokazuje, że konwersja kodeka i redukcja liczby kanałów mogą wystąpić podczas tej samej sesji.

Jeśli amplituner pokazuje stereo po konwersji, sprawdź maksymalną liczbę kanałów audio klienta i profil transkodowania serwera. Nie zwiększaj liczby kanałów w ciemno, gdy kontener transmisji lub telewizor nie może przenosić wielokanałowego PCM albo AAC tą ścieżką.

Wybierz zgodną ścieżkę zapasową bez ponownego kodowania obrazu

Jeśli problematyczne klienty nie mogą przekazywać bezstratnego dźwięku, wybierz istniejącą ścieżkę zgodności AC-3 lub E-AC-3. Zachowaj oryginalny strumień TrueHD lub DTS-HD dla klientów obsługujących kino domowe.

Jeśli biblioteka nie zawiera ścieżki zapasowej, utwórz dodatkową ścieżkę audio lub alternatywną wersję multimedialną zamiast zastępować bezstratne źródło. Konwersja wyłącznie dźwięku wymaga znacznie mniej zasobów niż transkodowanie obrazu i zachowuje oryginalny obraz.

Wyjaśnienie ZimaSpace dotyczące potoku transkodowania audio przedstawia mechanizm pomocny w zrozumieniu, dlaczego zgodna ścieżka zapasowa może zachować bezpośrednie odtwarzanie obrazu.

Zweryfikuj przekazywanie sygnału, synchronizację i wznawianie odtwarzania

Przetestuj ponownie bezstratną ścieżkę i ścieżkę zapasową od początku, po przewinięciu oraz po wznowieniu odtwarzania. Potwierdź tryb serwera, format amplitunera, liczbę kanałów wyjściowych, synchronizację ruchu ust z dźwiękiem oraz to, czy odtwarzanie przetrwa ponowne uruchomienie aplikacji.

Konwersja wyłącznie dźwięku może ujawnić problemy z przewijaniem charakterystyczne dla konkretnego klienta. Zgłoszenie dotyczące telewizora w Jellyfin opisuje zawieszanie odtwarzania po przewinięciu, gdy transkodowania wymagał tylko dźwięk.

Diagnozę można uznać za zakończoną, gdy kompatybilne klienty przekazują bezstratną ścieżkę bez zmian, ograniczone klienty wybierają stabilną zgodną ścieżkę, obraz pozostaje odtwarzany bezpośrednio wszędzie tam, gdzie to możliwe, a amplituner przez cały czas standardowego odtwarzania wyświetla oczekiwany kodek i układ kanałów.

Wsparcie i wskazówki

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.