Upload
velida-husic-spago
View
54
Download
6
Embed Size (px)
Citation preview
Napredni telekomunikacijski protokoli i mreže nove
generacije
Streaming zvuka i slike iz datoteka i “uživo”
Sadržaj predavanja
• Streaming datoteka sa zvučnim i video zapisima
• Streaming programa uživo
• Real Time Streaming Protocol
• Mreže za distribuciju sadržaja
• Primjer YouTube
15.3.2012. Napredni TK protokoli i NGN - Streaming 2
Napredni TK protokoli i NGN - Streaming 3
Multimedijalne mrežne aplikacije
Osnovne osobine:
• Obično osjetljive na kašnjenje – ukupno
– varijacije
• Tolerantni na gubitke: rijetki gubici paketa izazivaju manje smetnje
• Suprotno od prenosa podataka, osjetljiv na gubitke, a ne na kašnjenje
Klase MM aplikacija:
1) Interaktivne u realnom vremenu (VoIP)
2) Streaming datoteka
3) Streaming programa uživo
15.3.2012.
Streaming vs VoIP
• Nema prave interakcije u realnom vremenu
• Veća tolerancija na kašnjenje
• Slične metode borbe protiv gubitka paketa i varijacije u kašnjenju
15.3.2012. Napredni TK protokoli i NGN - Streaming 4
Streaming datoteka
15.3.2012. Napredni TK protokoli i NGN - Streaming 5
• media pohranjena na izvoru
• šalje se klijentu
streaming: reprodukcija na klijentu počinje prije nego što stignu svi podaci
• vremensko ograničenje za preostale podatke koje treba poslati: da stignu na vrijeme za reprodukciju
Izvor J.Kurose, K.Ross: Computer Networking
Šta je streaming?
15.3.2012. Napredni TK protokoli i NGN - Streaming 6
1. Snimljeni
video
2. poslani
video 3. Video primljen,
reprodukcija na klijentu
streaming: u ovom trenutku, klijent
reprodukuje početni dio snimka,
dok server još šalje kasnije
dijelove snimka
mrežno
kašnjenje vrijeme
Interaktivnost
15.3.2012. Napredni TK protokoli i NGN - Streaming 7
Kao na DVD-u: klijent može pauzirati, premotati naprijed i nazad, izabrati odakle reprodukovati
• 10 s početno kašnjenje OK
• 1-2 s do realizacije komande OK
• I dalje važi vremensko ograničenje za preostale podatke koje treba poslati: da stignu na vrijeme za reprodukciju
Izvor J.Kurose, K.Ross: Computer Networking
Kodiranje/dekodiranje videa
• Može biti asimetrično – Kodiranje jednom – polako
– Dekodiranje više puta – brzo
– Ne važi za prenos program uživo
• Određeni gubici na kvalitetu su dozvoljeni
15.3.2012. Napredni TK protokoli i NGN - Streaming 8
Napredni TK protokoli i NGN - Streaming 9
Kompresija video signala • video: niz slika prikazan
konstantnom brzinom – npr. 24 (ili 30) slika/s
• digitalna slika: matrica piksela – svaki piksel je
predstavljen bitima
• redundantnost – prostorna (u slici)
– vremenska (od jedne slike do druge)
Primjeri:
• MPEG 1 (CD-ROM) 1.5 Mb/s
• MPEG2 (DVD) 3-6 Mb/s
• MPEG4 (čest na Internetu, < 1 Mbps)
Istraživanje:
• slojeviti (skalabilni) video – bira slojeve prema
dostupnom propusnom opsegu
15.3.2012.
Streaming datoteka
Streaming tehnike aplikativnog nivoa da se dobije najbolje od “best effort” usluge:
– buffering na strani klijenta
– upotreba UDP ili TCP
– različita kodiranja multimedije
• eliminacija razlike u kašnjenju
• dekompresija
• prikrivanje grešaka
• GUI sa kontrolama za interaktivnost
15.3.2012. Napredni TK protokoli i NGN - Streaming 10
Media player
Najjednostavniji pristup
• Audio ili video pohranjeni u datoteci
• Datoteke se prenose kao HTTP objekti – klijent ih preuzme cijele
– onda ih proslijedi player
15.3.2012. Napredni TK protokoli i NGN - Streaming 11
Ovo nije streaming audija i videa:
• nema ranije reprodukcije dugu čekanje do početka!
Izvor J.Kurose, K.Ross: Computer Networking
Streaming sa Web servera
15.3.2012. Napredni TK protokoli i NGN - Streaming 12
• Web preglednik preuzima (GET) metafile
• Web preglednik pokreće player, proslijeđujući metafile
• player kontaktira server
• server streams audio/video player-u
Izvor J.Kurose, K.Ross: Computer Networking
Streaming sa streaming servera
Napredni TK protokoli i NGN - Streaming 13
• Omogućava non-HTTP protokol između streaming servera i player-a
• UDP ili TCP u koraku (3), diskusija kasnije
Izvor J.Kurose, K.Ross: Computer Networking
15.3.2012.
Odlaganje reprodukcije
• buffer na strani klijenta i kasnija reprodukcija kompenzuju mrežno kašnjenje i njegove varijacije
15.3.2012. Napredni TK protokoli i NGN - Streaming 14
prenos videa
konstantnom
brzinom
vrijeme
promjenljivo
mrežno
kašnjenje
prijem videa
na klijentu reprodukcija
videa na klijentu
konstantnom brzinom
kašnjenje reprodukcije
na klijentu b
uffe
red
vid
eo
Buffer na klijentu
• odnosi brzina punjenja (slanja) i pražnjenja (reprodukcije) i veličine buffer moraju biti usklađeni za tečnu reprodukciju
15.3.2012. Napredni TK protokoli i NGN - Streaming 15
video u
buffer-u
promjenljiva
brzina
punjenja, x(t)
stalna
brzina
pražnjenja, d sa
mreže
buffer
na
klijentu
na dekompresiju
i reprodukciju
UDP iliTCP?
UDP • server šalje brzinom koja odgovara klijentu (ne uzimajući u obzir
zagušenje mreže !)
– (uglavnom) brzina slanja = brzina kodiranja = brzina pražnjenja = konstantna
– (onda je), brzina punjenja = konstanta – gubitak paketa (intenzitet)
• malo kašnjenje reprodukcije (2-5 s) da se otklone varijacije u kašnenjenju
• popravak grešaka: zavisi od raspoloživog vremena
15.3.2012. Napredni TK protokoli i NGN - Streaming 16
UDP iliTCP? (2)
TCP • šalje se maksimalnom mogućom brzinom
– često većom od brzine pražnjenja
• brzina punjenja se mijenja zbog TCP kontrole zagušenja
• veće kašnjenje reprodukcije: stabilnija TCP brzina prenosa
• HTTP/TCP lakše prolazi kroz firewall • TCP propusnost 2 x brzina kodiranja je dobar odnos
15.3.2012. Napredni TK protokoli i NGN - Streaming 17
Različite brzine klijenata
15.3.2012. Napredni TK protokoli i NGN - Streaming 18
P: Kako voditi računa o različitim brzinama prijema klijenata?
• 28.8 Kb/s dial-up
• 100 Mb/s Ethernet
O: Server čuva i šalje različite verizije sadržaja, kodirane različitim brzinama
1.5 Mb/s kodiranje
28.8 Kb/s kodiranje
Napredni TK protokoli i NGN - Streaming 19
Multimedijalne mrežne aplikacije
Klase MM aplikacija:
1) Interaktivne u realnom vremenu (VoIP)
2) Streaming datoteka sa zvučnim i video zapisima
3) Streaming programa uživo
15.3.2012.
Streaming programa uživo
Primjeri:
• Internet radio
• Internet TV – Prenos sportskih događaja uživo
• Davalac usluge ne posjeduje (kontroliše) prenosnu mrežu od izvora signala do gledaoca (slušaoca)
Napredni TK protokoli i NGN - Streaming 20 15.3.2012.
Streaming
• Slično kao iz datoteka: – Reprodukcija korištenjem buffer
– Reprodukcija može kasniti desetine sekundi za emitovanjem
– Reprodukcija treba biti kontinualna
• Različito – Sadržaj nije pohranjen u formatu za
emitovanje
– Potrebno kodiranje u realnom vremenu
Napredni TK protokoli i NGN - Streaming 21 15.3.2012.
Internet Radio
Izvor [A.Tanenbaum: Computer Networks]
Ovo je prazno
i služi da
sakrije
15.3.2012. 22 Napredni TK protokoli i NGN - Streaming
Interaktivnost
• Premotavanje naprijed nemoguće – Dok ne naučimo putovati u budućnost
• Zaustavljanje i premotavanje unazad moguće
Napredni TK protokoli i NGN - Streaming 23 15.3.2012.
Izvedba
• Na aplikativnom nivou
• Komunikacija player – streaming server
• Player – Posebno napravljena aplikacija (ili)
– Standardno instaliran • Adobe Flash Player
• Windows Media Player
• Real Player
• ...
15.3.2012. Napredni TK protokoli i NGN - Streaming 24
Prenos podataka
• IP multicast
• Multicast na aplikativnom nivou – Mreže za distribuciju sadržaja (CDN)
– Peer-to-peer mreže
15.3.2012. Napredni TK protokoli i NGN - Streaming 25
Protokoli
• Prenos podataka – UDP/RTP
• Kontrola RTCP
– TCP/HTTP • downlaod
• Kontrola – RTSP
– HTTP
15.3.2012. Napredni TK protokoli i NGN - Streaming 26
Potreban propusni opseg • Zavisno od kodiranja
• Npr. H.264 (BBC) – HD TV
• Rezolucija > 1280 x 720
• > 3 Mb/s
– SD TV • Rezolucija 832 x 468
• 1,5 Mb/s
• Imaju verzije od 800 Kb/s i 500 Kb/s
– Radio • 128 Kb/s
15.3.2012. Napredni TK protokoli i NGN - Streaming 27
Prava pristupa
• Mogu biti ograničena
• Samo pretplatnici
• Samo određena geografska područja
• Sistem to treba realizovati
15.3.2012. Napredni TK protokoli i NGN - Streaming 28
IPTV
• Nešto drugo od Internet TV (uglavnom) – Prethodni slajdovi (streaming)
• Ponuđač usluge je vlasnik (kontroliše) prenosnu mrežu – Posebno pristupnu mrežu
• Korisnici imaju uređaje od davaoca usluge koje omogućavaju korištenje – Set-top box
15.3.2012. Napredni TK protokoli i NGN - Streaming 29
IPTV (2)
• Davalac usluge može garantovati QoS
• Uglavnom i druge usluge (osim programa uživo) – Video snimci po zahtjevu (VoD)
– Pauziranje programa
– Snimanje video sadržaja
– Igranje igara unutar sistema
– ...
15.3.2012. Napredni TK protokoli i NGN - Streaming 30
IPTV (3)
• Dijelovi sistema koji se bave kodiranjem i reprodukcijom već obrađeni
• Protokoli aplikativnog nivoa takođe
• Prenosna mreža će biti obrađena detaljnije na narednim predavanjima
15.3.2012. Napredni TK protokoli i NGN - Streaming 31
Korisnička kontrola streaming: RTSP
HTTP
• nije pravljen ciljano za multimedijalne sadržaje
• nema komandi za premotavanje i slično
RTSP: RFC 2326
• klijent-server protokol aplikativnog nivoa
• korisnik može: brzo premotati naprijed i nazad, pauzirati, nastaviti reprodukciju, izabrati odakle početi reprodukciju, itd …
15.3.2012. Napredni TK protokoli i NGN - Streaming 32
RTSP (2)
Za šta nije namijenjen:
• ne definiše kako je audio/video “spakovan” za streaming kroz mrežu
• ne ograničava na koji način se stream medija transportuje (UDP ili TCP)
• ne određuje kako media player koristi buffer za audio/video
15.3.2012. Napredni TK protokoli i NGN - Streaming 33
Video serveri
Hijerarhija pohranjivanja na video serveru
15.3.2012. 34 Napredni TK protokoli i NGN - Streaming
Izvor A. Tanenbaum: Computer Networks
Video serveri (2)
Hardverska arhitektura tipičnog video servera.
15.3.2012. 35 Napredni TK protokoli i NGN - Streaming
Izvor A. Tanenbaum: Computer Networks
Video on Demand
15.3.2012. 36 Napredni TK protokoli i NGN - Streaming
Izvor A. Tanenbaum: Computer Networks
CDN – Mreža za distribuciju sadržaja
Replikacija sadržaja • streaming velikih datoteka (npr. video) sa jednog
izvorišnog servera u realnom vremenu je zahtjevna
• rješenje: replikacija sadržaja na stotinama servera diljem Interneta
– sadržaj se prebacuje na CDN servere unaprijed
– Stavljanje sadržaja “blizu” korisnika smanjuje poteškoće (gubici, kašnjenje) usljed slanja dugim putevima
– CDN server je tipično u rubnoj/pristupnoj mreži
15.3.2012. Napredni TK protokoli i NGN - Streaming 37
CDN (2) Replikacija sadržaja • CDN (npr Akamai) kao
korisnika ima onoga koji nudi medijski sadržaj (npr. CNN)
• CDN na CDN serverima replicira sadržaj koji obezbjeđuje klijent
• Kad davalac sadržaja (klijent) ažurira sadržaj, CDN ažurira servere
15.3.2012. Napredni TK protokoli i NGN - Streaming 38
izvorišni server
U Sjevernoj Americi
CDN distribucijski čvor
CDN server
u J. Americi CDN server
u Evropi
CDN server
u Aziji
CDN primjer
izvorišni server (www.foo.com)
• distribuira HTML
• zamjenjuje: http://www.foo.com/sports.ruth.gif
sa http://www.cdn.com/www.foo.com/sports/ruth.gif
CDN kopanija (cdn.com) • distribuira gif datoteke
• koristi svoje (authoritative) DNS servere da preusmjeri zahtjeve
15.3.2012. Napredni TK protokoli i NGN - Streaming 39
HTTP request for
www.foo.com/sports/sports.html
DNS query for www.cdn.com
HTTP request for
www.cdn.com/www.foo.com/sports/ruth.gif
1
2
3
origin server
CDN’s authoritative
DNS server
CDN server near client
client
Još o CDN
Usmjeravanje zahtjeva
• CDN pravi “mapu”, sa udaljenostima između krajnjih (leaf) ISP i CDN čvorova
• kad stigne upit na (authoritative) DNS server: – server utvrđuje sa kog ISP dolazi upit
– korist “mapu” da izabere najbolji CDN server
• CDN čvorovi stvaraju mrežu na aplikativnom nivou preko postojeće Internet mreže (overlay network)
15.3.2012. Napredni TK protokoli i NGN - Streaming 40
Primjer - YouTube
• Popularna Web lokacija za objavljivanje i pregled video zapisa
• Jednostavno objavljivanje vlastitih snimaka
• Snimci do 15 minuta i 2(0) GB
• Posluži milijardu videa dnevno [YouTube]
• Postavi se 24 sata videa svake minute
• Četvrti po posjećenosti iza FB, Google i Gmail [NetCraft]
15.3.2012. Napredni TK protokoli i NGN - Streaming 41
YouTube - tehnologija
• Reprodukcija kroz Web preglednik dodatak – Adobe Flash Player
• Postavljanje različitih formata – .avi, .mp4, .ogg, .flv, .mkv, .mov., .ogv
sa različitim koderima – MPEG-4, MPEG, WMV, VOB, 3GP
15.3.2012. Napredni TK protokoli i NGN - Streaming 42
YouTube – koderi i kvalitet
• Kodiranje – Video MPEG-4 AVC (H.264)
• Za mobilne uređaje MPEG-4 Visual
– Audio AAC
• Rezolucije od 400x240 do 4096x3072 • Za mobilne uređaje 176 x 144
15.3.2012. Napredni TK protokoli i NGN - Streaming 43
Brzina prenosa – sa ETF
15.3.2012. 44 [Izvor YouTube]
Napredni TK protokoli i NGN - Streaming
YouTube – test video
15.3.2012. Napredni TK protokoli i NGN - Streaming 45
YouTube – test video
15.3.2012. Napredni TK protokoli i NGN - Streaming 46
YouTube streaming
• Streaming protokol – RTMP preko porta 80 (izgleda)
• Adobe protokol za Macromedia Flash Media Server stream ka Adobe Flash Player klijentu
– RTSP • Za mobilne uređaje
– HTTP download (?)
15.3.2012. Napredni TK protokoli i NGN - Streaming 47
YouTube slijed događaja
• Nakon izbora snimka za pregled
• Iz .swf datoteke se učitaju podaci o datoteci sa snimkom, lokaciji, kodiranju – Ima funkciju meta datoteke
• Preuzimanje .flv sa druge Web lokacije – Streaming server
26.3.2010. Napredni TK protokoli i NGN - Streaming datoteka 48 15.3.2012. 48 Napredni TK protokoli i NGN - Streaming
YouTube datoteke
• Svaki video se nalazi na mini-cluster-u
• Svaki video se poslužuje sa više od jednog računara. Korištenje klastera znači: – Više diskova poslužuje sadržaj – brže
– Rezerva, ako se neki računar pokvari drugi preuzimaju
– Postoje rezervne kopije online
15.3.2012. Napredni TK protokoli i NGN - Streaming 49
YouTube Web serveri
• Apache za stranice
• Lighttpd Web server za video: – Apache ima previše overhead.
– Koristi epoll da sačeka na više feeds.
– Prebačen sa jedne na više procesnu konfiguraciju da može raditi sa više konekcija
• NetCraft kaže da je ovo gws (Google Web Server?)
15.3.2012. Napredni TK protokoli i NGN - Streaming 50
YouTube CDN
• Najpopularniji sadržaji prebačeni na CDN
• CDN uglavnom poslužuju iz memorije jer su sadržaji tako popularni da su gotovo stalno u memoriji
• Manje popularni sadržaji (1-20 pregleda dnevno) koriste YouTube servere na različitim colocation lokacijama
15.3.2012. Napredni TK protokoli i NGN - Streaming 51
YouTube još pitanja
• Posluživanje malih sličica (thumbnails) – Google BigTable
• Pretraživanje – Google je vlasnik
• Baza podataka – Nekad MySQL
– Sada BigTable
26.3.2010. Napredni TK protokoli i NGN - Streaming datoteka 52 15.3.2012. 52 Napredni TK protokoli i NGN - Streaming
Literatura
• J. Kurose, K. Ross, “Computer networking: A Top-Down Approach”, 2009, Poglavlje “7.2 Streaming Stored Audio and Video”
• A. Tanenbaum, “Computer Networks”, poglavlje 7.4.6 “Introduction to Video”
• Johnson I. Agbinya, “IP Communications and Services for NGN“, Poglavlje “16. RTSP”
• T. Hoff, “YouTube Architecture”, http://highscalability.com/youtube-architecture
15.3.2012. Napredni TK protokoli i NGN - Streaming 53