Wydział Elektryczny Data: 14.05.2007 r.
Elektronika i Telekomunikacja
Rok III Semestr VI
Grupa KSS 2
Sekcja 2
Laboratorium Podstaw Telekomunikacji
TRANSMISJE MULTIMEDIALNE W SIECIACH PAKIETOWYCH
Skład sekcji:
Maciej Kurzeja
Damian Gajdecka
Michał Janus
Krzysztof Majnusz
Antoni Kurzeja
Jacek Wielicki
Celem niniejszego ćwiczenia jest zapoznanie się z możliwościami i technologią przesyłania multimediów - dźwięków, obrazu - poprzez sieci pakietowe. Głównym punktem ćwiczenia jest nabycie umiejętności posługiwania się urządzeniami umożliwiającymi transmisje multimedialne oraz ich odpowiedniej konfiguracji.
Telefonia internetowa
Telefonia internetowa dzieli się na cztery podstawowe kategorie:
PC-to-PC (komputer-komputer),
PC-to-Phone (komputer-telefon),
Phone-to-Phone (telefon-telefon),
telefonia P2P (peer-to-peer).
W wariancie PC-to-PC rozmowa jest transmitowana wyłącznie przez Internet, przez co jej koszty są praktycznie zerowe. To główna zaleta telefonii komputer-komputer. Wadą jest konieczność posiadania na komputerach obu rozmówców takiego samego programu i jego uprzedniego uruchomienia, zanim będzie można przeprowadzić rozmowę. (Oprócz tego komputery muszą być wyposażone w kartę dźwiękową, mikrofon oraz głośnik lub słuchawki).
Drugi wariant telefonii internetowej to PC-to-Phone. Połączenie realizowane jest pomiędzy komputerem z zainstalowanym odpowiednim programem a zwykłym telefonem. Jest to możliwe dzięki tzw. bramkom VoIP (Voice over IP - „głos przez IP”), specjalnym serwerom, które przekazują transmisję głosową pomiędzy Internetem i zwykłą siecią telefoniczną. Koszt połączenia telefonicznego zależy od odległości, a firmy świadczące usługi VoIP dysponują na ogół siecią bramek rozrzuconych po całym świecie, tak więc zwykle bramka znajdować się będzie bliżej docelowego abonenta niżmy i koszt połączenia będzie niższy. W tej usłudze płaci się zatem tylko za te „odcinki połączenia”, które należą do zwykłej sieci telefonicznej, czyli od naszego komputera do najbliższej bramki VoIP oraz od bramki VoIP będącej w pobliżu naszego rozmówcy do jego aparatu telefonicznego.
Telefonia Phone-to-Phone od strony użytkowników nie wymaga w ogóle posiadania komputera. Polega na tym, że dzwoniący łączy się z telefonu z serwerem dostępowym do Internetu (bramką VoIP), po czym podaje swój numer identyfikacyjny i ew. hasło (o czym za chwilę), a na końcu docelowy numer telefonu. Rozmowa jest przekształcana na sygnał cyfrowy i przesyłana pomiędzy bramkami VoIP obsługującymi dany system. W drugiej bramce VoIP następuje zdekodowanie sygnału cyfrowego na analogowyi głos jest „wpuszczany” do zwykłej sieci telefonicznej i dociera do osoby, z którą rozmawiamy. Dzięki temu koszt połączenia jest niższy niż w przypadku tradycyjnego dzwonienia.
W telefonii P2P połączenie jest nawiązywane pomiędzy dwoma komputerami, na których musi być zainstalowany i uruchomiony ten sam program. Wykorzystuje się w niej technologię peer-to-peer zamiast bardziej „tradycyjnych” protokołów internetowych. P2P oznacza model komunikacji typu użytkownik-użytkownik, czyli bez udziału serwera. Najpopularniejszym programem do telefonii P2P, i jednocześnie pierwszym, w którym zastosowano technologię peer-to-peer do komunikacji głosowej, jest Skype.
Transmisja obrazu i dźwięku na żywo
Na potrzeby tego typu transmisji stworzono specjalną metodę przesyłania danych zwaną transmisją strumieniową, której kwintesencją jest to, że użytkownik nie pobiera na swój dysk żadnego pliku, a jedynie otrzymuje dane w miarę, jak są one odczytywane z serwera. Stąd nazwa „transmisja strumieniowa” - strumień danych, np. film czy radiowa relacja z koncertu, jest wysyłany nieprzerwanie przez serwer i na bieżąco odtwarzany przez odpowiedni program w komputerze odbiorcy.
Stworzenie systemu przesyłania danych drogą strumieniową za pomocą jednego serwera pociągałoby za sobą konieczność dysponowania bardzo szybkim i wydajnym łączem przy obsłudze większej ilości żądań wyświetleń, stąd opracowano inne metody udostępniania danych multimedialnych.
Multicasting - specjalna technologia przesyłania danych, dzięki której jeden i ten sam pakiet danych może być wysyłany do wielu komputerów naraz. Oznacza to, że bez względu na liczbę odbiorców naszego programu obciążenie łącza wyniesie zaledwie 20 kb/s. Multicasting korzysta ze specjalnych adresów IP, które identyfikują nie pojedyncze komputery (tak jak to się dzieje w przypadku każdej innej transmisji danych, np. WWW czy FTP), a całe grupy komputerów. Pakiet danych wysłany na taki adres rozchodzi się do wszystkich maszyn, które dołączyły się do danej grupy (oczywiście poszczególne komputery mogą w dowolnym momencie dołączać się i odłączać od dowolnych adresów grupowych). Multicasting jest idealnym rozwiązaniem dla transmisji na żywo, jednak ma swoje ograniczenia. Przede wszystkim transmisje multicastingowe nie mogą swobodnie wędrować przez Internet, ponieważ nie wszystkie routery obsługują grupowe adresy IP. Problem ten obchodzi się poprzez tworzenie tzw. tuneli pomiędzy sieciami, za pomocą specjalnego
oprogramowania, które zamienia pakiety multicastingowe na zwykłe (w punkcie nadawczym) i odwrotnie (w punkcie odbiorczym).Sieci połączone tunelami tworzą globalną sieć MBONE.
Zazwyczaj jednak stosuje się zwykły webcasting oparty na tzw. strumieniowaniu HTTP (http Streaming). Z materiału źródłowego, np. nagrywanej na żywo audycji radiowej, tworzony jest w czasie rzeczywistym odpowiedni plik w formacie strumieniowym i umieszczany na serwerze. Ponieważ operacja przebiega na bieżąco, ów plik pojawia się na serwerze w kolejno następujących po sobie kawałkach, np. obejmujących jedną czy kilka sekund dokonanego przed chwilą nagrania. Fragmenty te są następnie sukcesywnie pobierane przez odpowiednie odtwarzacze działające na komputerach odbiorców audycji. Oczywiście, znowu pojawia się tu problem z przepustowością łączy i wydajnością serwera, który w przypadku gdy zbyt wielu użytkowników będzie chciało w tym samym czasie pobrać kolejny fragment audycji, może zwyczajnie nie nadążyć z ich obsługą. Aby tego uniknąć, stosuje się dwa rozwiązania. Po pierwsze strumień danych jest umieszczany nie na jednym, a na kilku serwerach, co pozwala rozładować ruch. Po drugie odtwarzacze strumieniowe używają techniki buforowania danych - pobierają z pewnym wyprzedzeniem pakiety danych, dzięki czemu w momencie, gdy nie będzie można się połączyć z serwerem lub wystąpi chwilowe zapchanie łącza (np. inny uruchomiony program wykorzysta większą część pasma), będą jeszcze mogły odtwarzać nadawaną muzykę przez kilka czy kilkanaście sekund, w zależności od ustawień buforowania.
Transmisja obrazu i dźwięku na żądanie
W transmisjach na żądanie użytkownik pobiera po prostu plik z serwera, kawałek po kawałku. W przypadku zwykłego ściągania plików, np. ze strony WWW, nie możemy nic odtworzyć, dopóki plik w całości nie zostanie skopiowany na nasz dysk. W przypadku transmisji na żądanie plik w ogóle nie jest kopiowany (w tradycyjnym sensie), a jedynie pobierane są, i natychmiast odtwarzane, jego kolejne fragmenty. W czasie odtwarzania jednego fragmentu komputer pobiera już kolejny, czyli następuje buforowanie danych. Po odtworzeniu dany fragment pliku nie jest już potrzebny i komputer usuwa go z pamięci/dysku twardego. Pliki przeznaczone do transmisji strumieniowych muszą mieć odpowiednie właściwości. Przede wszystkim muszą być silnie skompresowane, tak aby w jak najmniejszej objętości zmieściło się jak najwięcej informacji. Nie można oczywiście kompresować w nieskończoność, bo im silniejsza kompresja, tym gorsza jakość przekazu (obrazu, dźwięku). Ponadto każdy fragment pliku strumieniowego musi zawierać wszystkie informacje niezbędne do tego, aby program odbiorczy mógł go odtworzyć. Z tego względu standardowe pliki wideo (np. popularne AVI) nie nadają się do transmisji strumieniowych, bo istotne dane indeksowe są w nich zapisane na samym końcu. Ważną cechą plików strumieniowych jest też znacznie lepsza korekcja błędów niż w zwykłych plikach multimedialnych. Korekcja błędów polega na dodawaniu do zasadniczej zawartości pliku (czyli do opisu dźwięku, obrazu) nadmiarowych informacji, na podstawie których można łatwo odtworzyć brakujące fragmenty danych, np. w sytuacji, gdy zostały zagubione wskutek chwilowego przeciążenia łączy internetowych.
Badany układ
Na powyższej ilustracji przedstawiono układ do przeprowadzania badań transmisji multimedialnych. Jak widać składa się on z czterech sekcji - dwóch routerów (jeden jest punktem dostępowym do Internetu), serwera video i video recordera.
Obsługa wszystkich urządzeń następuje z poziomu komputerów podsieci (do każdego z routerów są podłączone 3 komputery).
Bezpośrednio do każdego routera podłączone są kamery firmy Planet - nie wymagają one podłączenia do komputera, gdyż same mają wbudowane moduły sieciowe do przesyłania obrazu. W przypadku projektowania profesjonalnego systemu monitoringu znacznie ułatwia to obsługę urządzeń, obniża koszty oraz (biorąc pod uwagę, że kamery mogą przesyłać dane drogą radiową) znacznie ogranicza problemy montażowe. Konfiguracja kamer oraz oglądanie obrazu możliwe jest z poziomu przeglądarki internetowej lub za pomocą oprogramowania NetViewer dostarczonego przez producenta.
Video serwer jest to urządzenie umożliwiające konwersję obrazu ze zwykłych kamer analogowych lub cyfrowych na postać nadającą się do przysyłania siecią. Do wejść serwera podawane są sygnały poprzez gniazda cinch. Konfiguracja możliwa jest przez przeglądarkę internetową.
Video recorder to urządzenie umożliwiające obserwację obrazu ze zwykłych kamer i jego nagrywanie. Jego zastosowanie ogranicza się w zasadzie tylko do systemów monitoringu ze względu na opcję równoczesnego podglądu do czterech kamer. Video recorder współpracuje z telewizorem.
Radio internetowe
W celu nadawania audycji radiowych poprzez sieć komputerową można skorzystać z odtwarzacza plików muzycznych Winamp. Należy w tym celu dodatkowo zaopatrzyć się w plug-in ShoutCast umożliwiający nadawanie audycji i odpowiednie konfigurowanie łącza do jak najbardziej efektywnego przesyłania danych oraz program Server współpracujący z Winampem. W programie Server ustawia się najważniejsze parametry połączenia sieciowego - adres URL, maksymalną ilość użytkowników, itp.
Przebieg ćwiczenia
Transmisja obrazu i dźwięku
Połączyć się z kamerami internetowymi i zaobserwować zmiany w szybkości przesyłu danych jeśli do tego samego urządzenia próbuje się podłączyć większa ilość użytkowników;
Zaobserwować zmiany szybkości transmisji przy połączeniu z kamerą we własnej podsieci oraz w innej (dostęp do kamery w innej podsieci poprzez wpisanie w przeglądarce numeru IP routera);
Połączyć się z Video Serwerem - zmienić konfigurację serwera (rozdzielczość, kompresję), zanotować zmiany;
Zapoznać się z możliwościami Video Recordera.
Radio internetowe
Uaktywnić plug-in ShoutCast, ustawić parametry łącza poprzez program Server i rozpocząć nadawanie audycji;
Rozpocząć odbieranie audycji internetowej nadawanej przez innego użytkownika.