Mechanizmy strumieniowania materiałów wideo w Internecie
Transkrypt
Mechanizmy strumieniowania materiałów wideo w Internecie
TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05 DOMINIK SANKOWSKI*,**, WŁODZIMIERZ MOSOROW*, ANDRIY ZHMURKEVYCH*** MECHANIZMY STRUMIENIOWANIA MATERIAŁÓW WIDEO W INTERNECIE MECHANISMS OF VIDEO STREAMING IN THE INTERNET STRESZCZENIE: Artykuł przedstawia mechanizmy strumieniowania danych multimedialnych obecnie stosowane w Internecie. Zawiera również informacje o stosowanych protokołach transmisji multimedialnych, wykorzystywanych aplikacjach i serwerach strumieniowych. ABSTRACT: The paper presents the multimedia data streaming processes using nowadays in the Internet. This article contains also information about data streaming protocols, applications and streaming servers. 1. Wstęp Olbrzymi dynamizm rozwoju współczesnego świata, powoduje szybko rosnące potrzeby przekazu coraz większej ilości danych, m.in. multimedialnych (Skarbek, 1998). Takie wymagania skutkują tym, że providerzy zaczęli prześcigać się w szybkości oferowanych łącz internetowych. Wzrost przepływności Internetu, spowodował wzrost przekazywanych danych, co umożliwiło przesyłanie plików o dużych rozmiarach. Takimi plikami są filmy video czy utwory muzyczne, kompresowane niemal bezstratnie. Wymagania użytkowników poszły jednak dalej. W sytuacji, gdy oczekiwanie na ściągnięcie pliku filmowego z Internetu stało się bardzo uciążliwe, zadano sobie pytanie czy nie jest możliwa transmisja na żywo (ang. live). Nie trzeba by było ściągać całego pliku z sieci po to, aby rozpocząć oglądanie. Wystarczyłoby jedynie połączyć się z serwerem dystrybuującym i zgłosić żądanie o transmisję danych. Rozwiązanie to ma tę zaletę, że nie wymaga gromadzenia danych na lokalnym dysku, umożliwiając rozpoczęcie i zakończenie transmisji filmu w dowolnej chwili. Pierwszym problemem, który narzuca się od razu, jest zabezpieczenie prędkości danych, która jest niezbędna do transmisji filmu o dobrej jakości. Zbyt mała przepustowość łączy, w przypadku użytkownika, korzystającego z łącza modemowego (jedynie 56 kbit/sek), ogranicza możliwości pełnego wykorzystania multimediów w Internecie. * ** *** Katedra Informatyki Stosowanej Politechniki Łódzkiej Społeczna Wyższa Szkoła Przedsiębiorczości i Zarządzania, Łódź Państwowa Akademia Finansowa, Lwów, Ukraina 202 TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05 2. Pliki wideo w sieci Internet Podstawowym pojęciem transmisji na "żywo" jest pojęcie strumieniowania (ang. streaming). Strumieniowaniem jest zdolność przesyłania danych bezpośrednio z serwera do lokalnego komputera i rozpoczęcie wykorzystywania danych od momentu ich otrzymania (Loguinov & Radha, 2001). W przypadku przesyłania sygnału wideo, można zacząć odtwarzanie sekwencji bez konieczności oczekiwania na ściągnięcie całego pliku z serwera do lokalnego komputera. Metoda ta wymaga względnie krótkiego okresu oczekiwania, jedynie kilkusekundowego, zanim rozpocznie się odtwarzanie wideo. Live web broadcasting lub Live webcasting to terminy określające emisję sygnału video na żywo w sieci Internet z komputera do serwera, w jednym z obsługiwanych przez siec Internet formatów strumieniowych (Wierzbicki, 2000). Użytkownicy sieci Internet, odwiedzający to samo miejsce, na tym samym serwerze, w tym samym czasie, mogą jednocześnie oglądać emitowane wideo. Najbardziej popularnymi formatami plików strumieniowego wideo w Internecie są obecnie RealMedia, Microsoft ASF/WMA oraz QuickTime. Pliki QuickTime, MPEG-1 i AVI są również powszechnie dostępnymi plikami, które można ściągać z sieci Internet na lokalny komputer i dopiero potem odtwarzać. W ciągu ostatnich kilku lat, wydajność tych formatów znacznie wzrosła i obecnie mogą one zapewnić jakość obrazu wideo w pełnej rozdzielczości cyfrowego sygnału wideo, który może być przechowywany w plikach komputerowych na dyskach twardych (w przeciwieństwie do analogowego obrazu zapisanego na taśmie magnetycznej). Jednak w Internecie nadal korzysta się z plików wideo o małej rozdzielczości, ze względu na ograniczenia wydajności przesyłu danych przez typowe połączenie internetowe. Nowe wersje formatów plików wideo firm RealNetworks (RM), Microsoft (WMV, WMA) oraz Apple (pliki QuickTime MOV z „podpowiedziami” (Hinting)) określane są mianem formatów plików „prawdziwego strumieniowania” (ang. true streaming) (Radha i inni, 1999). Owe pliki wideo można umieścić na wyspecjalizowanym serwerze strumieniowym (takim, jak RealServer), a następnie odtwarzać przy pomocy technologii „prawdziwego strumieniowania”. Warto zauważyć, że te same pliki strumieniowe mogą być również odtwarzane z twardego dysku, CD lub serwera HTML przy wykorzystaniu ściągania progresywnego (lub strumieniowania HTML). Podczas tworzenia pliku w formacie RealMedia (RM) firmy RealNetworks lub pliku w formacie Windows Media Format (WMV), nie trzeba włączać żadnych specjalnych ustawień, aby plik mógł być przesyłany strumieniowo przez Internet. Inaczej jest z plikami w formacie QuickTime. Plik ten należy uprzednio przygotować do celów nadawania strumieniowego poprzez włączenie dodatkowej opcji. Przy tworzeniu pliku wideo strumieniowego istnieje możliwość wyboru całej gamy ustawień pozwalających na dostosowanie prędkości transmisji pliku do konkretnych szybkości połączeń internetowych. Technologie takie, jak SureStream (RealNetworks), Inteligent Streaming (strumieniowanie inteligentne, Microsoft) lub Hinting (podpowiedzi, Apple), umożliwiają plikowi strumieniowemu automatyczne dostosowanie się do odpowiedniej prędkości przesyłu danych podczas odtwarzania. 203 TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05 3. Techniki kompresji Kompresja służy do zmniejszenia objętości przesyłanych danych wideo w celu dostosowania się do przepustowości łącz. W wyniku tego procesu możliwe jest przesyłanie danych medialnych, ponieważ czas ich przesyłania jest zdecydowanie mniejszy. Kompresja obrazów jest procesem trudnym, gdyż każdy piksel jest zapamiętywany za pomocą określonej liczby bitów, które są przemieszane na danym obrazku, w zależności od jego kolorystyki. Każdy piksel może mieć inny kolor. Trudno jest uporządkować tak wymieszane barwy. Aby dany obraz mógł być w przyszłości dokładnie odwzorowany, trzeba zapamiętać pewne minimum informacji. Oznacza to kompresję bez strat danych (ang. lossless). Dużo lepsze wyniki osiąga się w przypadku zrezygnowania z części informacji (ang. lossy). Jest to możliwe dlatego, że drobne różnice w odcieniach postrzegane są identycznie, jak leżące bardzo blisko siebie punkty o różnych barwach (oko uśrednia dla nich kolory). Narząd wzroku nie nadąża również za szybko zmieniającymi się obrazami (oko uśrednia pojawiające się kolejne klatki). Początkowo transmisje wideo prowadzone były w formie analogowej, jednak już wtedy powstały standardy, które są stosowane aż do dnia dzisiejszego. Mowa o stosowanym w Europie systemie PAL oraz o jego konkurencie -NTSC - stosowanym głównie w Japonii i USA. Standardy te określają rozmiar obrazu a także częstotliwość prezentowania poszczególnych klatek, które to wynoszą odpowiednio 704x576/50 Hz dla PAL oraz 640x480/60Hz dla NTSC. W tab. 1 przedstawione dane pokazujące jak olbrzymi jest strumień informacji niezbędny do zakodowania wideo o podanych parametrach. Dane przedstawione w tab.1 zakładają 24 bitową głębię kolorów. Jak widać, transmisja video w pełni zgodna ze standardem PAL wymaga ponad 200 Mb/s, którego uzyskanie nawet przy dzisiejszym rozwoju technologii komputerowych nie jest zadaniem łatwym do realizacji. Zmniejszenie rozmiaru oczywiście powoduje znaczną redukcję wymaganej przepływności, jednak w dalszym ciągu wartość ta pozostaje zbyt duża. Tablica 1. Oszacowanie wielkości surowego strumienia PAL Wielkość klatki, PAL Wymagana przepustowość przy 25 kl/sek, MBps QSIF: 176x144 14.85 SIF: 352x288 59.4 Basic: 704x576 237.6 Z pomocą przychodzą nam opracowane specjalnie dla potrzeb kompresji algorytmy, pozwalające zredukować wymagane pasmo kilka, kilkanaście, a czasami nawet kilkadziesiąt razy. W chwili obecnej istnieje kilka standardów kompresji wideo stosowanej dla plików wideo strumieniowego w Internecie. Technologie takie, jak SureStream (RealNetworks), Inteligent Streaming (strumieniowanie inteligentne, Microsoft) lub 204 TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05 Hinting (podpowiedzi, Apple), umożliwiają plikowi strumieniowemu automatyczne dostosowanie się do odpowiedniej prędkości przesyłu danych podczas odtwarzania. Pliki o wielu prędkościach strumieniowych (lub pliki o wielu prędkościach bitowych) można ściągać ze zwykłych serwerów sieci, jednak aby wykorzystać funkcję przesyłu wielu prędkości bitowych, należy umieścić je na dedykowanym serwerze strumieniowym. 4. Protokoły Strumieniowe Protokoły strumieniowania stosowane są w celu dostarczania danych do odbiorcy w czasie rzeczywistym, tak aby nie musiał on czekać na zakończenie transmisji pliku i mógł korzystać z danych natychmiast po odebraniu kolejnej ich porcji. Generalnie protokoły strumieniowania dzieli się na dwie współdziałające ze sobą grupy: protokoły odpowiedzialne za dostarczanie danych oraz protokoły kontrolne transmisji. Strumieniowanie multimediów zazwyczaj obsługiwane jest przez protokoły wchodzące w skład rodziny Real-Time Protocol (RTP/RTCP), przy współdziałaniu z protokołem warstwy aplikacji RTSP. Protokół http Jest zwykłym procesem przesyłania plików. Plik jest kopiowany do komputera użytkownika z największą możliwą prędkością i zaczyna być odtwarzany po zbuforowaniu na twardym dysku lokalnego komputera ustalonej ilości danych. Ten sam plik jest wysyłany do wszystkich użytkowników. Po całkowitym załadowaniu pliku przez użytkownika, następuje odtwarzanie z określoną przez odtwarzacz np. RealPlayer lub Windows Media Player prędkością bitową. O prędkości odtwarzania decydują ustawienia odtwarzacza na lokalnym komputerze użytkownika. Dzieje się tak, dlatego, że plik w rzeczywistości jest odtwarzany z dysku twardego użytkownika, a nie ze zdalnego serwera. Real Time Streaming Protocol (RTSP) RTSP jest protokołem warstwy aplikacji służącym do kontrolowania dostarczania danych w czasie rzeczywistym. Dostarcza on struktur umożliwiających zamawianie i kontrolę przepływu strumieni audio i wideo, zarówno pochodzących z przygotowanych wcześniej zasobów jak i emitowanych w czasie rzeczywistym. Ważnym jest zrozumienie, że RTSP sam z siebie nie odpowiada za dostarczanie strumienia, to zadanie wykonywane jest w oparciu o UDP, TCP, RTP lub inny odpowiedni protokół. RTSP służy do ustalenia odpowiednich parametrów dla wspomnianych protokołów. Z jego wykorzystaniem aplikacja odbiorcy i serwer, mogą negocjować typ protokołu transportowego, porty, szybkość transmisji, czy też typ danych do przekazania. Real Time Protocol / Real Time Control Protocol (RTP) Protokół RTP jest uniwersalnym, elastycznym, skalowanym rozwiązaniem dla potrzeb transmisji strumieniowych czasu rzeczywistego, doskonale sprawdzającym się w zakresie od kilkunastu kbit/s, aż do dziesiątek Mbit/s. Może być stosowany zarówno w transmisjach typu unicast (jeden do jeden) jak i multicast (jeden do wielu), jego podstawową cechą jest 205 TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05 niezależność od technologii transportowej i używanego medium. Typowa, stosowana powszechnie implementacja działa w oparciu o UDP/IP. Istnieją także inne implementacje (np. dla sieci działających w oparciu o ATM). Dla wygody, transmisje rzeczywiste zostają zazwyczaj rozbite na dwa współdziałające ze sobą kanały: pierwszy z nich odpowiada za dostarczanie danych i działa w oparciu o RTP, drugi natomiast to działający w oparciu o stowarzyszony z RTP protokół kontrolny RTCP. Protokół ten odpowiada za przekazywanie informacji kontrolnych i raportów dotyczących połączenia. 5. Serwery strumieniowe Istnieją dwa typy serwerów, które są wykorzystywane do potrzeb technologii strumieniowej wideo: -serwer strumieniowy, -zwykły serwer sieciowy. Dostarczanie wideo z serwera strumieniowego polega na transferowaniu pakietów danych, z pewną szybkością odpowiadającą szybkości połączenia użytkownika. Na początku transmisji serwer strumieniowy wysyła zapytanie do komputera użytkownika o określenie najszybszego możliwego połączenia dla danego komputera. Następnie serwer rozpoczyna transmisję wideo w pakietach danych, które są transferowane w odpowiednim czasie tak, aby zapewnić odbiór sygnału wideo w sposób ciągły bez przekraczania wartości krytycznej szybkości połączenia komputera widza, poniżej której, obraz wideo staje się przerywany. Nawet przy użyciu serwera strumieniowego, część danych musi być buforowana przed rozpoczęciem odtwarzania. Pozwala to, na odtwarzanie sygnału wideo w sposób ciągły, także wówczas gdy pojawią się zakłócenia w transmisji sygnałów i spada dostępna prędkość przesyłu danych. Istnieją trzy sposoby dostarczania widzowi danych z serwera strumieniowego. Unicast Protokół między dwoma pojedynczymi stacjami, w ramach, którego jedna kopia pliku wideo jest wysyłana do każdego widza. Za każdym razem, gdy nowy użytkownik rozpoczyna oglądanie pliku wideo, na serwerze generowany jest nowy strumień danych i wysyłany do widza. Tę metodę wykorzystuje się, jeśli plik wideo jest przechowywany na serwerze strumieniowym. Metoda ta nazywana jest również „strumieniowaniem na żądanie” (on-demand streaming). Multicast Protokół między pojedynczą stacją serwera, a wieloma stacjami użytkowników, w ramach, którego wysyłany jest jeden strumień danych, ale sygnał wideo może oglądać wielu użytkowników. Metodę tę wykorzystuje się przy nadawaniu określonej audycji sieciowej do Internetu. Reflected Multicast Stosując Reflected Multicast serwer pośredniczący otrzymuje dane w transmisji UNICAST lub MULTICAST i następnie nadaje dalej do wielu widzów. 206 TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05 Typowym przykładem dostarczającym strumienie mutimedialne jest rozpowszechniana przez Apple Computers na zasadach Open Source aplikacja Darwin Streaming Server (DSS) (Ecker , 2003). Dostępność źródeł serwera, stawia przed jego użytkownikiem nieograniczone możliwości, w zakresie dopasowywania oprogramowania do swoich wymagań. Ponadto dostępne są wersje binarne dla następujących systemów operacyjnych: Mac OS X, Linux, Solaris 8, Windows 2000, Windows NT. DSS w wersji 4, umożliwia w czasie rzeczywistym, dostarczanie strumieni multimedialnych poprzez Internet. Dostępne są dwa tryby korzystania z serwera. Odbiorca może dołączyć się do transmisji multimedialnej pochodzącej z wcześniej przygotowanego materiału bądź strumienia tworzonego w czasie rzeczywistym albo też, może zażądać od serwera określonych, przygotowanych wcześniej danych multimedialnych. Zaleta strumieniowania jest taka, że użytkownik zobaczy pożądaną treść natychmiast, bez konieczności oczekiwania na sprowadzenie całego pliku z serwera. W chwili obecnej dostępna wersja 4.0 serwera umożliwia między innymi: • strumieniowanie MPEG-4 (pliki zgodne ze standardem MPEG-4 mogą być udostępniane bezpośrednio bez konieczności konwersji do postaci „hinted mov”), • strumieniowanie plików MP3 poprzez protokół http. Jak już zostało wspomniane, serwer rozpowszechniany jest na zasadach OpenSource, i można go zdobyć odwiedzając witrynę internetową firmy Apple (strona internetowa Apple). Po wypełnieniu krótkiej ankiety uzyskujemy możliwość pobrania odpowiadającej nam wersji binarnej bądź też źródeł serwera. 6. 6. Przykłady zastosowań serwerów strumieniowych Aplikacje wykorzystujące dane dostarczane przez serwer strumieniowy, mogą być dowolnego typu. Otwierają one ciekawe możliwości integrowania z innymi systemami o odmiennym przeznaczeniu. Przykładem takiego zastosowania może być stworzona przez członków Distributed Systems Research Group (DSRG) aplikacja komunikacyjna, automatycznie wyszukująca użytkownika. Program ten stanowi przykład wykorzystania informacji, o lokalizacji, do nawiązania połączenia multimedialnego z dowolnym użytkownikiem, znajdującym się w obszarze obejmowanym przez system lokalizujący. Ciekawym zastosowaniem jest też utrzymywanie połączenia z użytkownikiem zmieniającym swoje miejsce pobytu. Istotą takiej aplikacji jest śledzenie komunikatów z systemu lokalizującego, dotyczącego zmiany miejsca pobytu użytkownika, z którym zostało nawiązane połączenie. Typowym przykładem może być przejście użytkownika do innego pokoju. Połączenie powinno być kontynuowane przy wykorzystaniu komputera znajdującego się w tej samej lokacji, co użytkownik. Aplikacja realizująca taką komunikację, znajduje zastosowanie w realizacji połączeń takich jak np. oglądanie telewizji czy słuchanie muzyki. Na podstawie opisanych możliwości wykorzystania systemu lokalizacji użytkowników i sprzętu, można dojść do wniosku, że system taki, wzbogacony o wiedzę dotyczącą możliwości poszczególnych komputerów, może być bardzo pomocny w realizowaniu komunikacji – zarówno tekstowej, jak też głosowej czy wizualnej. Wykorzystanie możliwości takiego systemu może prowadzić do znacznego usprawnienia komunikacji, zarówno wewnątrz firmy używającej tego rozwiązania, jak też wymiany informacji pomiędzy obszarem będącym poza zasięgiem systemu, a miejscami objętymi 207 TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05 jego działaniem. Opisane aplikacje mogą mieć znaczenie zwłaszcza w tych firmach, w których pracownicy często przemieszczają się (w obrębie działania systemu lokalizacyjnego). Nie bez znaczenia jest też fakt, iż wspomaganie działania aplikacji komunikacyjnych, poprzez uwzględnienie w nich informacji o miejscu przebywania którejś ze stron komunikacji nie wymaga ze strony użytkowników żadnych dodatkowych zabiegów. Przykładem praktycznego wykorzystania omawianych systemów przedstawia rys. 1. Rys. 1. Przykładowy schemat działania systemu zarządzania strumieniami multimedialnymi Rys. 1 pokazuje możliwości użycia opisanych urządzeń multimedialnych. Sygnał analogowy pobierany z kamery lub telewizora jest digitalizowany przez urządzenie N-Point i wysyłany do lokalnej sieci komputerowej (LAN). Może być on odbierany przez dowolne stacje robocze, jak również przez Sun MediaCenter. Gromadzony tam strumień może być od razu (przy wykorzystaniu własności playthrough) lub w terminie późniejszym udostępniony użytkownikom znajdującym się przy stacjach roboczych. Połączenie systemu ABng z aplikacją służącą do komunikacji multimedialnej, stwarza możliwość skierowania strumienia informacji do pomieszczenia, w którym użytkownik aktualnie przebywa. Rys. 2 obrazuje integrację systemu kontroli strumieni multimedialnych z systemem lokalizacji użytkownika ABng. System lokalizacji wykorzystany jest do informowania o aktualnym miejscu pobytu konkretnego użytkownika. Informacja ta może zostać wykorzystana przez system 208 TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05 zarządzania do przekierowania nadawanego komunikatu w postaci strumienia audio/wideo do stacji roboczej znajdującej się najbliżej poszukiwanego użytkownika. Rys 2. Wykorzystanie informacji lokalizacyjnej przez system zarządzania strumieniami audio/wideo Przedstawiony system zarządzania komunikacją multimedialną wraz z systemem lokalizacji ABng jest jednym z pierwszych stworzonych środowisk opartych na specyfikacji OMG „Contol and Management of Audio/Video Streams” obejmujących szeroki aspekt problemów związanych z aspektem sieciowym transmisji danych multimedialnych. Konstrukcja systemu umożliwia łatwą jego rozbudowę (np. dodanie nowych urządzeń). Możliwości systemu nie ograniczają się jedynie do transmisji danych multimedialnych, lecz pozwalają wykorzystać system lokalizacji ABng dla wysłania informacji multimedialnej (np. danych audio/wideo - A/V) do użytkownika. Szeroki zakres możliwych zastosowań powoduje, że opisany system, może być wykorzystywany dla wielu specjalistycznych zastosowań komercyjnych. Jednym z zastosowań może być system przywoławczy pracowników. Wykorzystuje on system ABng do lokalizacji pracownika i przesyła mu informacje w postaci danych A/V 209 TECHNOLOGIE INTERNETOWE W ZARZĄDZANIU I BIZNESIE TIZIB’05 (informacja ta jest wyświetlana na najbliższym komputerze znajdującym się obok pracownika). Innym przykładem wykorzystania systemu zarządzania komunikacją multimedialną jest możliwość organizacji wideo–szkoleń (Turletti & Huitema, 1996). Usługa ta pozwala przesłać dane A/V z wykorzystaniem dowolnego źródła sygnału A/V (takiego jak telewizja, kamera, magnetowid itp.) do komputerów określonych użytkowników. Przesyłane dane mogą być zapamiętywane na urządzeniu Sun MediaCenter i udostępnione ponownie w dowolnym czasie. 7. Podsumowanie Strumieniowe metody publikacji multimediów w sieci Internet niewątpliwie mają przed sobą przyszłość. W tej chwili na drodze do ich równoprawnego z "normalnymi" multimediami upowszechnienia, stoi wiele przeszkód. O ile w krajach wysoko rozwiniętych, główną przeszkodą na drodze do komercyjnego zaistnienia jest stosunkowo ubogi "repertuar", o tyle w Polsce podstawowe problemy mają naturę techniczną. Dopóki większość polskich internautów ma większe lub mniejsze problemy z "normalnym" korzystaniem z Internetu, wynikające z permanentnego "zakorkowania" krajowych łączy, dopóty media strumieniowe, na realne zaistnienie w polskim Internecie będą musiały jeszcze zaczekać. 8. Literatura Ecker C., (2003), Darwin Streaming Server, April 24 2003, CPT 430. Loguinov D. Radha H., (2001), Measurement study of low-bitrate Internet video streaming, in Proceedings of ACM SIGCOMM Internet Measurement Workshop, San Francisco, CA. Michalak M., Zieliński K., (2002) Strumieniowanie wideo z wykorzystaniem Bluetooth, artykuł z Telenet forum, 05/2002. Radha H., Chen Y., Parthasarathy K., Cohen R., (1999), Scalable internet video using MPEG-4, Signal Processing: Image Communication. Skarbek W., Multimedia - Algorytmy i standardy kompresji. Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1998. Turletti T., Huitema C., (1996), Videoconferencing Over the Internet, IEEE/ACM Transactions on Networking, v 4(3). http://www.publicsource.apple.com/projects/streaming// Strona internetowa firmy Apple. 210