Rtp Rtcp Rtsp Verzija3

Embed Size (px)

DESCRIPTION

RTP-RTCP-RTSP

Citation preview

  • 18.12.2013

    1

    RTP-RTCP-RTSP

    Semir Dudi Amer Huki III 5/10 Jasmin Bei III 46/10

    1

    Sadraj predavanja

    Streaming datoteka sa zvunim i video zapisima

    CDN

    RTP

    RTCP

    RTSP

    2

  • 18.12.2013

    2

    Multimedijalne mrene aplikacije

    Multimedija - sadraj koji od nas zahtijeva upotrebu

    vie ula kako bismo ga shvatili u potpunosti

    Obino osjetljive na kanjenje

    End-to-end kanjenje

    Jitter kanjenje

    Tolerantne na gubitke

    Rijetki gubici paketa izazivaju manje smetnje

    Prijenos podataka (e-mail, FTP) je osjetljiv na

    gubitke, a ne na kanjenje

    3

    Multimedijalne mrene aplikacije

    Klase multimedijalnih aplikacija:

    VoIP - Interaktivne aplikacije u realnom vremenu

    Streaming datoteka (snimljeni audio i video zapisi)

    Streaming programa u realnom vremenu

    4

  • 18.12.2013

    3

    Audio/Video Internet servisi

    Termin streaming podrazumijeva sluanje ili

    gledanje fajla nakon to je download poeo

    Streaming je generiki naziv za tehnologiju prijenosa

    audio i video zapisa

    Oznaava prijem i istovremeno reproduciranje audio

    i video podataka putem raunarske mree

    5

    Audio/Video Internet servisi (2)

    Internet audio/video

    Streaming slike i zvuka

    u realnom vremenu

    Interaktivni

    audio/video

    Streaming snimljenog

    audio/video zapisa

    6

  • 18.12.2013

    4

    Pri streamingu snimljenog audio/video sadraja

    fajlovi su memorisani na serveru nekomprimirani

    Klijent download-uje fajlove preko Interneta

    Ovo se ponekad naziva audio-video na zahtjev

    Primjeri snimljenog audio i video zapisa su: filmovi,

    muzika, TV emisije i sl.

    Za streaming audio/video materijala potrebna je

    kompresija tog materijala

    Streaming snimljenog audio/videa

    7

    Streaming audio/video zapisa u realnom vremenu

    Klasini radio i televizijski difuzni prijenos gdje je

    prijenosni medij internet (internet radio)

    Neke radio stanice emituju program samo preko

    interneta, dok druge emituju i preko etera.

    Internet TV (IPTV) je sve popularniji, ali e klasina

    televizija jo dugo opstati.

    Primjeri aplikacija su Internet radio talk show, uivo

    sportski dogaaji itd.

    8

  • 18.12.2013

    5

    Postoji nekoliko slinosti izmeu streaming-a

    snimljenog i programa u realnom vremenu. Oba su

    osjetljiva na kanjenje i ne dozvoljavaju retransmisiju

    oteenih ili izgubljenih paketa.

    Meutim, postoji razlika. Kod prvog je komunikacija

    unicast i on-demand tipa. Kod streaming-a u realnom

    vremenu (live streaming) komunikacija je multicast

    tipa i odvija se u realnom vremenu. Iako je mnogo

    pogodnije koristiti multicast mogunosti IP-a i UDP-a

    ili RTP-a, trenutno se uglavnom koristi TCP i

    viestruki unicast.

    Streaming audio/video zapisa u realnom vremenu

    9

    Streaming

    10

  • 18.12.2013

    6

    Interaktivni audio/video

    Tipine aplikacije su: IP telefoniranje, video

    konferencije, distributivne interaktivne aplikacije.

    Slualac ne primjeuje kanjenja manja od 150 ms.

    Kanjenja izmeu 150 ms i 400 ms mogu biti

    prihvatljiva.

    11

    VoIP (Voice over IP)

    Prva varijanta internet telefoniranja (VoIP) realizovana

    je devedesetih godina dvadesetog vijeka od jednog

    raunara do drugog.

    Aplikacija dozvoljava da raunar koristei internet

    mreu pozove obian telefon.

    Veza se ostvaruje od raunara, preko mrenog prolaza

    komutiranih telefonskih mrea, do telefona.

    Za komunikaciju izmeu raunara i mrenog prolaza

    koriste se RTP, SIP i H.323 protokoli

    12

  • 18.12.2013

    7

    VoIP (Voice over IP)

    13

    VoIP i problemi sa multimedijom na internetu

    Kako TCP i UDP protokoli rade na vrhu IP protokola,

    oni ne garantuju odreeno kanjenje aplikacijama koje ih

    pozivaju.

    Sistemi VoIP-a i interaktivnog videa manje su se koristili

    od prijenosa snimljenog zvunog/video zapisa.

    Jitter (treperenje) razliita kanjenja paketa unutar

    istog toka paketa.

    14

  • 18.12.2013

    8

    Buffer na prijemnoj strani

    Odnosi brzina punjenja (slanja) i pranjenja

    (reprodukcije) i veliine buffer-a, moraju biti usklaeni

    za tanu reprodukciju.

    15

    Kodiranje i kompresija

    Kodiranje dodjeljivanje kodnih rijei simbolima

    poruke.

    Kompresija kodiranje koje smanjuje broj bita

    potreban za izraavanje poruke.

    Kompresija se vri u koderu informacije.

    16

  • 18.12.2013

    9

    Zato je kompresija mogua?

    Kompresija se temelji na redundanciji u podacima

    Vremenska redundancija (male razlike susjednih

    okvira)

    Prostorna (susjedni elementi slike - pixeli)

    Spektralna (korelacija izmeu boja i svjetline)

    Percepsijska (ljudski percepcijski sistem)

    Primjeri:

    MPEG1 (CD-ROM) 1.5Mb/s

    MPEG2 (DVD) 3-6Mb/s

    17

    MPEG standard

    Sinhronizacija audio i video stream-ova kod MPEG-1

    18

  • 18.12.2013

    10

    Streaming datoteka

    Na klijentov zahtjev, server alje kompresovani zapis

    na soket kao krajnju taku komunikacije. U praksi se

    za multimedijalne aplikacije koriste UDP soketi.

    Prije samog slanja, datoteka se dijeli u UDP

    segmente. Korisnik prima datoteku koristei media

    player aplikaciju.

    Funkcije Media Playera su:

    Dekompresija audio/video zapisa

    Uklanjanje jitter-a koristei bafer

    Prikrivanje greaka

    Kontrole za interaktivnost19

    Streaming snimljenog audio/video materijala

    Download-ovanje ovakvog sadraja sa interneta se

    razlikuje od download-ovanja drugih tipova fajlova.

    Postoje etiri razliita pristupa problemu (razliite

    sloenosti):

    Web server

    Web server sa Metafile-om

    Media server

    Media server i RTSP

    20

  • 18.12.2013

    11

    Web server

    21

    Web server

    Klijent (browser) koristi servise HTTP-a i alje GET

    zahtjev serveru. Server onda moe poslati traeni fajl.

    Browser na klijentovom raunaru onda koristi pomonu

    aplikaciju Media player, da bi pristupio datoteci. Ovaj

    proces je veoma jednostavan i ne zahtjeva streaming.

    Meutim, on ima svoje loe strane. Multimedijalni

    fajlovi su obino veliki, ak i poslije kompresije. Audio

    zapis moe imati nekoliko desetina Mb, dok video ak i

    vie stotina. Pri upotrebi Web servera, kompletan fajl

    mora biti preneen na klijentov raunar kako bi mu se

    pristupilo. To zahtijeva ekanje.

    22

  • 18.12.2013

    12

    Web server sa Metafile-om

    23

    Ovim postupkom se Media player direktno vezuje za

    server. Server pohranjuje dva fajla i to audio/video

    zapis i metafile koji sadri informacije o zapisu. Pri

    ovakvoj vrsti pristupa prolazi se kroz sljedee korake:

    HTTP klijent pristupa Web serveru naredbom GET.

    Kao odgovor klijent dobija metafile.

    Metafile se predaju Media player-u

    Media player koristi URL (Web adresu odreenog resursa

    na Internetu) iz metafile-a kako bi pristupio audio/video

    zapisu.

    Web server odgovara.

    Web server sa Metafile-om

    24

  • 18.12.2013

    13

    Media server

    Problem sa drugim pristupom je to i browser i Media

    player koriste usluge HTTP-a. HTTP je projektovan da

    komunicira preko TCP protokola. On je pogodan za

    prijem metafile-a, ali ne i za audio/video zapis. TCP

    protokol prati tok podataka i ponovo alje izgubljene

    pakete, ime kri samu filozofiju streaming-a. Potrebno je

    zaobii TCP i njegovu kontrolu greaka. Zbog toga

    koristimo UDP. Kako su Web serveri iskljuivo okrenuti

    TCP-u, potreban nam je jo jedan server - Media server.

    25

    Media server

    26

  • 18.12.2013

    14

    Media server i RTSP

    Real Time Streaming Protocol je upravljaki protokol

    projektovan da uvea funkcionalnost streaming procesa.

    Koristei RTSP imamo punu kontrolu nad reprodukcijom

    audio/video zapisa. RTSP je out-of-band upravljaki protokol

    koji je slian sekundarnoj konekciji kod FTP-a. Sljedei koraci

    su potrebni kako bi se ostvario ovakav vid komunikacije.

    27

    Media server i RTSP

    28

  • 18.12.2013

    15

    HTTP klijent pristupa Web serveru naredbom GET.

    Kao odgovor Web server alje metafile.

    Metafile se proslijeuje Media player-u.

    Media player alje komandu SETUP da bi uspostavio vezu sa media serverom koji mu onda alje potvrdu.

    Media player alje komandu PLAY kako bi zapoeoreprodukciju (streaming).

    Audio/video zapis se prenosi mreom koristei protokolzasnovan na UDP-u.

    Konekcija se prekida TEARDOWN komandom.

    Media server odgovara.

    Media server i RTSP

    29

    Stek protokola za multimedijalne usluge

    30

  • 18.12.2013

    16

    Podrka transportnog sloja

    TCP nije pogodan za interaktivni saobraaj (streaming).

    Nema mogunosti timestamp-a, niti podrava multicast.

    Podrava numerisanje paketa. On ima mogunost

    korekcije greaka. Kod aplikacija u realnom vremenu, ne

    moemo gubiti protok na retransmisiju izgubljenih ili

    oteenih paketa. Zbog toga, TCP nije pogodan za real-

    time aplikacije.

    UDP podrava multicast-ing, ali ne podrava timestamp,

    numerisanje sekvenci ili mijeanje stream-ova.

    UDP je pogodniji za real-time aplikacije od TCP-a pri

    emu njegove nedostatke nadomjetavamo upotrebom

    RTP-a.

    31

    CDN - Mrea za distribuciju sadraja

    Streaming velikih datoteka (npr. video) sa jednog izvornog servera u realnom vremenu je zahtjevan.

    Rjeenje - replikacija sadraja na stotinama servera irom interneta:

    Sadraj se prebacuje na CDN servere unaprijed

    Stavljanje sadraja blizu korisnika smanjuje potekoe (gubici, kanjenje) usljed slanja drugim

    putevima

    CDN server je tipino u rubnoj/pristupnoj mrei

    32

  • 18.12.2013

    17

    CDN - Mrea za distribuciju sadraja (2)

    Replikacija sadraja

    CDN kao korisnika ima onoga koji nudi medijski sadraj

    CDN na CDN serverima replicira sadraj koji obezbjeuje klijent

    Kad davalac sadraja (klijent) aurira sadraj, CDN aurira

    servere

    33

    CDN - Mrea za distribuciju sadraja (3)

    Usmjeravanje zahtjeva:

    CDN pravi mapu, sa udaljenostima izmeu krajnjih (leaf) ISP i CDN vorova.

    Kad stigne upit na DNS server:

    Server utvruje sa kojeg ISP dolazi upit

    Koristi mapu da izabere najbolji CDN server

    CDN vorovi stvaraju mreu na aplikativnom nivou preko postojee Internet mree (overlay network)

    34

  • 18.12.2013

    18

    Primjer : YouTube

    Popularna Web lokacija za objavljivanje i pregled video zapisa

    Jednostavno objavljivanje vlastitih snimaka

    Poslui nekoliko milijardi videa dnevno

    Kodiranje

    Video MPEG-4 AVC (H.264)

    Za mobilne ureaje MPEG-4 Visual

    Audio AAC

    35

    YouTube Test video

    36

  • 18.12.2013

    19

    YouTube

    Nakon izbora snimka, iz .swf datoteke se uitaju podaci o datoteci sa snimkom, lokaciji, kodiranju

    Preuzimanje .flv sa druge Web lokacije (Streaming server)

    Svaki video se nalazi na mini cluster-u

    Svaki video se posluuje sa vie od jednog raunara

    Koritenje cluster-a znai:

    Vie diskova posluuje sadraj

    Pouzdanost, ako se neki raunar pokvari drugi preuzimaju

    Postoje rezervne kopije online

    37

    YouTube - CDN

    Najpopularniji sadraji su prebaeni na CDN

    CDN uglavnom posluuju iz memorije jer su sadraji toliko popularni da su gotovo stalno u memoriji

    Manje popularni sadraji (1-20 pregleda dnevno) koriste YouTube servere na razliitim colocation

    serverima

    38

  • 18.12.2013

    20

    Real Time Transport Protocol (RTP)

    RTP osigurava funkcije za mreno prenoenje podataka urealnom vremenu kao to su audio, video i podaci koji se

    koriste za simulacije preko unicast i multicast mrenih usluga.

    RTP odreuje strukturu paketa koji prenose zvune i videozapise.

    RTP paket prua:

    Identifikaciju tipa sadraja

    Numerisanje sekvence paketa

    Vremenske oznake

    39

    RTP se izvrava kod uesnika u komunikaciji (end systems)

    RTP paketi se pakuju u UDP segmente

    Interoperabilnost

    ako dvije razliite aplikacije (npr.VoIP) koriste RTP,moda mogu raditi zajedno

    Real Time Transport Protocol (2)

    40

  • 18.12.2013

    21

    Real Time Transport Protocol (3)

    Iako je dizajniran kako bi bio neovisan od protokola ispodnjega RTP se vrlo esto koristi u kombinaciji s UDP

    protokolom kako bi iskoristio njegove mogunosti

    multipleksiranja i checksum provjere.

    RTP ne posjeduje mehanizme dostave paketa (multicasting,brojeve portova) te mu je zbog toga neophodan UDP da bi

    funkcionisao.

    RTP se javlja kao posrednik izmeu UDP-a i aplikacije.

    41

    Real Time Transport Protocol (4)

    Glavne osobine RTP-a su :

    timestamp,

    numerisanje sekvenci i

    mijeanje stream-ova.

    RTP ne omoguava rezervaciju resursa u mrei i ne garantujekvalitet za vremenski osjetljive servise. Za ove funkcije moraju

    se koristiti protokoli koji se nalaze ispod RTP-a u protokolnom

    steku.

    Osnovna ideja RTP-a je zadovoljavanje potreba vie korisnikaneke multimedijalne konferencije, premda se moe koristiti i u

    nekim drugim primjenama.

    42

  • 18.12.2013

    22

    Arhitektura RTP protokola

    RTP kao i RTCP pripadaju aplikacijskom sloju.

    Samo RTP se spaja na UDP te dolazimo do

    estog pitanja zato se koristi UDP, a ne TCP.

    Kod online stream-a, bitna je brzina samog

    prijenosa paketa, gdje zbog velikih koliina

    paketa lako dolazi do greke. Sa TCP

    protokolom slao bi se ponovni zahtjev za

    izgubljenim paketima, odnosno TCP se bazira

    na pouzdanim podacima, te e ponovo poslati

    signal za slanjem paketa koji su bili oteeni

    prilikom prijema. UDP ne brine o pouzdanosti

    komunikacije te radi toga nee usporiti brzinu

    komunikacije te isto tako nee slati ponovni

    zahtjev za slanjem oteenih podataka.

    Naravno treba napomenuti ukoliko elimo

    pouzdane i ispravne podatke moemo izabrati

    TCP protokol.

    43

    Format RTP protokola

    Format RTP datagrama je jednostavan i dovoljno uopten dapokrije sve real-time aplikacije. Aplikacija kojoj su potrebne

    dodatne informacije dodaje ih na poetak payload-a (korisnih

    podataka u paketu).

    44

  • 18.12.2013

    23

    Format RTP protokola (2)

    VER - 2 bita koja definiu verziju RTP-a.

    P - 1 bit, definie da li je upotrijebljen padding (dopunjavanje) paketa.

    X (extension) - 1 bit, ukazuje na dodatno zaglavlje izmeu standardnog zaglavlja i data polja. Za 0 dodatnog zaglavlja nema.

    Contributor count (CSRC count) - 4-bit-no polje, definie broj uesnika (izvora). Maksimalan broj uesnika je 15.

    M (marker) - 1 bit, koriste ga neke aplikacije za npr. oznaavanje kraja stream-a.

    Payload type - 7-bitna informacija koja definie tip podataka. Nekoliko tipova podataka su ve predefinisani, ostali su stavljeni za

    buduu upotrebu.45

    Format RTP protokola (3)

    Seq. Number - 16 bita. Ovo polje se koristi za numeraciju RTP paketa, jer UDP ne numerie svoje pakete. Broj prvog

    paketa je izabran sluajno, svaki sljedei se uveava za 1.

    Prijemnik ovo polje koristi za identifikaciju izgubljenih paketa.

    Timestamp - 32-bitno polje koje odreuje vremenski iznos izmeu paketa. Prvi paket je oznaen sluajno izabranim

    brojem. Za svaki sljedei paket vrijednost je zbir prethodnih

    timestamp-ova i vremena slanja prvog uzorka. Vrijednost

    vremenske jedinice zavisi od aplikacije. Npr. audio aplikacije

    uglavnom generiu segmente od 160 bajtova. Svaki sljedei

    stamp je vei za 160.

    46

  • 18.12.2013

    24

    Format RTP protokola (4)

    Synchronization Source Identifier (SSRC) - 32 bita. Ako postoji samo jedan izvor, ovaj broj ga definie.Meutim, ako

    ima vie izvora, mixer je izvor sinhronizacije, a ostali izvori su

    uesnici (kontributori). Ovo polje je sluajan broj generisan od

    strane izvora. Protokol definie strategiju koja se primjenjuje

    ukoliko se pojave konflikti.

    Contributor Identifier (CSRC) - 32 bita. Svaki od ovih identifikatora definiu jednog uesnika (maksimalno 15). Kada

    ima vie izvora podataka, mixer je izvor sinhronizacije, a ostali

    izvori su uesnici.

    47

    RTP preko UDP-a

    RTP vri proirenje usluga koje prua UDP Za RTP moemo rei da je transportni protokol naaplikativnom nivou

    48

  • 18.12.2013

    25

    Primjer VoIP - RTP

    Audio signal govornika: naizmjenino govor i tiina

    64 kb/s dok se govori

    Paketi se prave samo kad ima govora

    20 ms govora brzine 8 KB/s : 160 bajta podataka

    RTP zaglavlje dodaje se svakom komadu i pakuje se uUDP

    Aplikacija alje UDP segmente na soket svakih 20 mstokom govora

    49

    Primjer VoIP RTP (2)

    RTP zaglavlje daje informaciju o kodiranju zvuka usvakom paketu

    Poiljalac moe promijeniti kodiranje tokom govora

    RTP zaglavlje takoer sadri:

    Brojeve paketa (sekvencu)

    Vremenske oznake

    50

  • 18.12.2013

    26

    RTP i QoS

    RTP ne nudi nikakve mehanizme za osiguravanjepravovremene isporuke podataka ili druge QoS garancije

    RTP enkapsulaciju vide samo krajne take komunikacije,ne i ruteri na putu

    ruteri pruaju best-effort uslugu

    nikakav poseban tretman RTP paketa koji biosigurava pravovremeni prenos

    51

    RTP podrka za multicast

    U optem sluaju RTP komunikacija je multicast

    Paketi se alju na IP multicast adresu

    Synchonization Source Identifier (SSRC)

    Jedinstvena identifikacija izvora toka u RTP sesiji

    52

  • 18.12.2013

    27

    RTP sesija

    RTP sesija je slanje i primanje RTP podataka u grupi korisnika

    Za svakog korisnika, sesija je par transportnih adresa koji se koriste za komunikaciju sa grupom.

    Ako se vie tipova medija prenosi u grupi, prijenos svakog od medija predstavlja sesiju.

    53

    RTP proslijeivanje

    Kada imamo vie uesnika u komunikaciji, esto se javlja situacija da nisu svi uesnici povezani u mreu linkovima istog

    kapaciteta.

    Korisnici sa slabijim linkovima zahtijevaju koritenje codec-a sa manjim protokom uz prihvatanje degradacije kvalitete signala.

    Mixeri

    Primaju tok (ove) RTP paketa od jednog ili vie izvora

    Kombinuju tokove i proslijeuju novi tok

    Prevodioci

    Proizvode jedan ili vie izlaznih RTP paketa za jedan dolazni

    Npr. konverzija na nii kvalitet

    54

  • 18.12.2013

    28

    Mixeri

    Mixer je ureaj koji matematiki sabira dva signala iz razliitihizvora kako bi generisao jedan signal.

    Mixer ima zadatak da usaglaava razliite codec-e i da vriresinhronizaciju audio zapisa na manji protok koji odgovara

    korisnicima sa slabijim linkovima.

    Mixer moe da generie pakete kako za unicast tako i zamulticast komunikaciju.

    55

    Prevodioci

    Prevodioci povezuju dvije ili vie mrea

    - Mijenjaju format signala

    - Smanjuju kvalitet signala kako bi on mogao biti poslan

    kroz mreu male propusnosti

    - Transparentni za korisnike

    56

  • 18.12.2013

    29

    Real-Time Transport Control Protocol (RTCP)

    RTCP (Real-Time Control Protocol), standardiziran u RFC-u1889 i 1890, predstavlja kontrolni protokol koji radi skupa sa

    RTP-om na aplikacijskom sloju. Protokoli ispod

    aplikacijskog sloja moraju osigurati multipleksiranje

    podatkovnih i kontrolnih paketa (npr. koritenje razliitog

    broja porta kod UDP-a).

    RTCP se bazira na periodikoj transmisiji kontrolnih paketasvim sudionicima sesije koristei iste mehanizme distribucije

    koji se koriste i za prijenos podataka.

    Svaki uesnik u RTP sesiji periodino alje RTCP kontrolnepakete svim drugim uesnicima.

    Svaki RTCP paket sadri izvjetaj poiljaoca i/ili primaoca.

    57

    RTCP (2)

    RTP sesija:

    Uglavnom jedna multicast adresa, svi RTP/RTCP paketi kojipripadaju sesiji koriste multicast adresu.

    RTP i RTCP paketi se razlikuju po broju porta

    Da bi se ograniio saobraaj, svaki uesnik smanjuje svojsaobraaj sa poveanjem broja uesnika sesije

    58

  • 18.12.2013

    30

    RTCP funkcije

    Primarna funkcija je slanje povratnih informacija okvalitetu servisa za podatke koji su poslati korisnicima. Ova

    funkcija se obavlja slanjem SR i SS tipova podataka.

    Druga funkcija je slanje stalnog identifikatora izvora kojinazivamo Canonical name (CNAME). S obzirom da postoji

    mogunost da se SSRC mijenja u toku komunikacije (zbog

    kolizije identifikacija), neophodno je da se izvor moe

    jedinstveno identifikovati od strane uesnika komunikacije.

    Za to se koristi CNAME. CNAME je takoe neophodan

    kada jedan izvor generie vie tipova podataka (audio i video

    podaci) da bi bila mogua meusobna sinhronizacija.

    59

    RTCP funkcije (2)

    Prve dvije funkcije su obavezne za sve uesnike ukomunikaciji. Na osnovu tih informacija koje prima

    svaki uesnik, mogu da se izraunaju potrebni intenziteti

    slanja ovih paketa (trea funkcija).

    etvrta funkcija je opciona. Omoguava da se u tokusesije korisnicima prikazuju potrebne informacije o

    uesnicima.

    60

  • 18.12.2013

    31

    RTCP-formati paketa

    Receiver report (Izvjetaj primatelja) slui za izraunukupnog kanjena izmeu poiljatelja i primatelja, alje ga

    primatelj koji nije aktivni sudionik transfera. Izvjetaj primatelja

    je za pasivne uesnike, one koji samo primaju, a ne alju RTP

    datagrame. Obavjetava izvor i druge primatelje o kvaliteti

    servisa.

    Sender report (Izvjetaj poiljatelja) ova poruka se periodinoalje od strane aktivnih izvora u konferenciji i daje izvjetaj o

    statistici svih poslanih i primljenih RTP paketa. Izvjetaj sadri

    apsolutni vremenski kod (timestamp) koji predstavlja broj

    sekundi koji je protekao od ponoi 1.januara 1970.godine. Ovaj

    apsolutni vremenski kod omoguava prijemniku da sinhronizuje

    razliite RTP poruke. Naroito je vaan ako se alju i audio i

    video signal (svaki koristi poseban relativni vremenski kod).

    61

    RTCP-formati paketa(2)

    Source description message (Opis izvora) - opis izvorasaobraaja to ukljuuje i slanje CNAME podataka.

    Bye message (Pozdravna poruka) - Izvor alje ovu porukukada zatvara tok podataka (stream). Omoguava izvoru da

    najavi svoje iskljuivanje iz konferencije.

    Application specific message (Poruka karakteristina zaaplikaciju) - Ovo je paket podataka koji definie upotrebu nove

    aplikacije (koja jo nije definisana standardom). Omoguuje

    definiciju novog tipa poruke.

    62

  • 18.12.2013

    32

    Sinhronizacija tokova

    RTCP moe sinhronizovati razliite medijske tokove unutar

    jedne RTP sesije.

    Recimo aplikacija za video-konferenciju gdje svaki uesnik

    pravi jedan RTP tok za sliku, a drugi za zvuk.

    Vremenske oznake u RTP paketima vezane su za clock

    uzorkovanja slike i zvuka, a ne za stvarno vrijeme

    Svaki paket izvjetaja poiljaoca i sadri (za posljednji paket iz

    odgovarajueg RTP toka):

    vremensku oznaku RTP paketa

    stvarno vrijeme kad je paket napravljen

    Prijemnici povezuju ove oznake radi sinhronizacije slike izvuka

    63

    RTCP-zaglavlje

    Version predstavlja istu verziju kao kod RTP protokola (2 bita)

    Padding ako je ukljuen, ovaj paket sadri dodatne bajte na kraju koji nisu ukljueni u kontrolu informacije. On moe biti

    potreban u nekim algoritmima sa fiksnim veliinama blokova (1

    bit)

    Count broj izvjetaja o blokovima sadranim u paketu (5 bita)

    Type koristi 8 bita

    Length duina RTCP paketa u 32-bitnim rijeima minus jedan, ukljuujui zaglavlje, i ako postoji proirenje. Pomak za jedan ini

    nulu valjanom duinom i time izbjegava mogunost beskonane

    petlje u skupu RTCP paketa (16 bita)

    64

  • 18.12.2013

    33

    Skaliranje RTCP saobraaja

    RTCP tei da dri svoj promet unutar 5% od prometa sesije

    RTCP dodjeljuje 75% svog prometa prijemnicima, a 25%poiljaocima

    Period slanja RTCP paketa za poiljaoce:

    Tsen=[BrPoiljalaca/(0.25*0.05*BandwidthSesije)]*(ProsVelRTCP paketa)

    Period slanja RTCP paketa za primaoce:

    Trec=[BrojPrimalaca/(0.75*0.05*BandwidthSesije)]*(ProsVelRTCP paketa)

    65

    Skaliranje RTCP -primjer

    Pretpostavimo da jedan poiljalac alje video brzinom 2 Mb/s

    RTCP tei da ogranii svoj saobraaj na 100 Kb/s

    75 Kb/s je ravnopravno podijeljeno meu prijemnicima:

    Za R prijemnika, svaki alje RTCP sa 75/R Kb/s.

    Poiljalac alje sa 25 Kb/s

    Uesnici utvruju period slanja raunajui prosjenu veliinuRTCP paketa (za cijelu sesiju) i dijele to sa dodijeljenom

    brzinom

    66

  • 18.12.2013

    34

    ta nedostaje RT(C)P-u?

    Protokoli RTP i RTCP su osnovni protokoli za prenosvremenski osjetljivih podataka preko IP mree (audio,video).

    Najvei broj implementacija VOIP rjeenja koristi oveprotokole.

    Meutim, ova dva protokola se ne bave uspostavljanjem sesije.Treba nam neto drugo.

    67

    Uvod - RTSP

    Umjesto pohranjivanja velikih multimedijskih sadraja injihovog lokalnog reproduciranja, podaci se alju mreom

    kao tok podataka. Sadraj je razbijen na manje pakete

    pogodne za prijenos mreom i putuju kao tok bita.

    Primatelj reproducira prvi paket dok dekomprimira drugi, aprima trei. Na taj nain moe konzumirati sadraj bez da

    on cijeli stigne na raunar.

    68

  • 18.12.2013

    35

    RTSP (Real-Time Streaming Protocol) je aplikacijski klijent-server protokol za upravljanje dostavom podataka u

    realnom vremenu preko IP mree.

    Omoguava daljinsko upravljanje multimedijskim sadrajem.

    Izvor podataka moe biti ili prijenos uivo ili ve pohranjeni podaci.

    RTSP je dizajniran da sarauje s protokolima nieg nivoa (RTP, RSVP).

    RTSP-za ta je namijenjen?

    69

    RTSP Razvoj

    RTSP je razvijen od RealNetworks, Netscape Communications i

    Columbia University.

    Prva radna verzija je predana IETF-u 1996 g. na razmatranje, od

    tada su uinjene mnoge promjene. Standardiziran je u RFC 2326.

    RTSP se koristi veinom u: SIP, RTSP i drugim multicast sesijama.

    70

  • 18.12.2013

    36

    RTSP kontrolira jedan ili vie vremenski sinhroniziranihtokova podataka kao to su audio ili video.

    RTSP takoer pomae serveru da prilagodi irinu opsega prioptereenju mree s ciljem iskoritenja dostupnog

    kapaciteta.

    Referencira na glavne zahtjeve korisnika i servera QoS,efikasnost isporuke, upravljanje pravima zatite sadraja i

    mjerenja.

    RTSP Razvoj (2)

    71

    Vana funkcija RTSP protokola je njegova sposobnost daodabere optimalni kanal do klijenta.

    Npr. ako se UDP ne moe koristiti, streaming serveri morajuponuditi izbor protokola za isporuku multicast UDP ili TCP

    da odgovara razliitim klijentima. Osim toga prua i

    sredstva za odabir mehanizama za isporuku baziranih na

    RTP-u.

    RTSP Razvoj (3)

    72

  • 18.12.2013

    37

    Prijenos medija nije uloga RTSP-a. Veina RTSP servera koristi RTP (Real-time Transport Protocol) za prijenos medija.

    Ne definie kako je audio/video upakovan za streaming kroz mreu.

    Ne ograniava na koji nain se vri transport medija (UDP ili TCP)

    Ne odreuje kako media player koristi buffer za audio/video

    RTSP - za ta nije namijenjen?

    73

    RTP I RTSP

    RTSP se koristi kada gledaoci komuniciraju sa serverom.

    RTSP doputa dvosmjernu komunikaciju, odnosno, gledaocimogu komunicirati sa server-om i kontrolirati tok filma.

    RTP je jednosmjerni protokol koji se koristi da poaljestream-ove od servera do klijenta.

    74

  • 18.12.2013

    38

    Uzimanje podataka sa servera klijent moe zatraiti opisprezentacije preko HTTP protokola ili nekom drugom metodom.

    Ako je multicast prezentacija tada njen opis sadri adresu i port

    koji se koristi za prijenos podataka, a ako je prezentacija unicast,

    klijent odreuje adresu na koju e se slati podaci.

    Pozivanje servera da se pridrui konferenciji server moe biti pozvan da se pridrui postojeoj konferenciji, pri emu on moe

    reproducirati ili snimiti podatke.

    Dodavanje novih medija postojeoj prezentaciji korisno je ako server moe obavijestiti klijenta da su postali raspoloivi dodatni

    materijali.

    Funkcije koje RTSP podrava

    75

    RTSP i HTTP

    RTSP pokuava omoguiti iste usluge za tok audio i videopodataka kao to ih HTTP prua za tekst i grafiku.

    Namjerno je dizajniran da ima slinu sintaksu i funkcije kaoHTTP, kako bi se mogli dodati neki HTTP mehanizmi.

    U RTSP-u je svaka prezentacija i tok medijskih podatakaidentificirana RTSP URL-om.

    Ukupni podaci o prezentaciji i osobine medija upisani su uopisnu datoteku (Description File), u kojoj se mogu jo nalaziti

    nain kodiranja, jezik, RTSP URL-ovi, odredine adrese,

    portovi i sl.

    76

  • 18.12.2013

    39

    Osnovna prednost RTSP-a je to to omoguava brzo premotavanjenaprijed ili nazad, pauziranje, nastavljanje reprodukcije, izbor

    trenutka od kojeg poeti sa reprodukcijom.

    Dok je HTTP stateless protokol (komunikacijski protokol koji tretirasvaki zahtjev kao samostalnu transakciju, neovisnu o bilo kojem

    prethodnom zahtjevu), RTSP uva stanje (identifikator sjednice) za

    svaki prikaz koji je u toku.

    RTSP klijent i server mogu poslati zahtjev za podacima, dok kodHTTP-a uvijek klijent alje zahtjev.

    RTSP je dosta povezan sa HTTP protokolom tako da se RTSPserveru moe bez problema pristupati preko Web stranice.

    Razlike RTSP-a i HTTP-a

    77

    Kako RTSP radi?

    Rastavlja podatke na pakete ija je veliina usklaena saraspoloivim opsegom.

    Kada klijent primi dovoljno paketa, softver moe:

    Reproducirati jedan paket,

    Dekompresovati drugi i

    Download-ovati trei paket.

    Ovo se moe aplicirati na podatke u realnom vremenu kao i napohranjene klipove.

    78

  • 18.12.2013

    40

    RTSP

    79

    RTSP- objanjenje rada

    Prije nego li klijent uspostavi streaming sesiju on mora naneki nain dobiti opis sesije od web servera koristei

    HTTP protokol.

    U skladu sa informacijama u opisu sesije, klijent aljeRTSP SETUP zahtjev streaming serveru.

    Server informira klijenta sa OK (ack) odgovorom da biindicirao da je stream uspjeno pripremljen.

    Klijent poinje streaming sa RTSP PLAY zahtjevom izavrava streaming sesiju sa RTSP TEARDOWN

    zahtjevom.

    80

  • 18.12.2013

    41

    RTSP- objanjenje rada

    81

    Primjer RTSP

    Klijent alje SETUP. Ova komandase koristi da uspostavi vezu i

    parametre transporta.

    Klijent alje PLAY. Ovo pokreereprodukciju.

    Klijent moe poslati PAUSE akoeli pauzirati tokom reprodukcije.

    Klijent alje TEARDOWN.Terminira sesiju i zatvara vezu.

    82

  • 18.12.2013

    42

    Primjer RTSP (2)

    Potrebno je naglasiti, da server uvijek alje potvrde na sve komande koje klijent poalje.

    83

    Primjer RTSP razgovora

    K: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0

    Transport: rtp/udp; compression; port=3056; mode=PLAY

    S: RTSP/1.0 200 1 OK

    Session 4231

    K: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0

    Session: 4231

    Range: npt=0-

    K: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0

    Session: 4231

    Range: npt=37

    K: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0

    Session: 4231

    S: 200 3 OK

    84

  • 18.12.2013

    43

    RTSP stanja

    RTSP ima odreeni skup stanja sa kojima je asociran za razliku

    od HTTP-a. Na slici su prikazana stanja koja RTSP moe imati.

    85

    Ponaanje klijenta i posluitelja

    Dijagram stanja RTSP klijenta i posluitelja, opisuje ponaanjeprotokola od inicijalizacije do prekida RTSP sesije.

    Stanje je definirano na temelju objekta. Objekt je jedinstveno odreensa URL-om toka i RTSP identifikatorom sesije.

    Dijagram stanja ima etiri stanja: Init (poetno stanje), Ready(spreman), Playing (reprodukcija) i Record (snimanje).

    Prijelazi meu stanjima odreeni su pozivom metoda: SETUP(uspostava struje podataka i postavljanje parametara), PLAY(reprodukcija), RECORD (snimanje), PAUSE (privremeno

    zaustavljanje snimanja ili reprodukcije), TEARDOWN (raskid,oslobaanje resursa).

    86

  • 18.12.2013

    44

    Razmjena RTSP poruka izmeu klijenta i posluitelja

    87

    RTSP-metodi

    METOD OPIS

    DESCRIBE Pronai opis prezentacije

    ANNOUNCE Dostavi opis prezentacije

    GET_PARAMETER Pronai vrijednost parametra

    OPTIONS Lista dostupnih metoda

    PAUSE Isporuka stream-ova je na privremenom ekanju

    PLAY Poni slati podatke

    RECORD Poni primati podatke

    REDIRECT Informira da se konektuje druga lokacija servera

    SETUP Specificira transportni mehanizam

    SET_PARAMETER Zahtijeva da se setuje vrijednost parametra

    TEARDOWN Zaustavlja isporuku stream-ova i oslobaa resurse

    88

  • 18.12.2013

    45

    RTSP i Streaming

    RTSP je glavni protokol za streaming.

    Streaming predstavlja proces reprodukcije datoteke dok je jouvijek download-ujemo, to znai da nema potrebe za pohranom

    fajla u potpunosti prije reprodukcije.

    Tehnologija streaminga je omoguila klijentu da uje ili vidieljeni sadraj na par sekundi, umjesto da eka na potpuni

    download fajla.

    89

    Primjer RTSP Description file-a

    90

  • 18.12.2013

    46

    Description File-objanjenje

    RTSP description file je upisan kao XML DTD (ExtensibleMarkup Language je jezik koji definira skup pravila za kodiranjedokumenata u formatu koji je itljiv ljudima i raunarima).

    Group tag: Ukljuuje 2 audio zapisa i video zapis, jezik i zahtjevda zvuk treba biti lip-sinhroniziran sa videom.

    Switch tag: Indicira da se moemo premjetati izmeu dva audiozapisa.

    eme kodiranja za audio su date parametrima e i pt.

    Da bi se locirali resursi, RTSP definira parametar src (source).

    Parametar lofi indicira low fidelity (vrsta zvuka koji sadritehnike nedostatke poput izoblienja, uma, pozadinske buke).

    RTSP URL moe ukljuivati broj port-a.

    91

    Unicast (One-to-one ili point-to-point) - stream putuje direktno odizvora (server) do korisnika (client). Svaki stream je iniciran i

    kontroliran uz pomo jedinstvene konekcije izmeu servera i

    klijenta. Naziva se jo i streaming on-demand.

    Multicast (One-to-many) - stream e biti poslan ka vie korisnika ivie korisnika e moi gledati isti video.

    Vrste prijenosa stream-a

    92

  • 18.12.2013

    47

    Klijent se konektuje na server, a zatim zahtijeva video koristeiRTSP.

    Server odgovara preko RTSP-a sa informacijom o videu kaostreaming sesiji.

    Streaming sesija se sastoji iz jednog ili vie stream-ova podataka.

    Server obavjetava klijenta koliko stream-ova jo treba poslati ialje detalje o svakom stream-u.

    Stream-ovi se alju klijentu koristei RTP.

    Unicast streaming

    93

    Multicast streaming

    Multicast stream se alje na grupnu adresu.

    Klijent prima stream pridruujui se multicast-u, otvarajui SDP(Session Description Protocol) fajl.

    SDP fajl sadri informacije (grupnu adresu i broj porta), koje supotrebne da se pridrui multicast-u.

    94

  • 18.12.2013

    48

    Hvala na panji !