www.eprace.edu.pl » webtv » Przegląd technologii » Media strumieniowe

Media strumieniowe

Strumieniowanie (ang. streaming) polega na przesyłaniu danych z serwera w taki sposób, że są one natychmiast prezentowane u klienta w odtwarzaczu. Nie występuje tu konieczność zapisu pliku z filmem na dysku użytkownika, tak jak się to dzieje w przypadku większości kontenerów. Strumieniowanie występuje w dwóch odmianach: przesyłanie obrazu na żywo lub na życzenie.

Wymagania techniczne

Mimo iż próby z odtwarzaniem strumieni podejmowano już w latach 80. ubiegłego stulecia, skuteczna realizacja tej techniki stała się możliwa dopiero po osiągnięciu pewnego etapu rozwoju technologii informatycznych. Umożliwiły to następujące warunki:

• procesory i szyny urządzeń nadążające z przetwarzaniem strumienia na bieżąco,

• systemy operacyjne będące w stanie tworzyć szybko reagujące i duże bufory danych,

• przyjęcie otwartych standardów sieci komputerowych – jak protokoły UDP i IP oraz HTML,

• osiągnięcie odpowiedniego poziomu przepustowości łącz internetowych.

Protokoły strumieniowe

W przypadku pobierania z internetu filmów w postaci dużych plików kontenerów optymalnym rozwiązaniem jest zastosowanie jednego z protokołów sieci peer2peer (np. BitTorrent).

Na potrzeby komunikacji między serwerem mediów strumieniowych a klientem został ustalony protokół RTSP (ang. Real Time Streaming Protocol). Jest to protokół stanowy, w którym klient po otwarciu sesji z serwerem, nie musi nawiązywać nowego połączenia za każdym razem, gdy chce przesłać lub odebrać dane. Przykładem przeciwieństwa takiej praktyki jest popularny bezstanowy protokół HTTP. Ponadto RTSP może jako warstwę transportu wykorzystywać nie tylko TCP, ale też RTP (ang. Real-time Transport Protocol) i UDP.

Firma Microsoft przez pewien okres promowała własny protokół MMS (ang. Microsoft Media Server), który był uproszczoną wersją RTSP. MMS został ostatecznie porzucony i uznany za przestarzały. Od roku 2008 Microsoft stosuje protokół RTSP.

Buforowanie

Rozpowszechnienie usługi WWW wykorzystującej protokół HTTP wymogło znalezienie innego rozwiązania przy odtwarzaniu filmów. Przed prezentacją obrazu następuje pobranie początkowej części filmu do pewnego momentu. Taki zabieg zwiększa płynność odtwarzania i zmniejsza ryzyko przerwy w prezentacji.

Firma Macromedia, wypuszczając na rynek produkt FlashVideo, określiła buforowanie angielskim terminem „Progressive Download”. To określenie jest nadal używane – często aby podkreślić, że jest to metoda alternatywna wobec strumieniowania.

Można sobie wyobrazić sytuację, w której brak buforowania będzie zaletą. Na przykład podczas rozmowy na żywo z korespondentami telewizyjnymi, między wypowiedziami obu stron da się zauważyć wydłużone pauzy. Tego typu opóźnienia są określane angielskim terminem lag i można je zaobserwować szczególnie w przypadku wideorozmów między kontynentami. Przy obsłudze telekonferencji, której wszyscy uczestnicy są połączeni bardzo szybką i niezawodną siecią, możemy uniknąć „lagów” dzięki rezygnacji z buforowania.

IPTV

IPTV to skrót od angielskiego Internet Protocol Television. Jest to bardzo pojemny termin, który często bywa nadużywany. Określa się nim nawet wszystkie systemy i usługi polegające na przesyłaniu obrazu telewizyjnego przez sieć komputerową z protokołem IP. Według takiej definicji nawet oglądanie filmu FlashVideo osadzonego na stronie WWW i przesyłanego zwykłym protokołem HTTP można określić jako IPTV. Bardziej praktyczne jest zawężenie tego pojęcia do rozwiązań stosujących protokoły sieciowe specjalnie zaprojektowane w celu przesyłania strumieni multimedialnych, na przykład RTP i RTSP. Tak sprecyzowany termin obejmuje usługi typu wideo na życzenie jak „Videostrada” Telekomunikacji Polskiej, a także telewizję w sieciach korporacyjnych lub w sieciach ekranów reklamowych.

W przypadku przesyłania obrazu telewizyjnego na żywo, bardzo ważnym pojęciem jest multicast. Ten tryb przesyłania pakietów (datagramów) jest wbudowany w protokół IP i okazuje się bardzo użyteczny w przypadku telewizyjnych transmisji na żywo. Dzięki niemu zwiększenie liczby odbiorców, którzy subskrybują określony kanał telewizyjny, nie powoduje większego obciążenia serwera ani zwiększonego zapotrzebowania na pasmo przepustowości.

W domyślnym trybie unicast każdy kolejny odbiorca zwiększa obciążenie serwera i sieci (patrz rysunek 10). W obecnie używanym protokole IPv4 zestawienie transmisji multicast jest skomplikowane i niewygodne. Ta sytuacja znacznie się poprawi, gdy przejdziemy na protokół IPv6, wtedy obsługa multicast będzie realizowana automatycznie przez routery sieciowe.

Rysunek 10: Różnice w działaniu transmisji unicast i multicast w sieci IP – źródło: [multicast]multicast

Wady strumieniowania wideo

Używając technik cyfrowych do nadawania telewizji, należy zwrócić uwagę na punkty, w których mogą być one słabsze od ich dotychczasowych analogowych odpowiedników. Nowe technologie niosą ze sobą nowe problemy, których istnienia dotychczas nie podejrzewaliśmy:

• wysokie wymagania co do szybkości łącza internetowego,

• jakość niższa od sygnału PAL (obecnie),

• „rwanie się” obrazu – opuszczanie klatek,

• artefakty kompresji: aureolki, latające kwadraty, przeplot (w przypadku analogowej kamery),

• kłopoty z synchronizacją strumieni audio i wideo – „rozjeżdżanie się” obrazu i dźwięku.



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.