Wyszukiwanie w witrynie

Mój odtwarzacz strumieniowy Raspberry Pi był idealny, dopóki nie zacząłem go używać


Myślałem, że w końcu to rozgryzłem. Jeśli smart TV jest kiepski, a urządzenia i przystawki do streamingu z Android TV są przeładowane, to po prostu zrobię własną przystawkę do streamingu. Tak też zrobiłem. Zainstalowałem Android TV na Raspberry Pi 4 i podłączyłem go do telewizora.

Było świetnie. Było błogosławieństwem korzystać z mojego telewizora bez reklam i nadmiaru od Google i innych usług. Dostałem nawet Gigabit Ethernet jako bonus. Zainstalowałem wszystkie aplikacje, jakich kiedykolwiek będę potrzebować. Instalacja była ekscytująca i pełna obietnic. Ale teraz, gdy okres konfiguracji i miesiąca miodowego minął, a ja naprawdę żyłem z odtwarzaczem strumieniowym Raspberry Pi, zaczyna mi to łamać serce.

Używanie Raspberry Pi jako odtwarzacza strumieniowego

Działa — jeśli zostaniesz w jego świecie






Lubię robić własne rzeczy. Biorąc pod uwagę, że Raspberry Pi jest tańsze niż większość urządzeń do strumieniowania, im więcej go konfigurowałem z odpowiednim oprogramowaniem, tym bardziej wydawało się, że to najlepsza opcja na rynku. Ale okazało się, że się myliłem.

Głównym powodem, dla którego zainstalowałem Android TV, było zainstalowanie klienta Jellyfin i strumieniowanie z mojego lokalnego serwera Jellyfin. Do tego celu działa świetnie. Zainstalowałem klienta Dune (fork oficjalnego klienta Jellyfin) i strumieniowanie jest bardzo płynne i niezawodne. Biblioteka wygląda świetnie, wszystko jest dobrze zorganizowane i po prostu działa.

Gdyby to była cała historia, Pi byłby najlepszą skrzynką do streamingu, jaką kiedykolwiek posiadałem. Ale to nie cała historia.

Gdybym przechowywał to wyłącznie w tym celu, wciąż byłbym szczęśliwy. Gdyby to była cała historia, Pi byłby najlepszą przystawką streamingową, jaką kiedykolwiek miałem. Ale to nie jest cała historia. Chciałem przekształcić ją w centrum dla całego mojego streamingu i nigdy więcej nie musieć dotykać okaleczonego TizenOS w telewizorze. W tym momencie sprawy zaczęły się komplikować.

YouTube nie współpracuje

Mamy problem z kodekiem

Kto nie lubi oglądać treści na dużym ekranie? YouTube to podstawa na telewizorze. Więc go zainstalowałem i na początku działał świetnie. Ale po jednym lub dwóch filmikach zaczynało się robić… dziwnie. Dźwięk opóźniał się, albo odtwarzanie zaczynało się zacinać mimo poprawnego buforowania. Restart pomagał — na około dwa filmy — a potem zacinanie wracało. Mój telewizor jest 4K, Pi jest wydajne, a moja sieć wystarczająco szybka dla 4K. Ale odtwarzanie YouTube w 4K było beznadziejne. Albo zacinało się bez końca, albo aplikacja się zawieszała.

Co więc się działo? Czy mój Pi naprawdę nie był tak dobry jak zwykły Android TV box? W praktyce tak. Pi nie jest dobrym urządzeniem do tego celu. GPU VideoCore VI w Pi 4 potrafi sprzętowo dekodować tylko H.264 i HEVC (H.265). YouTube natomiast w dużym stopniu opiera się na VP9 (i coraz częściej na AV1) dla rozdzielczości 1080p i wyższych.

To oznacza, że wszystko w rozdzielczości 1080p i wyższej jest zmuszone do dekodowania programowego, a dekodowanie wideo 4K w trybie programowym jest po prostu za dużo dla takiego urządzenia. To również wyjaśnia schemat: działa przez kilka filmów, a potem się sypie. Procesor wykonuje całą pracę, nagrzewa się i ostatecznie ogranicza swoją wydajność. Nadal można go używać, jeśli trzymam się 720p, ale no weź — w tym momencie nie czuje się już jak ulepszenie.

Widevine jest całkowitym powodem zerwania umowy

DRM, DRM, DRM

Jellyfin jest lokalny, więc działa perfekcyjnie. YouTube jest online, ale stosunkowo prosty i już miał problemy. A co z faktycznym streamowaniem — filmami i serialami? Płacę za Netflix i Apple TV. Zainstalowałem Apple TV na Pi, ale nawet się nie otworzył. To samo stało się ze Spotify.

Jak się okazuje, istnieje duży problem ze streamingiem na Raspberry Pi. Problem nazywa się Widevine. To system DRM Google używany przez platformy takie jak Netflix, Apple TV i Spotify w celu ochrony treści. Kiedy naciskasz przycisk odtwarzania, aplikacja sprawdza certyfikację Widevine twojego urządzenia i pobiera klucz do lokalnego odszyfrowania wideo.

Specjalnie wybrałem Android TV, ponieważ chciałem mieć dostęp do tego samego ekosystemu aplikacji, do którego jestem przyzwyczajony. Jeśli zadowala Cię całkowite korzystanie z Kodi lub LibreELEC, Pi to inna historia, ale to nie był mój cel.

Istnieją trzy poziomy — L1, L2 i L3 — które określają, jak bezpieczne jest środowisko odtwarzania. L1 używa pamięci zabezpieczonej sprzętowo, podczas gdy L3 opiera się tylko na oprogramowaniu. Większość konfiguracji Raspberry Pi obsługuje tylko L3, co ogranicza jakość odtwarzania lub całkowicie uniemożliwia oglądanie niektórych treści. Platformy streamingowe ustalają minimalne wymagania dla każdego tytułu, więc to, co możesz oglądać, zależy od Twojego poziomu certyfikacji. Jest to używane przez Netflix, Disney+, Apple TV, YouTube, Spotify — praktycznie wszystko.

Istnieje poprawka Widevine — ale to nie wystarcza

Istnieje poprawka Widevine dla Android TV na Pi. Instalujesz łatkę, a twoje urządzenie otrzymuje certyfikat. Zrobiłem to. Wadą jest to, że ten certyfikat to tylko L3. Jeśli coś wymaga L1 lub L2, jesteś bez szans. Po zainstalowaniu Widevine, Spotify działało dobrze. Apple TV się uruchomiło i treść była odtwarzana. Ale w przypadku niektórych tytułów, jak Pluribus (świetny serial Apple TV, tak przy okazji), na wideo pojawiały się tęczowe artefakty, jakby połączenie HDMI szwankowało. Nie ma to nic wspólnego z HDMI. To Widevine wymusza ograniczenia. Kiedy środowisko nie jest wystarczająco bezpieczne, odtwarzanie jest celowo pogorszone.

Nie mogłem nawet zainstalować Netflixa. Procesor w Pi to ARMv8, ale wszystkie wersje, które znalazłem, były ARMv7. Sklep Play po prostu oznacza go jako nieobsługiwany. Więc Netflix całkowicie odpada.

Będąc fair, większość tych problemów wynika z wersji Android TV, a nie samego Raspberry Pi. Android TV na Pi to port stworzony przez społeczność, a nie oficjalny produkt. I tak — większość tego złamanego serca wynika z moich własnych oczekiwań. Nie wiedziałem o Widevine, zanim zacząłem.

To nawet nieporównywalne z prawdziwą maszyną

Jak... Xbox?

Wciąż miałem mojego starego Xbox One, więc go włączyłem, zaktualizowałem i zainstalowałem Netflix, Jellyfin, Apple TV i YouTube. I wszystko działało perfekcyjnie. Żadnych przycinek. Żadnych awarii. Prawidłowe odtwarzanie 4K HDR. Żadnych dziwnych artefaktów. Żadnych hacków. Żadnych łatek. Żadnego rozwiązywania problemów. Po prostu zainstaluj, zaloguj się i korzystaj. Xbox wbił klin w pęknięcie mojego serca i go zabetonował. Wszystko po prostu działało.

Rozumiem, że Xbox to maszyna warta 400 dolarów i znacznie bardziej wydajna, oraz że posiada wbudowaną licencję L1 Widevine. Nie mówię, że Pi powinien to dorównać. Ale kiedy dodasz do tego całą frustrację, obejścia i rzeczy, które wciąż nie działają, propozycja wartości zaczyna się zmniejszać.

Więc oto jesteśmy

Myślałem, że mój własny streamer pokona komercyjne, ale przegrałem. Raspberry Pi z Android TV to nie jest dobry pomysł, jeśli polegasz na komercyjnych aplikacjach streamingowych. Jeśli używasz go do lokalnych mediów, jest fantastyczny — nic go nie przebije. Ale w momencie, gdy korzystasz z Netflixa, Apple TV i treści chronionych DRM, wszystko się sypie.

To nie jest całkowicie wina Raspbery Pi. Certyfikacja Widevine jest ściśle kontrolowana i powiązana ze specyficznym sprzętem i oprogramowaniem układowym, a Pi nigdy nie był certyfikowany. Ale w praktyce to nie działa. Nawet jeśli zignoruję DRM, YouTube wciąż stanowi problem. Jego zależność od VP9 i AV1 po prostu nie zgadza się z tym, co Pi może obsłużyć.

Sprzęt DIY, taki jak Pi, najlepiej współpracuje ze spersonalizowanym oprogramowaniem — Jellyfin, Kodi, rzeczami, którymi sam kontrolujesz. W momencie, gdy próbujesz go zmusić do współistnienia z komercyjnymi serwisami streamingowymi, przestaje działać płynnie. Dwa tygodnie temu powiedziałbym komuś, kto kupuje przystawkę do streamingu, żeby po prostu wziął Raspberry Pi. Dziś sam kupuję przystawkę do streamingu.

Powiązane artykuły