Mateusz Brzostek | 14 czerwca 2018, 12:00

Moje doświadczenia z odtwarzaniem materiałów 4K i HDR z komputera osobistego

4K z peceta

Od dłuższego czasu chodzi mi po głowie pomysł wykorzystania niewielkiego, niskoenergetycznego komputera jako HTPC – maszyny do odtwarzania multimediów. Pewna nowość zainspirowała mnie do ponownego przyjrzenia się, co i jak da się obejrzeć na pececie w rozdzielczości 4K z HDR.

Wstęp

W informacjach o niedawnej aktualizacji sterowników Radeon Software (wersja 18.5.1) znalazł się interesujący mnie zapis:

Microsoft PlayReady 3.0 – Supported on Radeon RX 400 Series and Radeon RX 500 Series desktop graphics products.

Większość użytkowników peceta zapewne nigdy nie słyszała o technice PlayReady, podczas gdy za tą nazwą ukrywa się ważna funkcjonalność. Czekałem na tę funkcję w sterownikach AMD od kilku miesięcy – odkąd jeszcze przed wprowadzeniem procesorów Ryzen G (APU Raven Ridge) zapowiedziano, że będzie gotowa niedługo po nich.

Co można obejrzeć na pececie w 4K z HDR?

Te materiały to (w kolejności od dostępnych najłatwiej i dla największej rzeszy użytkowników):

  • filmy 4K na YouTube lub Vimeo – dostępne za darmo (niestety, gama dostępnych treści jest ograniczona głównie do krótkich demonstracyjnych filmów w rodzaju tych, które wyświetla się w showroomach i marketach, żeby zareklamować telewizory);
  • nagrany samodzielnie film (wiele nowych smartfonów i kamer sportowych rejestruje wideo w rozdzielczości 4K, choć rzadko w 60 kl./sek.);
  • filmy i seriale strumieniowane w usłudze Netflix (żeby móc oglądać wideo 4K i HDR, trzeba opłacać najdroższą wersję usługi, za 52 zł miesięcznie; o innych wymaganiach opowiem dalej);
  • film na płycie Blu-ray UHD (niestety, napędy Blu-ray UHD do pecetów są jeszcze słabo dostępne). Wrócę do tej kwestii niebawem, kiedy będę dysponował odpowiednim napędem.

A czego nie można obejrzeć na pececie w 4K? Filmów i seriali strumieniowanych w usługach Amazon Prime Video i HBO GO. Amazon pozwala na oglądanie wideo w rozdzielczości 4K lub z HDR wyłącznie przez aplikacje wbudowane w telewizory i niektóre stacjonarne odtwarzacze (pełna lista), a pecet ogranicza nas do Full HD. HBO GO w ogóle nie oferuje wysokich rozdzielczości. Niestety, prawdopodobnie nie uda się też obejrzeć mundialu w Rosji w 4K na pececie – tylko w telewizji.

Ograniczenia techniczne...

Żeby obejrzeć cokolwiek w 4K i/lub z HDR, trzeba przede wszystkim mieć odpowiedni wyświetlacz. To oczywiste i nie będę dalej analizował gamy dostępnych ekranów 4K. W swoich próbach wykorzystałem udostępniony redakcji PCLab.pl telewizor LG OLED55C7V-Z.

Urządzenie, które miałoby odtwarzać materiały w rozdzielczości 4K i z HDR, musi mieć odpowiednie cechy techniczne. Filmy w wysokiej rozdzielczości są w większości źródeł kodowane za pomocą jednego z dwóch kodeków: H.265 (HEVC) lub VP9. Ten pierwszy jest wykorzystywany na przykład w filmach na płytach Blu-ray UltraHD oraz w usługach Netflix i Amazon Prime Video. Ten drugi jest stosowany przez YouTube w filmach o rozdzielczości powyżej 1920 × 1080 i płynności powyżej 30 kl./sek. (niższe rozdzielczości są dostępne w formatach VP9 i H.264, a wyższe – wyłącznie w VP9).

Dekodowanie VP9 lub HEVC z wykorzystaniem procesora ogólnego przeznaczenia jest kosztowne obliczeniowo i energetycznie, dlatego w sprzęcie przystosowanym do wyświetlania 4K zwykle używa się sprzętowych dekoderów. Mają je prawie wszystkie nowoczesne smartfony, telewizory czy karty graficzne najnowszej generacji. W przypadku pecetów ważne jest nie tylko to, czy karta graficzna umie sprzętowo dekodować dany format w odpowiedniej rozdzielczości i przepływności, ale również to, czy oprogramowanie potrafi wykorzystać tę możliwość. Jak za chwilę pokażę, niedostatków programowych jest sporo.

 

...i ograniczenia nietechniczne

Nawet jeśli mój sprzęt spełnia wszystkie techniczne warunki konieczne do sprawnego odtwarzania filmów w wysokiej rozdzielczości, to nie znaczy, że ktoś zechce mi udostępnić takie filmy. Filmy i seriale w 4K są produkowane przez studia filmowe, a następnie rozprowadzane przez wytwórnie i/lub dystrybutorów. Dystrybutorami są np. Netflix, Warner Home Video i Galapagos (w przypadku mojego jedynego filmu na Blu-ray UHD). Studia filmowe pozwalają na rozprowadzanie udostępnionych przez siebie materiałów pod warunkiem, że będą one odpowiednio zabezpieczone przed kopiowaniem (częściej – przed odtwarzaniem przez uczciwych nabywców…). Nie są to ograniczenia techniczne, bo wynikają wyłącznie z umów pomiędzy wytwórniami a dystrybutorami oraz ograniczeń prawnych.

HDCP 2.2

Jednym z takich ograniczeń jest system zabezpieczeń HDCP 2.2 (High-Bandwidth Digital Copy Protection), stosowany w przytłaczającej większości komercyjnych filmów 4K. HDCP ogranicza dostęp do strumienia danych przepływającego ze źródła (urządzenia, które dekompresuje wideo) do wyświetlacza. Netflix, Amazon Prime Video, filmy na Blu-ray UHD – wszystkie te sposoby dystrybucji treści na pecety wymagają, żeby sterownik karty graficznej i urządzenie wyświetlające były zgodne z HDCP 2.2.

Jak wspomniałem, wymóg HDCP 2.2 wynika tylko z umów między dostawcami materiałów filmowych. Są od tego wyjątki: na przykład filmy z usługi Netflix można strumieniować w 4K z konsoli PlayStation 4 (slim), choć obsługuje ona tylko poprzedni standard zabezpieczeń HDCP, 1.4. Domyślamy się, że pozycja Sony w negocjacjach oraz to, że PS4 jest zamkniętym, zabezpieczonym innymi metodami systemem, przekonały Netfliksa i wszystkich, którzy dostarczają mu filmy, że nie grozi im nieprzeciętna skala piractwa.

System zabezpieczeń HDCP został opracowany przez firmę Digital Content Protection, której założycielem i właścicielem jest Intel. Producenci i sprzedawcy sprzętu zgodnego z HDCP i treści zabezpieczonych przez HDCP muszą kupić od Digital Content Protection odpowiednią licencję. Jednym z powodów, dla których firmy z branży rozrywkowej wspólnie korzystają z takiego zabezpieczenia, jest amerykańska ustawa DMCA. Z jednej strony pozwala ona użytkownikom na dość dowolne dysponowanie zakupionymi dobrami kultury. Z drugiej strony zakazuje rozpowszechniania urządzeń i oprogramowania łamiących zabezpieczenia – wolno to zrobić tylko samodzielnie i w tajemnicy. Nawet opublikowanie w internecie informacji o działaniu systemów zabezpieczeń może być potraktowane jako naruszanie własności intelektualnej twórców zabezpieczenia. Użycie HDCP może więc zapewnić wytwórcom treści bardzo korzystną pozycję w procesach sądowych o łamanie zabezpieczeń przed kopiowaniem.

Microsoft PlayReady 3.0

W pecetach z systemem Windows wykorzystywana jest również technika PlayReady 3.0 (patrz dokumentacja Microsoftu). Ta ogranicza dostęp do wspomnianego strumienia danych, zanim trafi pod kontrolę zabezpieczenia HDCP, a zarazem ma gwarantować, że podsystem HDCP 2.2 nie jest „kontrolowany” przez oprogramowanie mające omijać zabezpieczenia (np. maszynę wirtualną). Można powiedzieć, że PlayReady jest łącznikiem między zabezpieczeniami treści na płycie Blu-ray lub w strumieniu internetowym a zabezpieczeniem HDCP.

Do działania PlayReady potrzebna jest odpowiednia wersja Windows 10, kompatybilny sterownik GPU oraz jakiś sposób zapewnienia zaszyfrowanej, odciętej od reszty systemu enklawy dla oprogramowania odtwarzającego wideo: albo Intel Software Guard Extensions (w przypadku procesorów Intela), albo TrustZone (w przypadku procesorów AMD, zapewne również Qualcomma).