Multimedialne techniki internetowe
Temat nr 3: Internet Radio Broadcasting
Cel ćwiczenia:
Zapoznanie się z możliwościami sieciowej transmisji dźwięku za pomocą radia internetowego. Najpopularniejsze standardy broadcastingu.
Przebieg ćwiczenia:
§ Prowadzący wyznacza, które grupy laboratoryjne będą współpracowały ze sobą podczas zajęć. Na tych zajęciach grupa laboratoryjna składa się z dwóch standardowych grup (cztery osoby). Sprawozdania grupy oddają oddzielnie (1 sprawozdanie na 2 osoby)
§ Grupa laboratoryjna wybiera 5 komputerów w laboratorium i wyznacza im odpowiednie role, jak na schemacie poniżej.
§ Schemat należy uzupełnić danymi i dołączyć później do sprawozdania.
§ Na serwerze należy zainstalować darmowy serwer strumieniowania danych multimedialnych. Proponowana aplikacja to Icecast2 http://www.musicgoal.com/download/icecast/
§ Na komputerze źródła, należy zainstalować aplikację serwującą dane dla serwera.
Proponowana aplikacja to Winamp z wtyczką Oddcast DSP(http://www.winamp.com) (może zajść potrzeba sciągnięcia z sieci biblioteki Lame (plik lame_enc.dll) i wkopiowania go do katalogu głównego Winamp'a)
§ Na komputerach klienckich należy zainstalować klientów do odsłuchu strumienia audio. Proponowane aplikacje to: Quintessential Player(QCD), MediaMonkey, musikCube, Billy, XMPlay, CoolPlayer, iTunes, foobar2000, Sonique, SongBird (należy wybrać 3 różne aplikacje)
§ Po zainstalowaniu aplikacji, należy wysłać dane (plik z muzyką odtwarzany w pętli) ze źródła do serwera, a później odsłuchać je za pomocą klientów. Test polega na zmierzeniu obciążenia procesora, zużycia sieci (pomiar dokładny zewnętrzną aplikacją) oraz subiektywnej ocenie jakości dźwięku. Dla każdego testu notujemy parametry przesyłanego dźwięku.
§ Do testów wybieramy 2 kodeki: Vorbis Ogg i Lame(mp3). Każdy kodek testujemy dla 3 różnych poziomów jakości dźwięku. Vorbis Ogg dla bitrate management, wybieramy 3 różne bitrate'y (od 32 do 120kbps). Lame przy włączonym VBR (vbr_abr) dla quality od 2, 5 i 9.
§ Pojedynczy test wygląda następująco:
o na źródle ustawiamy odpowiednie parametry transmisji i rozpoczynamy wysyłanie danych. Wykonujemy zrzut ekranu na którym widać okno OddcastDSP z parametrami strumienia, wykorzystaniem sieci i procesora.
o podłączamy pierwszego klienta do serwera i wykonujemy zrzut ekranu. (okno klienta audio, obciążenie sieci i procesora)
o na komputerze serwera wykonujemy zrzut ekranu w oknie „Source level stats” dla danego strumienia, wraz z widocznym obciążeniem sieci i procesora.
o Podłączamy drugiego klienta wykonując na nim zrzut ekranu (okno klienta audio, obciążenie sieci i procesora) oraz zrzut ekranu parametrów serwera
o Podłączamy trzeciego klienta wykonując zrzut na nim oraz na serwerze.
§ Takich testów wykonujemy 6 – dwa kodeki, 3 poziomy jakości. Ilość danych zanotowanych na poszczególnych maszynach: źródło-6, każdy klient po 6, serwer-18.
§ Aby nie wykonywać dużej ilości zrzutów ekranów, które trzeba później drukować, można zapisać badane parametry połączenia na kartkę, i później dołączyć ją do sprawozdania.
§ Podczas jednego z testów logujemy się na serwerze do panelu zarządzania serwerem (http://localhost:8000), wykonujemy zrzut ekranu i opisujemy znajdujące się tam informacje.
§ Konfiguracja źródła: (dla winamp + oddcast dsp)
W winampie w zakładce options->preferences->plugins->output ustawić DirectSound output. W zakładce plugins->DSP/Effect wybrać wtyczkę oddcast DSP v2. Jeśli wtyczka jest niedostępna należy pobrać ją i zainstalować (Get-plugin lub ze strony http://www.winamp.com/addons/search/).
Konfiguracja wtyczki DSP:
Typ kodeka ustawiamy w polu Encoder type. Poziom bitrate ustawiamy w polu Avg, pola Min i Max ustawiamy dwukrotnie niższe i wyższe (tylko dla Ogg). Sample Rate i Channels pozostawiamy bez zmian.
W zakładce Encode dla Ogg ustawiamy „Bitrate management”, pole quality – puste. Dla Lame zaznaczamy „vbr”, mode ustawiamy na „vbr_abr” a w polu Quality ustawiamy poziomy jakości.
W zakładce Server, Server Type ustawiamy na Icecast2, adres na adres serwera, a parametry Port, Encoder Password, Mountpoint na identyczne z ustawieniami serwera.
§ Konfiguracja serwera:
W pliku konfiguracyjnym serwera podmieniamy część dotyczącą <listen-socket> na:
<listen-socket>
<port>8000</port>
<shoutcast-mount>/nazwastrumienia</shoutcast-mount>
</listen-socket>
<port>8001</port>
<shoutcast-compat>1</shoutcast-compat>
Dla strumienia ogg nazwa strumienia musi mieć zakończenie ogg (np /nazwastrumienia.ogg). Dla strumienia mp3 trzeba usunąć to rozszerzenie, może zostać /nazwastrumienia)
§ Konfiguracja klienta indywidualnie w zależności od programu. Url do materiału: http://ip_serwera:por/nazwa_strumienia (np. http://10.0.2.100:8000/strumien1.ogg)
Sprawozdanie powinno zawierać:
I. Skład osobowy zespołu, specjalność, rok, grupa.
II. Wstęp teoretyczny dotyczący tematu laboratoriów (1 strona A4)
III. Opis użytych aplikacji, ich podstawowe parametry i funkcje.
IV. Opis wariantów połączenia wraz z ich podstawową charakterystyką. (co ulegało zmianie, dlaczego wybrano ten parametr)
V. Opis uzyskanych rezultatów w poszczególnych testach.
VI. Porównanie poszczególnych serii testów między sobą.
VII. Porównanie aplikacji między sobą.
VIII. Podsumowanie i wnioski.
W trakcie ćwiczeń podczas kolejnych etapów pracy, należy wykonać kilka „zrzutów ekranu”, które będą obrazować postępy pracy w trakcie laboratorium.
Wszystkie mierzone parametry powinny znaleźć się na zrzutach ekranu, które zostaną później wydrukowane i dołączone do sprawozdania, lub zanotowane w formie papierowej i podpisane przez prowadzącego po zakończeniu zajęć.
KaSSSxxx