
Streaming, czyli kino, do którego film przyjeżdża w kawałkach
W kinie „Pod Buforem” Grzesiu kupił bilet na film w 4K. Usiadł w pierwszym rzędzie, rozłożył popcorn i zobaczył, że na ekranie aktor zamiera z otwartymi ustami. — PANIE PROJEKCJONISTO! CZY TO JEST FILM CZY FOTOGRAFIA?! — Film, panie Grzesiu. Tylko następny fragment jeszcze nie dojechał. 🎬🍿🤣
Film nie musi przyjechać cały
— To jak można wyświetlać film, którego jeszcze nie ma w kinie?! — zdziwił się Grzesiu.
— Dostajemy go stopniowo — odpowiedziała pani Agnieszka, kierowniczka kina. — Nie musimy czekać, aż przyjedzie cała ciężarówka taśmy.
Streaming polega na dostarczaniu dźwięku lub obrazu tak, aby odtwarzanie mogło zacząć się, zanim cały materiał zostanie pobrany. Odtwarzacz otrzymuje dane, przygotowuje je i odtwarza w odpowiednim tempie. Wiele współczesnych usług przesyła film w krótkich fragmentach, ale istnieją także inne sposoby strumieniowania.
— Czyli nie pobieram całego filmu przed pierwszą sceną?
— Zwykle nie.
— A potem film sam sobie rośnie?
— Dane docierają w miarę oglądania.
— To niech przyjeżdżają szybciej! Popcorn mi stygnie.
— Panie Grzesiu, popcorn już na początku był zimny.
Bufor, czyli zapas rolek na zapleczu
Przed następnym seansem Agnieszka położyła przy projektorze kilka rolek filmu.
— Po co ten zapas?
— Żebyśmy nie musieli zatrzymywać projekcji, gdy kurier spóźni się minutę.
Odtwarzacz wykorzystuje bufor: gromadzi część danych przed ich pokazaniem. Dzięki temu krótkie wahania dostarczania nie muszą od razu przerywać obrazu. Jeśli odtwarzanie zużywa dane szybciej, niż nowe fragmenty docierają, bufor może się opróżnić i następuje słynne kręcące się kółeczko.
— Czyli jak bufor pełny, to jesteśmy bezpieczni?
— Na pewien czas, nie na zawsze.
— A dlaczego czasami film startuje dopiero po chwili?
— Bo odtwarzacz zbiera początkowy zapas.
— To ja chcę bufor na cały sezon!
— Wtedy wrócilibyśmy do czekania na pobranie ogromnej ilości danych.
Grzesiu spojrzał na kółeczko ładowania.
— Najgorszy aktor w tym filmie. I ciągle wraca.
Płacę za 4K, dostaję ziemniaka
Nagle obraz stał się mniej ostry.
— CO TO ZA KARTOFLISKO NA EKRANIE?! — krzyknął Grzesiu.
— Odtwarzacz zmniejszył jakość, żeby projekcja mogła trwać — wyjaśniła Agnieszka.
W adaptacyjnym streamingu dostawca przygotowuje kilka wersji materiału, różniących się rozdzielczością i przepływnością. Odtwarzacz szacuje warunki sieciowe i stan bufora, a potem wybiera odpowiednie fragmenty. Jeśli transfer słabnie, może przejść na lżejszy wariant; gdy warunki się poprawią, wrócić do lepszego obrazu.
— Czyli samo 4K na telewizorze nie gwarantuje 4K przez cały film?
— Nie. Liczy się też dostępność odpowiedniej wersji, łącze, urządzenie i warunki usługi.
— A 1080p to już tragedia?
— Dla większości ludzi nie. Dla pana, najwyraźniej, koniec cywilizacji.
— Poproszę zwrot różnicy w pikselach!
Bitrate, kodek i ciężarówka z pikselami
Do kina przyjechały dwie ciężarówki. Jedna wiozła bardzo dużo danych, druga znacznie mniej.
— To oba te same filmy? — spytał Grzesiu.
— Ta sama historia, ale różne wersje zakodowanego obrazu.
Bitrate, czyli przepływność, mówi, ile danych przypada na jednostkę czasu. Wyższa przepływność często daje więcej możliwości zachowania szczegółów, ale nie jest jedyną miarą jakości. Kodeki takie jak H.264, H.265/HEVC czy AV1 kompresują obraz w różny sposób, dlatego dwa pliki o podobnej jakości mogą mieć różne rozmiary. Urządzenie musi też umieć dany kodek odtworzyć.
— Czyli można lepiej spakować tę samą scenę?
— Tak. Ale kodowanie kosztuje pracę procesorów, a odtwarzanie wymaga odpowiednich możliwości sprzętu.
— To czemu nie pakujecie każdego filmu do jednego kilobajta?
— Ponieważ jeszcze nie wynaleziono kodeka, który kompresuje rzeczywistość do życzeń Grzesia.
HLS i DASH, czyli rozkład jazdy kurierów
Agnieszka pokazała na ścianie plan dostaw.
— Tu są adresy kolejnych fragmentów filmu i informacje o dostępnych wersjach jakości.
— Czyli rozkład jazdy?
— Całkiem dobre porównanie.
Popularne metody dostarczania adaptacyjnego obrazu to HLS i MPEG-DASH. Odtwarzacz najpierw pobiera opis strumienia — playlistę lub manifest — a następnie żąda odpowiednich segmentów. Zwykle odbywa się to przez HTTP lub HTTPS, dzięki czemu mogą pomagać zwykłe serwery WWW i infrastruktura CDN.
— Czyli film jeździ tą samą drogą co strony internetowe?
— W wielu rozwiązaniach tak.
— A gdy chcę przeskoczyć do końca?
— Odtwarzacz może pobrać fragmenty z wybranego miejsca, jeśli materiał i serwer na to pozwalają.
— Doskonale. To poproszę zakończenie bez początku.
— Pan kupił bilet na thriller, a nie streszczenie dla niecierpliwych.
CDN rozstawia kina bliżej widzów
Kurier przyjechał zdyszany z odległej centrali.
— Po co wiezie pan każdą rolkę z drugiego końca świata?! — spytał Grzesiu.
— Już nie zawsze — odpowiedziała Agnieszka. — Część popularnych fragmentów przechowujemy bliżej widzów.
CDN może dostarczać segmenty filmu z rozproszonych punktów, dzięki czemu odciąża serwery źródłowe i często skraca drogę danych. Nie jest to jednak gwarancja idealnej projekcji: liczą się także łącze użytkownika, obciążenie serwerów, wydajność aplikacji i urządzenia.
— Czyli pizza z lokalnego oddziału, tylko zamiast pizzy scena pościgu?
— Dokładnie. I proszę nie próbować zjadać segmentów.
— A jak źle trafią do mnie pakiety?
— Odtwarzacz może nadrabiać, buforować i zmieniać jakość, ale cudów nie ma.
— Znów brak cudów. Cały ten Internet jest słabo reklamowany.
Na żywo, czyli finał jeszcze się nie wydarzył
Do sali wszedł komentator sportowy.
— Za chwilę transmisja meczu na żywo!
— To proszę przewinąć do wyniku końcowego — zażądał Grzesiu.
— Mecz jeszcze trwa.
— TO DLACZEGO NIE MACIE CAŁEGO FILMU?!
VOD oznacza oglądanie materiału już przygotowanego, na żądanie. Przy streamingu na żywo obraz powstaje w trakcie transmisji, jest kodowany, dostarczany i odtwarzany z pewnym opóźnieniem. Każdy etap dodaje czas, więc widz może zobaczyć bramkę później niż ktoś na stadionie lub osoba korzystająca z innej usługi.
— A mogę mieć transmisję bez żadnego opóźnienia?
— W praktyce całkowitego zera nie ma. Można ograniczać opóźnienie różnymi technikami, ale zwykle wymaga to kompromisów związanych z buforem i odpornością na zakłócenia.
— Czyli sąsiad może krzyknąć „GOOOL!”, zanim zobaczę strzał?
— Tak.
— W takim razie proszę go wyciszyć.
— To jest sąsiad, nie powiadomienie w komunikatorze.
Szybki Internet i zatrzymany film
Grzesiu pokazał wynik testu prędkości.
— PIĘĆSET MEGABITÓW! A film stanął!
— Średnia prędkość w jednym teście nie mówi wszystkiego o konkretnej trasie do serwera — zauważyła Agnieszka.
Streaming potrzebuje wystarczającego transferu przez dłuższy czas. Znaczenie mają też chwilowe spadki przepustowości, niestabilne Wi-Fi, przeciążenie urządzenia, błędy aplikacji i dostępność zasobów po stronie dostawcy. Mały bufor oraz nagłe wahania mogą zatrzymać film nawet wtedy, gdy łącze teoretycznie jest bardzo szybkie.
— To mam kupić gigabit?
— Najpierw sprawdzimy, czy problem naprawdę wynika z braku przepustowości.
— A jak nie?
— Wtedy nie trzeba kupować szerszej autostrady, skoro przyczyną jest zamknięty zjazd.
— Czemu diagnostyka zawsze psuje mi taki piękny plan zakupów?
A jak zabiorę film offline?
Grzesiu zapytał w kasie o pobieranie filmu.
— Chcę obejrzeć go w pociągu bez Internetu.
— Niektóre usługi pozwalają pobrać materiał do aplikacji, z ograniczeniami dotyczącymi urządzenia, terminu i licencji.
Streaming nie oznacza, że każdą treść można dowolnie zapisać i zachować na zawsze. Usługi mogą stosować DRM, czyli mechanizmy kontroli dostępu do chronionych materiałów. Nawet pobrany film może wymagać okresowego potwierdzania uprawnień lub przestać być dostępny po wygaśnięciu licencji.
— Czyli zapłaciłem i nadal nie mam pliku na własność?
— Zależy od warunków usługi. Często kupuje pan dostęp, nie fizyczną kopię filmu.
— A popcorn?
— Popcorn jest pana. Dopóki go pan nie zje.
— Wreszcie coś z jasną licencją.
Raport z ostatniego seansu
Na ekranie pojawiły się napisy końcowe.
— I jak? — spytała Agnieszka.
— Film świetny. Tylko raz zobaczyłem bufor, dwa razy ziemniaka i trzy razy zdenerwowałem się na sąsiada.
— To wyjątkowo spokojny seans.
Streaming dostarcza dźwięk i obraz w miarę odtwarzania. Bufor wygładza chwilowe opóźnienia, adaptacyjna jakość pomaga reagować na warunki, a segmenty, kodeki i CDN ułatwiają sprawne dostarczanie treści. Transmisja na żywo dodatkowo mierzy się z opóźnieniem między wydarzeniem a widzem.
— Czyli wszystko działa?
— Dzisiaj tak.
— To włączmy następny odcinek.
— Jest dostępny jutro.
— JAK TO JUTRO?! PRZECIEŻ MAM SZYBKI INTERNET!
— Panie Grzesiu, Internet jeszcze nie przewozi przyszłości.
Dyrekcja kina „Pod Buforem” informuje: wszystkie fragmenty filmu ostatecznie dojechały, a projektor nie ucierpiał podczas próby ręcznego dolania megabitów. Grzesiu złożył reklamację na obraz 4K, który przez chwilę wyglądał jak ziemniak. Reklamację odrzucono: „Ziemniak był elementem scenografii”. Sąsiad nadal krzyczy „GOOOL!” przed transmisją. 🎬🍿🤣❤️
