53
Napredni telekomunikacijski protokoli i mreže nove generacije Streaming zvuka i slike iz datoteka i “uživo”

3. NTPMNG - Streaming

Embed Size (px)

Citation preview

Page 1: 3. NTPMNG - Streaming

Napredni telekomunikacijski protokoli i mreže nove

generacije

Streaming zvuka i slike iz datoteka i “uživo”

Page 2: 3. NTPMNG - Streaming

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

Page 3: 3. NTPMNG - Streaming

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.

Page 4: 3. NTPMNG - Streaming

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

Page 5: 3. NTPMNG - Streaming

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

Page 6: 3. NTPMNG - Streaming

Š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

Page 7: 3. NTPMNG - Streaming

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

Page 8: 3. NTPMNG - Streaming

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

Page 9: 3. NTPMNG - Streaming

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.

Page 10: 3. NTPMNG - Streaming

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

Page 11: 3. NTPMNG - Streaming

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

Page 12: 3. NTPMNG - Streaming

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

Page 13: 3. NTPMNG - Streaming

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.

Page 14: 3. NTPMNG - Streaming

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

Page 15: 3. NTPMNG - Streaming

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

Page 16: 3. NTPMNG - Streaming

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

Page 17: 3. NTPMNG - Streaming

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

Page 18: 3. NTPMNG - Streaming

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

Page 19: 3. NTPMNG - Streaming

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.

Page 20: 3. NTPMNG - Streaming

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.

Page 21: 3. NTPMNG - Streaming

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.

Page 22: 3. NTPMNG - Streaming

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

Page 23: 3. NTPMNG - 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.

Page 24: 3. NTPMNG - Streaming

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

Page 25: 3. NTPMNG - Streaming

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

Page 26: 3. NTPMNG - Streaming

Protokoli

• Prenos podataka – UDP/RTP

• Kontrola RTCP

– TCP/HTTP • downlaod

• Kontrola – RTSP

– HTTP

15.3.2012. Napredni TK protokoli i NGN - Streaming 26

Page 27: 3. NTPMNG - Streaming

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

Page 28: 3. NTPMNG - Streaming

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

Page 29: 3. NTPMNG - Streaming

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

Page 30: 3. NTPMNG - Streaming

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

Page 31: 3. NTPMNG - Streaming

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

Page 32: 3. NTPMNG - Streaming

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

Page 33: 3. NTPMNG - Streaming

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

Page 34: 3. NTPMNG - Streaming

Video serveri

Hijerarhija pohranjivanja na video serveru

15.3.2012. 34 Napredni TK protokoli i NGN - Streaming

Izvor A. Tanenbaum: Computer Networks

Page 35: 3. NTPMNG - Streaming

Video serveri (2)

Hardverska arhitektura tipičnog video servera.

15.3.2012. 35 Napredni TK protokoli i NGN - Streaming

Izvor A. Tanenbaum: Computer Networks

Page 36: 3. NTPMNG - Streaming

Video on Demand

15.3.2012. 36 Napredni TK protokoli i NGN - Streaming

Izvor A. Tanenbaum: Computer Networks

Page 37: 3. NTPMNG - Streaming

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

Page 38: 3. NTPMNG - Streaming

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

Page 39: 3. NTPMNG - Streaming

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

Page 40: 3. NTPMNG - Streaming

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

Page 41: 3. NTPMNG - Streaming

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

Page 42: 3. NTPMNG - Streaming

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

Page 43: 3. NTPMNG - Streaming

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

Page 44: 3. NTPMNG - Streaming

Brzina prenosa – sa ETF

15.3.2012. 44 [Izvor YouTube]

Napredni TK protokoli i NGN - Streaming

Page 45: 3. NTPMNG - Streaming

YouTube – test video

15.3.2012. Napredni TK protokoli i NGN - Streaming 45

Page 46: 3. NTPMNG - Streaming

YouTube – test video

15.3.2012. Napredni TK protokoli i NGN - Streaming 46

Page 47: 3. NTPMNG - Streaming

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

Page 48: 3. NTPMNG - Streaming

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

Page 49: 3. NTPMNG - 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

Page 50: 3. NTPMNG - Streaming

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

Page 51: 3. NTPMNG - Streaming

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

Page 52: 3. NTPMNG - Streaming

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

Page 53: 3. NTPMNG - 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