Raspberry Pi 4 jako smart TV

Raspberry Pi 4 jako smart TV

O tym, że Internet wygrywa walkę o dostęp do informacji z klasycznymi mediami (prasa, radio, telewizja) wiadomo od jakiegoś czasu. Kanały radiowe czy telewizyjne, nawet te nastawione tylko na przekazywanie informacji są mniej atrakcyjne niż portale internetowe, w których dostęp do informacji jest stały i natychmiastowy.

Coraz bardziej powszechne wprowadzenie szerokopasmowego Internetu spowodowało, że jesteśmy świadkami rewolucji na rynku domowej rozrywki. Tu również klasyczne kanały dostępu treści rozrywkowej audio i wideo są zastępowane innymi, dużo bardziej atrakcyjnymi i elastycznymi. Miłośnicy muzyki, za cenę miesięcznego abonamentu tańszego niż jedna płyta CD mogą mieć nieograniczony dostęp do milionów utworów przesyłanych strumieniowo. Istnieją rozwiązania, w których jakość przesyłanego materiału audio jest w praktyce nie do odróżnienia od jakości materiału odtwarzanego z płyty CD. Możliwość słuchania na wielu urządzeniach np. telefonie, laptopie, specjalnych odtwarzaczach i tworzenia własnych list utworów tylko podnosi atrakcyjność takich rozwiązań.

Podobnie jest z treściami audiowizualnymi. Klasyczny program telewizyjny od dawna nie jest jednym źródłem rozrywki. Już w latach 80. XX wieku zawrotną karierę zrobił magnetowid VHS pozwalający odtwarzać kasety z filmami z wypożyczalni, ale też nagrywać programy z telewizji lub z kamery VHS. Kolejnymi etapami tej rewolucji były płyty DVD oferujące lepszą jakość niż VHS, a potem płyty Blu-ray. Te ostatnie zależnie od zastosowanych kompresji video i audio mogły już zawierać treści zapisane w wysokiej rozdzielczości HD. Najnowszy format Ultra HD Blu-ray potrafi zapisywać materiał video w rozdzielczości 4k (3840×2160 pikseli), 60 klatek na sekundę bez przeplotu.

Jest tu używany system kompresji H265/HEVC z wsparciem dla systemów umożliwiających przesyłanie materiałów video o dużej dynamice HDR10 oraz Dolby Vision.

Wspomniany już Internet szerokopasmowy z możliwością przesyłania danych 40, 50, 100, czy 200 Mbit/s jest idealnym kanałem do przesyłania materiału video dobrej i bardzo dobrej jakości. Korzystają z tego platformy streamingowe oferując w ramach stosunkowo taniego miesięcznego abonamentu usługi VOD (Video on Demand). VOD umożliwia wybór i odtwarzanie on-line filmów, seriali, podcastów z bardziej lub mniej rozbudowanej biblioteki. Coraz częściej materiał wideo ma rozdzielczość 4k lub Full HD ze wsparciem Dolby Vision lub HDR10, oraz z kodowaniem dźwięku dookólnego w systemach Dolby Atmos, czy DTS.

Żeby korzystać z takiej oferty trzeba mieć oprócz Internetu szerokopasmowego możliwość uruchomienia specjalnych aplikacji pozwalających na zidentyfikowanie klienta (autoryzacja za pomocą haseł), nawigację po serwisie i uruchomienie odtwarzania zakodowanych strumieni wideo. Najnowsze telewizory z funkcjami smart TV radzą sobie z tym bez problemu. Jest jednak bardzo dużo starszych telewizorów z matrycami dobrej jakości Full HD, czy nawet HD, które nie mają takich możliwości i potrzebują zewnętrznego urządzenia podłączanego do telewizora przez złącze HDMI. Takie przystawki realizujące funkcje Smart TV można kupić w atrakcyjnej cenie. Można je również próbować wykonać samodzielnie. Zaprezentowany projekt jest próbą zbudowania przystawki smart TV bazującej na komputerku Raspberry Pi 4.

Założenia projektowe

Urządzenie będzie bazowało na module Raspberry Pi 4. Ma on zasoby sprzętowe pozwalające na uruchamianie aplikacji pod kontrolą wybranej wersji systemu operacyjnego Linux. Wbudowany procesor BCM2711, 64-bitowy czterordzeniowy Cortex-A72 (ARM v8) SoC taktowany częstotliwością 1,5 GHz. Procesor ma możliwość sprzętowego dekodowania strumieni wideo kodowanych kodekiem H.265 (HEVC) o maksymalnej rozdzielczości 4kp60, lub kodekiem H.264 o maksymalnej rozdzielczości do 1080p60. Wspiera tez obsługę dwu portów HDMI do 4kp60 i jest oferowany z pamięcią RAM o pojemnościach 2 GB, 4 GB, lub 8 GB.

Z przeprowadzonych prób wynika oczywisty wniosek, że im większa pamięć RAM tym lepiej. 4 GB RAM wydaje się rozsądnym kompromisem pomiędzy kosztami i wymaganiami sprzętowymi. Kolejny bardzo ważny element to pamięć micro SD na której będzie zapisane oprogramowanie. Tu się niestety nie bardzo da zaoszczędzić, im szybsza (i droższa) pamięć tym lepiej. Absolutne minimum to klasa C10 (zapis 10 Mbit/sek) . Raspberry Pi 4 używane do odtwarzania strumienia video może wymagać wymuszonego chłodzenia, bo ten moduł ma znane problemy ze zbyt mocnym nagrzewaniem się procesora.

Do zasilania potrzebny będzie zasilacz napięciu wyjściowym +5 V i wydajności prądowej 3 A. Teoretycznie można do tego celu zastosować ładowarkę do telefonu, ale takie urządzenie nie jest przewidziane do ciągłej pracy. Postanowiłem zastosować przetwornicę o nominalnym napięciu wyjściowym 12 V przeznaczoną do ciągłego obciążenia prądem 3 A przy napięciu wyjściowym 5 V. Założyłem też opcjonalne zastosowanie switch’a Ethernet, ale ten element nie jest konieczny do poprawnego działania. Do połączenia z Internetem preferuję sieć Ethernet jako pewniejszą, ale z dobrym skutkiem można użyć sieci Wi-Fi. Z moich obserwacji moduł Wi-Fi Raspberry Pi 4 ma wyraźnie mniejszą czułość niż mój smartfon, czy laptop. Trzeba to wziąć pod uwagę.

Fotografia 1. Wnętrze urządzenia

Na fotografii 1 pokazano prototypowe urządzenie składające się z kilku podstawowych bloków:

  • modułu Raspberry Pi 4 z pamięcią RAM o pojemności 4 GB,
  • układu zasilania zbudowanego z zasilacza do laptopa o napięciu wyjściowym ok. 18 V zasilającego przetwornicę o napięciu wejściowym z zakresu 10...18 V i napięciu wyjściowym 5 V i wydajności prądowej 3 A,
  • opcjonalnego 4 portowego switch’a Ethernet pozwalającego podłączyć sieć Ethernet jednocześnie do Raspbeery Pi 4 i do telewizora,
  • wentylatora chłodzącego zasilanego napięciem +5 V.

Wyjście micro HDMI jest połączone z kablem HDMI przez przejściówkę. Można też zastosować kabel micro HDMI – HDMI w tym również kabel certyfikowany przez Raspberry Pi. Do chłodzenia procesora zastosowano wentylator z radiatora procesora komputera PC. Nominalne napięcie zasilania wentylatora +12 V zostało zmniejszone do +5 V. Wydajność chłodzenia jest wystarczająca, a hałas w czasie pracy wentylatora został znacznie został zredukowany.

Oprogramowanie

W trakcie testów rozważałem dwa różne środowiska przeznaczone do odtwarzania strumieniowego. Oba dostępne nieodpłatnie w Internecie. Mimo że do odtwarzania treści z płatnych serwisów były również używane aplikacje nie mające autoryzacji serwisu, to trzeba wyraźnie podkreślić, że w każdym przypadku do odtwarzania jest niezbędne opłacone konto z nazwą użytkownika i hasłem. Jeżeli nie mamy takiego konta, to odtwarzanie nie jest technicznie możliwe. Jak się dalej okaże posiadanie takiego konta nie jest warunkiem wystarczającym do tego by nasze urządzenie pracowało według optymistycznych założeń wstępnych.

Kodi

Pierwszym środowiskiem było Kodi media center. To darmowy i otwarty, wieloplatformowy programowy odtwarzacz multimedialny i centrum rozrywki dla mediów cyfrowych przeznaczony dla komputerów HTPC (komputerów kina domowego). Używa interfejsu użytkownika zaprojektowanego jako odtwarzacz multimedialny. Graficzny interfejs użytkownika (GUI) umożliwia użytkownikowi łatwe przeglądanie i oglądanie filmów, zdjęć, podcastów i muzyki z dysku twardego, dysku optycznego, sieci lokalnej i Internetu. Oficjalna wersja Kodi jest tylko zaawansowanym odtwarzaczem nie zawiera żadnych treści. Oznacza to, że dla odtwarzania materiału audiowizualnego trzeba podłączyć lokalnie na przykład napęd DVD, Blu-Ray, dysk HDD, Pendrive przez złącze USB, lub poprzez sieć lokalną LAN. Odtwarzanie zdalne wymaga połączenia z Internetem. Kodi umożliwia instalowanie wtyczek innych firm lub tworzonych przez entuzjastów, które mogą zapewniać dostęp do treści, które są swobodnie dostępne w oficjalnej witrynie dostawcy treści, lub wymagają opłaconego abonamentu. Wszelkie sposoby oglądania treści, które nie byłyby opłacane, nie są wspierane ani zatwierdzane przez zespół Kodi.

Kodi jest w pełni Open-Source i wydany na licencji GPLv2.0+. Może być instalowany i uruchamiany na wielu systemach operacyjnych, w tym Windows, Mac OS, Android, Linux. Dla Raspberry Pi z racji nieco ograniczonych zasobów sprzętowych przygotowano kilka dystrybucji Linuxa zoptymalizowanych do uruchamiania Kodi. Jednym z najbardziej popularnych jest LibreELEC – Libre Embedded Linux Entertainment Center. Jest to minimalistyczna dystrybucja Linuksa typu JeOS (zawiera tylko funkcje potrzebne do uruchomienia i działania Kodi). LibreELEC zawiera wszystko co Kodi ma do zaoferowania i po zainstalowaniu jest praktycznie gotowy do działania.

Do zainstalowania (wgrania obrazu) LibreELEC będziemy potrzebowali odpowiednich narzędzi. Pokażę, jak to zrobić w systemie Windows. W pierwszym kroku odwiedzamy stronę libreelec.tv/downloads i pobieramy LibreELEC USB-SD Creator dla systemu Windows. Po uruchomieniu pojawia się okno pokazane na rysunku 1.

Rysunek 1. Okno kreatora LibreELEC USB-SD

Powinniśmy w polu 1. móc wybrać wersje Rasberry Pi, a polu 2. wersję obrazu systemu i potem napęd, do którego jest podłączona karta SD. Na koniec w kroku 4 należy zapisać obraz. Plik obrazu trzeba pobrać ręcznie. Na tej samej stronie trzeba w sekcji Manual Download wybrać Raspberry Pi i pobrać odpowiedni obraz systemu – rysunek 2. Pierwszym moim wyborem była najnowsza stabilna wersja z marca 2022. Niestety z jakichś powodów w tej wersji nie mogłem potem zainstalować wtyczek do odtwarzania platform streamingowych. Po kilku nieudanych próbach zainstalowałem starsza wersję 9.2 i tu nie było tego problemu. Teraz w kroku 2. kreatora wybieramy lokację pobranego pliku i uruchamiamy zapis obrazu na sformatowanej karcie.

Rysunek 2. Ręczne pobieranie obrazu LibreElec

Zapisaną kartę wkładamy do złącza Raspberry Pi i włączamy zasilanie. Moduł łączymy z telewizorem kablem HDMI. Kodi uruchamiany pod LibreElec pracował stabilnie i płynnie, po pobraniu i zainstalowaniu wtyczek można było testować różne funkcje w tym odtwarzanie (z różnym skutkiem) serwisów VOD. Taki zestaw był używany jakiś czas głównie do odtwarzania HBO Go a potem HBO MAX. Do sterowania zdalnego użyłem androidową bezpłatną aplikację Kore dostępną w sklepie Google Store. To kwestia gustu i być może przyzwyczajenia, ale jakoś nie zachwycił mnie graficzny interfejs użytkowania Kodi, sposób poruszania się po menu, wyszukiwanie tytułów itp.

W pewnym momencie wpadł mi do głowy pomysł użycia systemu Android TV.

Android TV

Ten system nie ma zbyt pochlebnych opinii, jeżeli chodzi o szybkość działania i stabilność, ale pomyślałem sobie, że jego użycie rozwiąże kilka problemów Kodi, w tym konieczność instalowania nieautoryzowanych wtyczek do używania platform VOD. Autoryzowane aplikacje powinny być dostępne w sklepie Google Store i wszystko powinno dobrze działać. Dodatkowym bonusem była możliwość zainstalowania pod Android TV aplikacji Kodi z jej zaletami i wadami. Po wielu różnych testach okazało się, że było to było życzeniowe myślenie. Ale po kolei.

Rysunek 3. Strona Kostakang z wyborem wersji Android TV

W sieci nie ma oficjalnej kompilacji Android TV na moduł Raspberry Pi 4, ale można znaleźć na stronie konstakang.com działające nieautoryzowane kompilacje LineageOS (lineageos.org) na komputerek Raspberry Pi 4. Aktualnie można pobrać i zainstalować Android TV dla Raspberry Pi w wersjach 9, 10, 11 i 12 L – rysunek 3. Obraz systemu można pobrać tylko do użytku osobistego lub edukacyjnego – więcej o licencji na stronie creativecommons.org.

Instalację zaczynamy od ściągnięcia na dysk spakowanego pliku z obrazem wybranego systemu operacyjnego. Całkowicie przetestowałem wersje 10 i 11. Najlepiej działała wersja 10. W wersji 11 odtwarzany materiał się wyraźnie zacinał. Dla wersji 12 L nie ma jeszcze gotowej nakładki Open Gapps, a wersja 9 działała bardzo wolno.

Rysunek 4. Formatowanie karty SD

W kolejnym kroku trzeba zapisać obraz systemu na karcie SD. Do tego celu będziemy potrzebowali aplikacji BalenaEtcher w wersji portable dostępnej na stronie https://www.balena.io/etcher/. Wkładamy sformatowaną kartę do czytnika. Kartę można wcześniej sformatować za pomocą aplikacji SD Card Formatter – rysunek 4, która automatycznie wykrywa napęd z kartą SD i usuwa wszystkie ewentualne partycje. Otwieramy aplikację balenaEtcher, klikamy Select Image i wybieramy plik na przykład linage-18.1 dla Android TV 11 – rysunek 5.

Rysunek 5. Zapisanie obrazu systemu Android TV na karcie SD

Aplikacja wykrywa czy w napędzie jest karta SD o odpowiedniej pojemności (zalecane minimum 16 GB). Jeżeli wszystko jest w porządku to klikamy na przycisk Flash – rysunek 6. BalenaEtcher rozpakowuje plik obrazu i zapisuje go na karcie, a po zapisie weryfikuje jego prawidłowość. Trochę to trwa i trzeba się uzbroić w cierpliwość.

Rysunek 6. Zapisywanie obrazu na karcie SD

Kartę z obrazem systemu wkładamy do złącza Raspberry Pi 4, podłączamy komputerek do telewizora za pomocą kabla HDMI i włączamy zasilanie. System przy pierwszym uruchomieniu zgłasza się ekranem powitalnym – rysunek 7, a następnie prosi o ustawienie języka (dostępny polski), oraz strefy czasowej. Na rysunku 8 pokazano ekran po pierwszym uruchomieniu Android TV.

Rysunek 7. Ekran powitalny przy pierwszym uruchomieniu
Rysunek 8. Ekran Android TV

„Goły” Android TV potrzebuje nakładki potrzebnej do wyszukiwania aplikacji ze sklepu Google Store. Wykorzystamy tutaj aplikację Open GApps (Open Google Apps Project). Open GApps umożliwia sprawdzenie dostępności aplikacji w sklepie Google Store oraz ich pobranie i zainstalowanie. Jest sposobem na pobranie aplikacji między innymi przeznaczonych do odtwarzania serwisów strumieniowych VOD, aplikacji typu Kodi oraz wielu innych dostępnych w sklepie Google Store dla Android TV.

Rysunek 9. Pobieranie aplikacji OpenGapps dla Android TV 11

Odwiedzamy stronę opengapps.org i pobieramy spakowaną aplikację właściwą dla wybranego systemu Android tak jak to pokazano na rysunku 9. Żeby zainstalować Open Gapps trzeba włączyć w systemie Android tryb zaawansowanego restartu (reboot) z opcją odtwarzania (recovery). W każdej wersji systemu jest to trochę inaczej zorganizowane. W wersji 9 i 10 trzeba wejść w tryb programisty. Na ekranie głównym klikamy w ikonę ustawień (prawy górny róg), następnie wybieramy System i Informacje – rysunek 10.

Rysunek 10. Wybór ustawienia System —> Informacje
Rysunek 11. Odblokowanie trybu programisty przez 5 krotne kliknięcie okna Kompilacja

W oknie Informacje klikamy 5 razy na okno z numerem kompilacji (rysunek 11) włączając w ten sposób tryb programisty. Teraz w oknie System pojawi się okno Tryb programisty, a w nim opcje restartu, w których trzeba wybrać zaawansowane uruchamianie. W systemie Android TV 11 w ogóle nie trzeba wchodzić w tryb programisty. W oknie System wybieramy okno Buttons (rysunek 12) i zaznaczamy opcję zaawansowanego restartu.

Rysunek 12. Włączanie opcji zaawansowanego restartu w Android TV 11

Zależnie od systemu i kompilacji sposób wyboru zaawansowanych opcji restartu może się różnić i być może trzeba będzie trochę poszukać. Również ponowne uruchamianie jest równie nazywane, może to być reboot, lub restart. Tak czy inaczej musimy uruchomić ponowne uruchamianie z opcją odzyskiwania Recovery. Przy ponownym starcie systemu uruchomi się aplikacja Team Win Recovery Project. Z jej głównego okna wybieramy opcję Install – rysunek 13.

Rysunek 13. Team Win Recovery Project

Na pendrive kopiujemy pobraną już wcześniej aplikację OpenGapps, wkładamy go do portu USB Raspberry Pi 4, klikamy na ikonę Select Storage i wybieramy „napęd” USB, a nim spakowany plik obrazu OpenGapps. Jeżeli wszystko jest gotowe to wybieramy ikonę Install Image – rysunek 14.

Rysunek 14. Wybranie skompresowanego pliku obrazu OpenGapps

Na rysunku 15 pokazano uruchomienie instalacji, a na rysunku 16 jej przebieg.

Rysunek 15. Uruchomienie instalacji OpenGapps
Rysunek 16. Przebieg instalacji OpenGapps

Po prawidłowym zainstalowaniu OpenGapps i ponownym uruchomieniu systemu ekran wygląda tak jak na rysunku 17.

Rysunek 17. Ekran po zainstalowaniu OpenGApps

Zainstalowany OpenGapps umożliwia korzystanie ze sklepu Google Store czyli pobieranie i instalowanie aplikacji przeznaczonych dla systemu Android – rysunek 18 i 19.

Rysunek 18. Okno aplikacji Google Store z aplikacjami działu Rozrywka
Rysunek 19. Okno instalacji Kodi z poziomu sklepu Google Store

Użytkowanie przystawki Smart TV

Głównym powodem wybrania systemu Android TV do budowy przystawki Smart TV była chęć odtwarzania płatnych serwisów VOD. Jednak okazało się, że nie udało się tego zrealizować, tak jak sobie to założyłem. Pierwszym sygnałem alarmowym był brak w Google Store aplikacji Netflix, czyli obecnie najpopularniejszej platformy VOD. Netflix oficjalnie wspiera szereg rozwiązań układowych, w tym telewizory i przystawki smart TV konkretnych producentów. Na tej liście nie ma jak się łatwo domyśleć Raspberry Pi 4 z Android TV. Próba zainstalowania i użycia najnowszej aplikacji (pobranej poza Google Store) kończy się komunikatem o braku kompatybilności z użytym sprzętem. Można w Internecie znaleźć starsze oficjalne aplikacje, które się zainstalują pod kontrolą Android TV i będą działały, ale odtwarzany materiał ma niską jakość SD. Jak wiemy Raspberry Pi 4 bez problemu może wyświetlać co najmniej materiał Full HD (1080p @50/60 Hz). Jakość jest ograniczana do SD po wykryciu, niekompatybilnego sprzętu nie wspieranego przez platformę o czym powiemy dokładniej za chwilę.

Kolejne niepowodzenie spotkało mnie przy próbie odtwarzania PrimeVideo Amazona. Tu aplikacja była dostępna w Google Store. Można ją było pobrać i zainstalować. Działa poprawnie do momentu wyboru odtwarzania wybranego materiału wideo. Po chwili wyświetlała się strona z informacją o błędzie i materiał nie był odtwarzany. Tak było z Androidem TV wersji 10 i 11 (wersja 9 nie była testowana). Co ciekawe aplikacja po wpisaniu kodu aktywacyjnego sygnalizowała, że dodaje się do zarejestrowanych urządzeń, ale nie pojawiała się na liście zarejestrowanych urządzeń na koncie użytkownika. Problem jest opisywany szeroko w Internecie. Można znaleźć szereg wpisów zirytowanych użytkowników, którzy mają opłacane konta, ale nie mogą sobie odtwarzać ulubionych treści na dowolnym sprzęcie. Przyczyną jak się można domyśleć są systemy zabezpieczeń przed ogólnie pojmowanym piractwem, czyli nieautoryzowanym dostępem do konta, czy nieuprawnionym kopiowaniem materiałów w wysokiej rozdzielczości. Dostawcy VOD stosują technologię DRM dostępną dla trzech głównych systemów operacyjnych: Windows DRM – Microsoft PlayReady, Google (linux) – Widevine i Apple – FairPlay.

DRM (Digital Rights Management) umożliwia dostawcy treści, zanim przekaże dane odbiorcy, zabezpieczanie ich przed odczytem przez zaszyfrowanie uniemożliwiające odtworzenie pierwotnej postaci pliku. Klucze odszyfrowania danych nie są ujawniane odbiorcy. Muszą być umieszczone w odpowiednio zaprojektowanej aplikacji odtwarzacza multimedialnego lub na platformie sprzętowej (np. komputerze PC z układami TPM (Trusted Platform Module). DRM jest dość skuteczny w zabezpieczaniu przed nieautoryzowanym dostępem dla przeciętnego użytkownika, ale... jest podatny na ataki prowadzone przez zdeterminowane osoby z większą wiedzą techniczną. Powszechnie znanymi przykładami ataków jest złamanie zabezpieczeń DRM stosowanych na nośnikach DVD, Blu-ray, czy HD DVD. Złamanie mechanizmów DRM umożliwia nielegalne kopiowanie zawartości czy tworzenie odtwarzaczy programowych open-source. Kopiowanie treści wysokiej jakości jest też możliwe przez stosowanie tak zwanej dziury analogowej. Używa się tu odtwarzacze smart TV z wyjściem analogowym. Taki sygnał analogowy wysokiej jakości można bez problemu przekonwertować na plik HD za pomocą odpowiedniego sprzętu i oprogramowania.

W przypadku naszego odtwarzacza jest stosowana właściwa dla Google technologia Widevine. Wiemy, że nie mamy specjalnego zamkniętego i certyfikowanego oprogramowania, ani sprzętowego rozwiązania TPM znanego z komputerów PC i z odtwarzania HD z platform VOD korzystających z DRM nic nie będzie. Widevine ma wbudowane trzy poziomy bezpieczeństwa: L1, L2 i L3. Najbezpieczniejszy jest L1. Zarówno operacje kryptograficzne, jak i operacje przetwarzania nośników odbywają się w zaufanym środowisku wykonawczym (TEE). Ten poziom umożliwia przesyłanie treści bez ograniczeń w tym w rozdzielczości 4k i technologii HDR. Dla naszego Raspberry Pi 4 z DRM programowym dostępny jest poziom L3 z ograniczoną rozdzielczością do 480p. Co ciekawe znalazłem z sieci informację, że DRM dla VOD został złamany i jest możliwe nielegalne odtwarzanie wszystkich VOD z DRM bez posiadania konta, o certyfikowanym sprzęcie nie wspominając. Jak widać DRM nie ogranicza zbytnio działań nielegalnych, ale może skutecznie utrudnić życie legalnym użytkownikom platform VOD.

Można też znaleźć sposoby na obejście (legalne) ograniczeń. Jednym z nich jest zainstalowanie w Android TV wersji mobilnych aplikacji na przykład dla PimeVideo. Jest z tym pewien kłopot, bo takie aplikacje nie są natywne dla Android TV i nie będą wyświetlane na liście aplikacji. Żeby je uruchamiać trzeba użyć kolejnej aplikacji Sideload Launcher. Ja spróbowałem, ale nie udało się zainstalować aplikacji mobilnej i dalej nic nie działało.

Jedyną aplikacją VOD z DRM, która działała w naszym Android TV jest aplikacja HBO GO i zastępująca ją aplikacja HBO Max. Po pobraniu, zainstalowaniu i zalogowaniu działa i odtwarza, ale raczej nie jest to HD. Ale jak już wspominałem tylko w wersji 10 systemu Android TV. Podobnie jest z serwisem YouTube. Działa też Kodi i najprawdopodobniej wiele innych aplikacji nie korzystających z technologii DRM.

Podsumowanie

Przeprowadzone testy wykazały, że Smart TV na Raspberry Pi 4 z systemem Android TV może być ciekawym i użytecznym rozwiązaniem pod warunkiem, że nie chcemy odtwarzać serwisów VOD z technologią DRM. W tym przypadku mimo posiadania legalnych opłacanych kont odtwarzanie albo nie jest możliwe, albo ograniczane do niskiej jakości SD. Zatem założenie, że będąc właścicielem legalnego konta będę mógł używać legalnych aplikacji do odtwarzania pobranych z oficjalnego sklepu Google Store okazało się zbyt optymistyczne. Same zasoby: dość wydajny procesor, spory RAM i sprzętowe kodeki wideo nie wystarczają. Niezbędny chyba byłby sprzętowy moduł kryptograficzny, coś w rodzaju TPM akceptowany przez DRM, tak by można było osiągnąć poziom L1 Widevine.

Oprogramowanie to jeden z aspektów powodzenia budowy odtwarzacza. Nie każdy potrzebuje płatnych platform VOD z DRM i urządzenie może być w takim przypadku całkiem funkcjonalne. Drugim aspektem, który możemy brać pod uwagę to finanse. Jeżeli będziemy zmuszeni kupić wszystkie elementy składowe: moduł, kartę SD, zasilacz, obudowę i inne drobne elementy to budowa może niezbyt się opłacać. Jak już wspominałem na rynku można znaleźć gotowe układy smart TV w podobnej cenie z lepiej lub gorzej dopracowanym oprogramowaniem i sterowaniem za pomocą pilota. Z drugiej strony, jeżeli mamy już komputerek z kartą na przykład z innego już nie aktualnego projektu, to realizacja odtwarzacza może być ciekawym doświadczeniem. Nie można nie docenić waloru edukacyjnego, czy satysfakcji z samodzielnej budowy urządzenia.

W obecnej chwili działającym rozwiązaniem smart TV jest zastosowanie starego 6-letniego laptopa z pamięcią RAM 4 GB i portem HDMI z układem TPM na płycie głównej i działającego pod kontrolą Windows 10. Wszystkie aplikacje działają bezproblemowo, a jeżeli nie ma aplikacji dla Windows 10, to zawsze można użyć przeglądarki Google Chrome, lub Firefox. Laptop uzupełniony o myszkę i klawiaturę Bluetooth może pełnić rolę centrum multimedialnego dla platform VOD i dla serwisów strumieniowych audio takich jak Spotify czy Tidal. W takim przypadku potrzebne jest urządzenie akceptujące przesyłanie strumienia audio przez złącze USB. Może to być przetwornik DAC z popularnym układem Amanero lub jego odpowiednikiem.

Tomasz Jabłoński, EP

Artykuł ukazał się w
Elektronika Praktyczna
czerwiec 2022

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów