Media w strumieniu

Powszechna dostępność komputerów o relatywnie dużej mocy obliczeniowej oraz powoli, lecz stale wzrastająca prędkość komunikacji w globalnej Sieci pozwoliły na urzeczywistnienie nierealnych niegdyś planów wprowadzenia do Internetu mediów strumieniowych.

Powszechna dostępność komputerów o relatywnie dużej mocy obliczeniowej oraz powoli, lecz stale wzrastająca prędkość komunikacji w globalnej Sieci pozwoliły na urzeczywistnienie nierealnych niegdyś planów wprowadzenia do Internetu mediów strumieniowych.

Dynamiczny rozwój Internetu dostarczył entuzjastom globalnej Sieci niejedną niespodziankę - obecnie ujawnia się zaskakujący trend: radio i telewizja migrują w kierunku Internetu. Już od jakiegoś czasu w Sieci dostępne są stacje radiowe, a standardem stało się prezentowanie przez poważniejsze serwisy informacyjne wybranych informacji o wydarzeniach na świecie w formie strumieni audio i wideo, podobnie jak internetowe transmisje na żywo z koncertów i ważnych uroczystości.

Rysunek jest schematyczny, istnieje bowiem możliwość, że w czasie transmisji strumieniowej dane będą buforowane na twardym dysku. Zasadnicza różnica polega na tym, że w każdym przypadku stanowią tylko małą część odtwarzanego pliku audio/wideo.

Rysunek jest schematyczny, istnieje bowiem możliwość, że w czasie transmisji strumieniowej dane będą buforowane na twardym dysku. Zasadnicza różnica polega na tym, że w każdym przypadku stanowią tylko małą część odtwarzanego pliku audio/wideo.

Przewiduje się, że strony oferujące przekaz w postaci tekstu i statycznych obrazów będą w przyszłości raczej rzadko spotykane. Po prostu - dynamiczny przekaz jest bardziej nośny, poza tym umożliwia lepsze przyswajanie informacji. Na razie stosunkowo niewiele stron internetowych może się pochwalić możliwością przekazu mediów strumieniowych w dowolnej postaci, na przykład wideoklipów czy internetowego radia. Badania przeprowadzone w Stanach Zjednoczonych przez Jupiter Communications wykazały, że witryny oferujące przekaz strumieniowy stanowią około 11 procent wszystkich stron w Sieci. Jednakże przewiduje się, że w ciągu najbliższych dwóch lat będzie ich około 90 procent.

Na czym to polega?

Odbieranie przekazu strumieniowego w Internecie można porównać do słuchania radia lub oglądania telewizji - aby obejrzeć film, nie musisz nagrywać go uprzednio na kasetę wideo. W przypadku internetowych przekazów strumieniowych dane docierające z Sieci do komputera są kierowane bezpośrednio do urządzeń - na przykład kart graficznych i muzycznych - odpowiedzialnych za ich przetwarzanie i zaraz po wyświetleniu usuwane. Zalety tego rozwiązania są bezsprzeczne. Po pierwsze, może się okazać, że transmisja audio/wideo w pewnym momencie będzie dla użytkownika nieinteresująca, wtedy ją po prostu przerwie, skracając czas połączenia z Internetem. Po drugie, transmisja strumieniowa poza możliwością odtwarzania "w locie" plików audio/wideo pozwala na przyciągnięcie uwagi internauty. Natomiast pobieranie dużego pliku z sieci bez możliwości jego odtwarzania "na żywo" jest frustrujące i szybko się nudzi, zwłaszcza że właściwie do końca nie wiadomo, co się pobiera.

Media strumieniowe stały się już podstawą nowego typu usług. Na przykład firma POPcast wspólnie z British Telecom oferuje swym klientom BTopenworld - strumieniowe przesyłanie plików wideo. Można obejrzeć materiał wideo umieszczony w Sieci przez kogoś bliskiego i oszczędzić sobie trudów podróży, której głównym celem miało być zobaczenie filmu z rodzinnej uroczystości. Propozycja skierowana jest nie tylko do osób korzystających z łączy ADSL, lecz także do właścicieli zwykłych modemów analogowych. Inne możliwości wykorzystania mediów strumieniowych to chociażby dalszy rozwój internetowych rozgłośni radiowych. Już wkrótce, dzięki odpowiedniemu oprogramowaniu, internauta będzie mógł za pomocą przeglądarki zintegrowanej z klientem mediów strumieniowych podzielić się z prowadzącym audycję swoją opinią o wysłuchanym utworze. Ponadto, jeśli zechce kupić płytę, na której ten utwór się znajduje, wystarczy, że wykona zaledwie kilka kliknięć!

Staruszek HTTP

Specyficzne własności przekazu strumieniowego wymuszają szczególne warunki transmisji danych. Jeśli pobierasz plik jakiegoś programu z Sieci na dysk lokalny, nie jest ważne, w jakiej kolejności przyjdą jego poszczególne elementy. W przekazie strumieniowym ta kolejność ma kluczowe znaczenie. Aby odtwarzanie na przykład pliku audio było płynne, od początku do końca transmisji musi zostać zachowany ścisły porządek wysyłania następujących po sobie elementów pliku oraz odpowiednie buforowanie przesyłanych danych.

W tym celu odtwarzacz i serwer muszą się komunikować ze sobą, ustalając, do którego momentu doszło odtwarzanie, aby przeglądarka zdążyła zgromadzić porcję danych pozwalającą na płynne odtwarzanie w momentach, gdy drastycznie spada przepustowość w Sieci. Zwykły protokół HTTP nie przewiduje, oczywiście, takiej komunikacji. Paradoksalnie, poważnym ograniczeniem tego protokołu w przypadku transmisji strumieniowych jest jego... bezawaryjność. Twórcy HTTP, opierając go w części na TCP, zaprojektowali protokół konsekwentnie dążący do odzyskania pakietów utraconych w czasie transmisji. Natomiast podczas odtwarzania pliku audio/wideo lepiej zdecydować się na chwilowe zakłócenia spowodowane utratą pakietu danych niż na zupełną ciszę w słuchawkach i wstrzymanie transmisji. A tak by się stało, gdyby po wykryciu utraty pakietu odtwarzacz, przed wyświetleniem kolejnej klatki, wysłał prośbę do serwera o ponowne przysłanie zagubionej porcji informacji i czekał na jej otrzymanie. Nowe możliwości pojawiły się dopiero wraz z opracowaniem protokołów specjalnie na potrzeby mediów strumieniowych: UDP (User Datagram Protocol), a następnie RTSP (Real Time Streaming Protocol) i RTP (Real Time Protocol).

HTTP streaming

Myli się ten, kto uważa, że strumieniowe udostępnianie plików muzycznych czy obrazu wideo może się odbywać jedynie za pomocą wyspecjalizowanych serwerów. W trybie naturalnego ewoluowania jeszcze przed pojawieniem się takich produktów, jak RealServer czy QuickTime Server, powstała technologia znana jako HTTP streaming. Nazywa się tak, bo do przesyłania grafiki i tekstu wykorzystuje ten sam protokół (Hyper Text Transfer Protocol) co wszystkie serwery WWW. Jej zaletą są niskie koszty - nie trzeba kupować drogiego oprogramowania - lecz ma też poważne wady. Nie poleca się stosowania jej tam, gdzie może być znaczne nasilenie ruchu (duża liczba pobieranych strumieni), bo jest mało wydajna i nie sprawdza się dobrze w takich warunkach.

Kolejne wady są spowodowane tym, że protokół HTTP nie był, oczywiście, projektowany z myślą o mediach strumieniowych. Przy użyciu tej metody niemożliwe jest wykrycie prędkości, z jaką użytkownik nawiązał połączenie, a co za tym idzie, płynne dostosowywanie jakości wysyłanych mediów do chwilowych skoków prędkości. W rezultacie trzeba umieścić na stronie kilka wersji tego samego pliku dla użytkowników dysponujących różnymi prędkościami połączenia z Internetem, na przykład 36,6 kb/s i 300 kb/s. Zawartość merytoryczna plików jest ta sama, różnią się natomiast jakością dźwięku i obrazu. To rozwiązanie wymaga od użytkownika znajomości rodzaju swojego połączenia z Internetem i osiąganej średniej prędkości transmisji danych, co obniża jego funkcjonalność. Poza tym, ustalając sztywną prędkość transmisji, traci się możliwość odbioru strumienia lepszej jakości w momentach luzu w Sieci, gdy efektywna prędkość jest większa od deklarowanej przez użytkownika.

Istotne ograniczenie to brak możliwości przeprowadzania transmisji na żywo, bo wszystkie przekazy muszą być zbuforowane w postaci plików przed udostępnieniem ich w Sieci. Do zalet należy łatwość implementacji - administrator strony internetowej, która ma oferować transmisje w trybie HTTP streaming, musi się tylko upewnić, że serwer, w którym jest ona realizowana, rozpoznaje pliki z rozszerzeniami adekwatnymi do użytej technologii, na przykład RM itd. Niewątpliwie HTTP streaming można polecić wszystkim mniej zamożnym firmom lub osobom, które mają własne strony internetowe i chcą oferować przekaz strumieniowy.

Dzięki UDP i RTP można skierować do internauty prawdziwy strumień danych, gdyż ważne jest nie tyle przekazanie wszystkich informacji, co ciągłość ich nadsyłania przez serwer. RTSP opisuje zaś sposób, w jaki komunikują się ze sobą serwer i klient, aby przekazać na przykład prośbę o chwilowe zatrzymanie czy przewinięcie oglądanego filmu. Wykorzystanie tych protokołów wymaga, niestety, instalacji serwera strumieniowego, na przykład QuickTime Server, RealServer czy Windows Media Server.


Zobacz również