Sieci Sprawko Strumieniowanie, Sprawozdania


Grupa ćwicz.

4

Grupa lab.

7

Zespół.

6

Data wykonania.

14.03.2014 r.

Data odbioru

Nr ćwicz./ wersja

6

Temat ćwiczenia.

Strumieniowanie

Imiona i nazwiska.

Konrad Rugała, Mariusz Równy

Ocena i uwagi

Część praktyczna

Opis wykonanego ćwiczenia:

Sprzęt:

3 komputery PC (laptopy) z procesorami Intel 64 bitowe.

OS: 2 komputery z Windows 8 i jeden z Windows 7.

Oprogramowanie:

VLC - Video Lan Client:

VLC media player - odtwarzacz multimedialny rozwijany przez VideoLAN, rozpowszechniany na licencji GPL, który może być także używany jako serwer w sieciach komputerowych o dużej przepustowości. Wśród obsługiwanych formatów znajdują się: Ogg, MPEG, DivX, MP3 i inne. Może również odtwarzać filmy z płyt DVD oraz VCD. Za jego pomocą można też oglądać film wraz z napisami (także ze znakami polskimi). Aplikacja jest dostępna na platformy Windows, Mac OS X, GNU/Linux, BeOS, WinCE. Od wersji 1.0.1 VLC potrafi dekodować dźwięk ze ścieżki Blu-ray Linear PCM lub Dolby Digital Plus. W nowej wersji 1.1.0 ulepszono dekodery Real Video (wersje 3.0 i 4.0), MIDI oraz WMA. Pojawiła się również możliwość obsługi formatów Dirac, MLP i RealVideo w kontenerach MKV oraz obsługa kodeku dźwiękowego ARM, wykorzystywanego głównie przez telefony komórkowe, które nagrywają pliki wideo w formacie 3gp. VLC posiada również obsługę cyfrowych tunerów telewizji satelitarnej, kablowej i nadziemnej. Dodano eksperymentalną obsługę nośników Blu-ray i materiałów AVCHD.

Dołączony został dostęp do serwera mediów strumieniowych Icecast i popularna wtyczka wizualizacji MilkDrop. VLC posiada także narzędzia do zgrywania filmów DVD na dysk twardy w przyzwoitej jakości. Za pomocą tego programu możliwe jest nagrywanie filmów podczas ich odtwarzania, jednakże przycisk nagrywania jest domyślnie ukryty. Aby go zobaczyć należy kliknąć na Widok > Zaawansowane kontrole. Kolejną ciekawą funkcją jest możliwość odtwarzania filmów skompresowanych w plikach RAR. Odtwarzane są jak normalne pliki wideo i można nawet użyć paska przewijania. Jeśli RAR jest podzielony na kilka plików nie stanowi to problemu. Dzięki VLC możemy odtworzyć pliki niekompletne lub uszkodzone. Zabawną funkcją jaką odtwarzacz dostarcza jest odtwarzania w trybie ASCII. Odtwarzacz zawiera setki stacji radiowych Shoutcast (podobnie jak winamp). Stosowany jest także jako serwer VOD(video na życzenie) oraz serwer proxy dla strumieni audio/video. Konwersja formatów audio i video z jednego formatu na drugi to opcja godna uwagi.

Większość dostępnych konwersji przedstawia screen obok. VLC umożliwia także ściąganie filmów z serwisu YouTube itp. Podczas wykonywania ćwiczenia odtwarzacz został wykorzystany do nadawania strumieni audio i wideo oraz odbioru na innych komputerach. Zainstalowana była najnowsza wersja oprogramowania tj. 2.1.3.

Wstęp teoretyczny:

Strumieniowanie - jest to przesyłanie danych multimedialnych od jednego użytkownika do drugiego (bądź wielu). Dane wysyłane z serwera (od nadawcy) są najpierw kompresowane, a następnie nadawane, co może się odbywać na dwa sposoby:

- Prosto od użytkownika - transmisja na żywo,

- Z danych przechowywanych na serwerze - transmisja na życzenie (VOD).

Multimediami strumieniowanymi są przede wszystkim pliki dźwiękowe, filmy, ale również inne dane takie jak napisy do filmów (tłumaczące film z języka obcego, podpisy dla niesłyszących), Real - Time text, czy taśmy giełdowe.

Strumieniowanie plików multimedialnych odbywa się na zasadzie kawałków. Pobierany jest jeden mały fragment pliku i jest on odtwarzany. W tym czasie pobierany jest kolejny fragment. Gdy pierwszy fragment jest odtworzony, jest on kasowany z pamięci komputera, a odtwarzany jest kolejny.

Dane transmitowane są najczęściej za pomocą protokołu UDP, który zastąpił wcześniej używany TCP. Protokół UDP w porównaniu do swojego poprzednika niesie ze sobą nowe funkcjonalności. Redukuje opóźnienia, pozwala na transmisję jeden do wielu oraz posiada krótszy nagłówek ramki. Jego minusem jest jego jednokierunkowość (UDP jest protokołem bezpołączeniowym), przez co nadawca nie wie, czy dane zostały poprawnie dostarczone odbiorcy. Z pomocą przychodzą protokoły RTP, RTSP, RTCP, które dbają o to aby dane dotarły do celu (niosą ze sobą również inne dodatkowe funkcje).

Strumieniowanie, w zależności od odbiorcy może odbywać się na kilka sposobów:

- anycast - dane są teoretycznie wysyłane do kilku odbiorców, ale odbiera tylko jeden, najbliższy,

- unicast - dane wysyłane są do jednego, konkretnego odbiorcy,

- multicast - dane wysyłane są do kilku odbiorców jednocześnie,

- broadcast - dane są rozgłaszane do wszystkich sieci.

Do strumieniowania danych nie ma jednej najpopularniejszej technologii. Do najpopularniejszych technologii zatem należą:

- Real Player,

- Flash Player,

- Real Media,

- Windows Media.

Najpopularniejszym kodekiem do przesyłania filmów stał się MPEG - 4, który pozwala na zachowanie wysokiej jakości. Odbywa się to kosztem większych wymagań sprzętowych ze względu na złożone algorytmy kodowania i dekodowania. Współczesne komputery radzą sobie z tym doskonale, więc jest to słabo zauważalne.

Pseudostrumieniowanie - wykorzystywane np. przez YouTube. Polega na przekazywanie multimediów, które są zapisywane na komputerze w pamięci tymczasowej, co pozwala na zatrzymanie, czy przewinięcie filmu lub utworu muzycznego. Odbywa się to na protokole HTTP.

Do wykonania ćwiczenia użyliśmy programu VLC na trzech komputerach. Aby rozpocząć strumieniowanie należy wybrać z zakładki „plik” wejść w opcje strumieniuj. Następnie dodajemy film, który będziemy nadawali poprzez opcje „dodaj”, po czym klikamy na przycisk „strumieniuj”. Wtedy pojawiają się nam „źródło” gdzie podana jest ścieżka pliku, który mamy zamiar odtworzyć.

Aby móc wybrać pożądany sposób transmisji, klikamy przycisk „następny” i ukazują się nam cele strumieniowania. Ustawiamy tutaj metodę transmisji, której chcemy używać. Jednak trzeba mieć na uwadze, że nie każdy format może być zgodny z wybraną metodą. W naszym przypadku wybraliśmy metodę http. Kolejnym krokiem jest wybór opcji transkodowania.

Wygląd okna gdzie dokonujemy wyboru pokazuje zrzut ekranu. Ważne jest, aby nie zapomnieć o opcji „Dodaj”. Po kliknięciu na nią pojawia się pole gdzie należy wybrać odpowiedni port i ścieżkę. W przypadku http korzystaliśmy z portu nr 8080. Nadawanie rozpoczynamy klikając na przycisk „strumieniuj”.

Aby odtworzyć strumień na kliencie potrzebny jest nam adres IP nadawcy. Wybieramy zakładkę „Plik”->Odtwórz strumień w sieci”, pojawi się okno gdzie wpisujemy adres wraz z protokołem sieci.

Schemat ćwiczenia:

a) Wyjścia - protokoły (port)

- RTSP(:5544)

- UDP(:1234)

- HTTP(:8080)

b) Profile strumieniowania

- MPEG - 2 + MPGA (TS)
-
Video - H.264+MP3 (MP4)

c) Testowe pliki wideo

- 2_adrenalinerush.wmv

- 5_shrek3.mov

d) Podczas każdego z testów badaliśmy parametry na komputerze działającym jako serwer oraz na drugim, działającym jako klient(jeden z dwóch klientów). Trzeci komputer służył tylko do obciążania sieci.

Informacje zdobyte z serwera:

  1. Nazwa pliku, oryginalny kodek i parametry pliku(informacje o pliku Crtl + I, zakładka szczegóły kodeka i statystyki)

  2. Protokół wykorzystywany do strumieniowania wraz z parametrami

  3. Profil(enkapsulacja, kodek video, kodek audio) - (przy definicji strumienia: „opcje transkodowania” -> ”edytuj wybrany profil”)

  4. Wykorzystanie sieci - wartość średnia i maksymalna - na podstawie grafu menadżera zadań windows (ctrl+alt+del)

Wykonano zrzuty ekranu na których widać historie zużycia procesora, wartość średnią i maksymalną, wykorzystanie sieci oraz statystyki strumienia (informacja o pliku, zakładka statystyki).

Informacje zdobyte z klienta:

  1. Nazwa pliku

  2. kodek video, rozdzielczość video

  3. Informacje o strumieniu audio

  4. Wykorzystanie sieci wartość średnia i maksymalna - na podstawie menadżera windows.

Wykonano zrzuty ekranu na których widać historie zużycia procesora, wartość średnią i maksymalną, wykorzystanie sieci oraz statystyki strumienia (informacja o pliku, zakładka statystyki).

e)Testy z punktu d) wykonaliśmy dla wszystkich możliwych kombinacji elementów wybranych przez prowadzącego z punktów a), b), c)

Nie udało nam się niestety ani razu wykonać strumieniowania przez protokół UDP. Przyczynę porażki widzimy albo w niezgodnych systemach operacyjnych (na jednym komputerze Windows 7, a na drugim Windows 8), lub jakiś błąd podczas łączenia, którego nie mogliśmy znaleźć ani przewidzieć.

Wyniki:

Wszystkie testy ponumerowne:

nr.

Nazwa pliku

Kodek

Protokół

1

2_adrenalinerush.wmv

Video - H.264+MP3 (MP4)

RTSP(:5544)

2

2_adrenalinerush.wmv

MPEG - 2 + MPGA (TS)

RTSP(:5544)

3

2_adrenalinerush.wmv

Video - H.264+MP3 (MP4)

HTTP(:8080)

4

2_adrenalinerush.wmv

MPEG - 2 + MPGA (TS)

HTTP(:8080)

5

5_shrek3.mov

Video - H.264+MP3 (MP4)

RTSP(:5544)

6

5_shrek3.mov

MPEG - 2 + MPGA (TS)

RTSP(:5544)

7

5_shrek3.mov

Video - H.264+MP3 (MP4)

HTTP(:8080)

8

5_shrek3.mov

MPEG - 2 + MPGA (TS)

HTTP(:8080)

Test nr 1

Zrzuty ekranów będą z powodu ich ilości tylko przy tym teście pokazane, Wybraliśmy przedstawiać wyniki w formie czytelniejszych i mniej obszernych tabelek. Reszta zrzutów znajduje się pod adresem: http://speedy.sh/jwqME/Screeny-Strumieniowanie.zip

0x08 graphic

Właściwości pliku nr 2 „2_adrenalinerush.wmv”

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

Wykorzystanie Sieci
(serwer)

Wykorzystanie CPU
(serwer)

Wykorzystanie sieci
(klient)

Użycie CPU
(klient)

Zdekodowane Bloki

Wyświetlone klatki

Zgubione klatki

Jakość filmu

3,2 Mb/s

60%

1,63 Mb/s

32%

186

496

53

b. słaba

Test nr 2

Wykorzystanie Sieci
(serwer)

Wykorzystanie CPU
(serwer)

Wykorzystanie sieci
(klient)

Użycie CPU
(klient)

Zdekodowane Bloki

Wyświetlone klatki

Zgubione klatki

Jakość filmu

12 Mb/s

13%

3,4 Mb/s

15%

207

208

15

słaba

Test nr 3

Wykorzystanie Sieci
(serwer)

Wykorzystanie CPU
(serwer)

Wykorzystanie sieci
(klient)

Użycie CPU
(klient)

Zdekodowane Bloki

Wyświetlone klatki

Zgubione klatki

Jakość filmu

0,5 Mb/s

52%

2,2 Mb/s

30%

1160

1353

1

średnia

Test nr 4

Wykorzystanie Sieci
(serwer)

Wykorzystanie CPU
(serwer)

Wykorzystanie sieci
(klient)

Użycie CPU
(klient)

Zdekodowane Bloki

Wyświetlone klatki

Zgubione klatki

Jakość filmu

2,8 Mb/s

5%

4,3 Mb/s

26%

773

774

2

średnia

Test nr 5

Właściwości pliku nr 5

0x08 graphic

„5_shrek3.mov”

Wykorzystanie Sieci
(serwer)

Wykorzystanie CPU
(serwer)

Wykorzystanie sieci
(klient)

Użycie CPU
(klient)

Zdekodowane Bloki

Wyświetlone klatki

Zgubione klatki

Jakość filmu

1,1 Mb/s

13%

0,39 Mb/s

16%

1279

1282

18

b.dobra

Test nr 6

Wykorzystanie Sieci
(serwer)

Wykorzystanie CPU
(serwer)

Wykorzystanie sieci
(klient)

Użycie CPU
(klient)

Zdekodowane Bloki

Wyświetlone klatki

Zgubione klatki

Jakość filmu

2,8 Mb/s

5,7%

1,92 Mb/s

20%

414

410

1

b.dobra

Test nr 7

Wykorzystanie Sieci
(serwer)

Wykorzystanie CPU
(serwer)

Wykorzystanie sieci
(klient)

Użycie CPU
(klient)

Zdekodowane Bloki

Wyświetlone klatki

Zgubione klatki

Jakość filmu

0,3 Mb/s

3%

1,73 Mb/s

20

172

306

0

wysoka

Test nr 8

Wykorzystanie Sieci
(serwer)

Wykorzystanie CPU
(serwer)

Wykorzystanie sieci
(klient)

Użycie CPU
(klient)

Zdekodowane Bloki

Wyświetlone klatki

Zgubione klatki

Jakość filmu

0,3 Mb/s

2,6%

2,24 Mb/s

25

507

506

1

Najlepsza

Opracowanie wyników

nr.

Nazwa pliku

Kodek

Protokół

1

2_adrenalinerush.wmv

Video - H.264+MP3 (MP4)

RTSP(:5544)

2

2_adrenalinerush.wmv

MPEG - 2 + MPGA (TS)

RTSP(:5544)

3

2_adrenalinerush.wmv

Video - H.264+MP3 (MP4)

HTTP(:8080)

4

2_adrenalinerush.wmv

MPEG - 2 + MPGA (TS)

HTTP(:8080)

5

5_shrek3.mov

Video - H.264+MP3 (MP4)

RTSP(:5544)

6

5_shrek3.mov

MPEG - 2 + MPGA (TS)

RTSP(:5544)

7

5_shrek3.mov

Video - H.264+MP3 (MP4)

HTTP(:8080)

8

5_shrek3.mov

MPEG - 2 + MPGA (TS)

HTTP(:8080)

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

0x08 graphic

Wnioski

Do przeprowadzenia testów wybrano filmy: 2_adrenalinerush.wmv oraz 5_shrek3.mov. Pierwszy z filmów był w wyższej rozdzielczości niż drugi (pierwszy 1280x720, natomiast drugi 640x360), jednak mimo to ilość klatek na sekundę w obu przypadkach wynosiła 24 (na serwerze).

Pierwsze co się rzuca w oczy to sprawa obciążenia klienta. Obciążenie te nie zmienia się bardzo przy różnych profilach strumieniowania. Znaczy to tyle, że komputer klienta musi się podobnie napracować przy obu badanych protokołach i kodekach.

Słaba jakość wideo zwłaszcza pierwszych badanych plików wynikała z powodu większej rozdzielczości i jakości danego filmu. Jakościowo (jakość wideo jak i strumienia - czyli brak przycinania obrazu, dźwięku) najlepiej wyszło strumieniowanie protokołem HTTP wraz z kodekiem MPEG - 2. Profil HTTP plus MPEG - 2 obciąża najmocniej sieć od strony klienta, lecz znacznie odciąża serwer. Jest to akurat szczególnie wina protokołu HTTP, który tak działa w komunikacji klient, serwer.

Najgorzej strumieniowanie wyszło dla protokołu RTSP wraz z kodekiem h.264, który przycinał oraz strasznie obciążał serwer oraz klienta, jak widać na ostatnim wykresie także gubił klatki.

Obciążenie sieci zależało najbardziej od profilu strumieniowania. Większa ilość klatek na sekundę spowodowała intensywniejsze obciążenie sieci, co było związane z większą liczbą przesyłanych informacji (pakietów).
Podsumowując możemy z całą pewnością stwierdzić, że użycie odpowiedniego profilu strumieniowania ma duży wpływ na jakość odtwarzanego filmu oraz na obciążenia związane z pracą serwera i klienta.



Wyszukiwarka

Podobne podstrony:
Sieci Sprawko MPI, Sprawozdania
sprawko przekladnie Sprawozdanie z Teorii mechanizmów i maszyn
cw 6 sieci sprawko
fiza sprawko wahadla, sprawozdania
sprawko z termy sprawozdanie poprawki
Matlab sprawka Matlab sprawozdanie3
Biologia sprawko.PLECHOWCE, Sprawozdania ATH
Lab1-sieci, studia, studia, sprawozdania, pomoce, Lab
sprawka zrobione, Sprawozdanie z ćwiczenia z biofizyki2,2, Sprawozdanie z ćwiczenia z biofizyki
strumienica sprawozdanie, nauka, PW, sem 6, semestr VI 2009, MUE, lab, strumienicagr 3lll
mieszanie Madzia, 2 rok, OGÓLNA TECHNOLOGIA ŻYWNOŚCI, cw, sprawka, otz-sprawko, mieszanie - sprawozd
Matlab sprawka Matlab sprawozdanie
sprawko elektro, Sprawozdania
sprawka biochemia Sprawozdanie 3
sprawka biochemia sprawozdanie PSII(1)
sprawka zrobione, Sprawozdanie z ćwiczenia z biofizyki2,1, Sprawozdanie z ćwiczenia z biofizyki
Sprawka, Reynolds, Sprawozdanie z laboratorium mechaniki płynów
sprawka biochemia, SPRAWOZDANIE NUMER VII
sprawka biochemia, sprawozdanie 3

więcej podobnych podstron