You are on page 1of 89

Fakultet elektrotehnike u Tuzli

RTP-RTCP-RTSP
Semir Dudi
Amer Huki
Jasmin Bei

Sadraj predavanja

Streaming datoteka sa zvunim i video zapisima

CDN

RTP

RTCP

RTSP

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

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

Audio/Video Internet servisi (2)

Internet audio/video

Streaming snimljenog
audio/video zapisa

Streaming slike i zvuka


u realnom vremenu

Interaktivni
audio/video

Streaming snimljenog audio/videa

Pri streamingu snimljenog audio/video sadraja


fajlovi memorisani na serveru nisu 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 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.

Streaming audio/video zapisa u realnom vremenu


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.
9

Streaming

10

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

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

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

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

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 interaktivnost
19

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

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

Web server sa Metafile-om

23

Web server sa Metafile-om

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.


24

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

Media server

HTTP klijent pristupa Web serveru naredbom GET.

Kao odgovor, Web server alje metafile.

Metafile je proslijeen Media player-u.

Media player koristi URL iz metafile-a da bi pristupio


Media serveru, koristei UDP protokol.

Media server odgovara traenim stream-om.

27

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.

28

Media server i RTSP

29

Media server i RTSP


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 zapoeo
reprodukciju (streaming).

Audio/video zapis se prenosi mreom koristei protokol


zasnovan na UDP-u.
Konekcija se prekida TEARDOWN komandom.

Media server odgovara.


30

Stek protokola za multimedijalne usluge

31

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 realtime 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.
32

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
33

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

34

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)

35

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

36

YouTube Test video

37

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


38

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

39

Real Time Transport Protocol (RTP)


RTP osigurava funkcije za mreno prenoenje podataka u
realnom 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 video
zapise.
RTP paket prua:

Identifikaciju tipa sadraja


Numerisanje sekvence paketa
Vremenske oznake

40

Real Time Transport Protocol (2)


Iako je dizajniran kako bi bio neovisan od protokola ispod
njega 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 garantuje
kvalitet 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 korisnika
neke multimedijalne konferencije, premda se moe koristiti i u
nekim drugim primjenama.
42

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 da


pokrije sve real-time aplikacije. Aplikacija kojoj su potrebne
dodatne informacije dodaje ih na poetak payload-a (korisnih
podataka u paketu).
44

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

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 na
aplikativnom nivou

48

RTP i QoS
RTP ne nudi nikakve mehanizme za osiguravanje
pravovremene 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 bi


osigurava pravovremeni prenos

49

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

50

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.
51

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


52

Mixeri

Mixer je ureaj koji matematiki sabira dva signala iz razliitih


izvora kako bi generisao jedan signal.
Mixer ima zadatak da usaglaava razliite codec-e i da vri
resinhronizaciju audio zapisa na manji protok koji odgovara
korisnicima sa slabijim linkovima.
Mixer moe da generie pakete kako za unicast tako i za
multicast komunikaciju.
53

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
54

Real-Time Transport Control Protocol (RTCP)


RTCP (Real-Time Control Protocol), standardiziran u RFC-u
1889 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 paketa
svim sudionicima sesije koristei iste mehanizme distribucije
koji se koriste i za prijenos podataka.
Svaki uesnik u RTP sesiji periodino alje RTCP kontrolne
pakete svim drugim uesnicima.
Svaki RTCP paket sadri izvjetaj poiljaoca i/ili primaoca.

55

RTCP (2)

RTP sesija:
Uglavnom jedna multicast adresa, svi RTP/RTCP paketi koji
pripadaju sesiji koriste multicast adresu.
RTP i RTCP paketi se razlikuju po broju porta
Da bi se ograniio saobraaj, svaki uesnik smanjuje svoj
saobraaj sa poveanjem broja uesnika sesije
56

RTCP funkcije
Primarna funkcija je slanje povratnih informacija o
kvalitetu servisa za podatke koji su poslati korisnicima. Ova
funkcija se obavlja slanjem SR i RR tipova podataka.

Druga funkcija je slanje stalnog identifikatora izvora koji


nazivamo 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.

57

RTCP funkcije (2)


Prve dvije funkcije su obavezne za sve uesnike u
komunikaciji. 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 toku
sesije korisnicima prikazuju potrebne informacije o
uesnicima.

58

RTCP-formati paketa
Receiver report (Izvjetaj primatelja) slui za izraun
ukupnog 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 periodino
alje 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).
59

RTCP-formati paketa(2)
Source description message (Opis izvora) - opis izvora
saobraaja to ukljuuje i slanje CNAME podataka.
Bye message (Pozdravna poruka) - Izvor alje ovu poruku
kada zatvara tok podataka (stream). Omoguava izvoru da
najavi svoje iskljuivanje iz konferencije.
Application specific message (Poruka karakteristina za
aplikaciju) - Ovo je paket podataka koji definie upotrebu nove
aplikacije (koja jo nije definisana standardom). Omoguuje
definiciju novog tipa poruke.

60

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 i


zvuka
61

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)
62

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)

63

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 veliinu


RTCP paketa (za cijelu sesiju) i dijele to sa dodijeljenom
brzinom

64

ta nedostaje RT(C)P-u?
Protokoli RTP i RTCP su osnovni protokoli za prenos
vremenski osjetljivih podataka preko IP mree (audio,video).
Najvei broj implementacija VOIP rjeenja koristi ove
protokole.
Meutim, ova dva protokola se ne bave uspostavljanjem sesije.
Treba nam neto drugo.

65

Uvod - RTSP
Umjesto pohranjivanja velikih multimedijskih sadraja i
njihovog 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, a prima trei. Na taj nain moe konzumirati
sadraj bez da on cijeli stigne na raunar.

66

RTSP-za ta je namijenjen?
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 pohranjen
sadraj.
RTSP je dizajniran da sarauje s protokolima
(RTP, RSVP).

nieg nivoa

67

RTSP Razvoj
RTSP je razvijen od RealNetworks, Netscape Communications i
Columbia University.
Prva radna verzija je predana IETF-u (Internet Engineering Task
Force) 1996 g. na razmatranje, i od tada su uinjene mnoge
promjene. Standardiziran je u RFC 2326.

68

RTSP Razvoj (2)


RTSP kontrolira jedan ili vie vremenski sinhroniziranih
tokova podataka kao to su audio ili video.
RTSP takoer pomae serveru da prilagodi irinu opsega
pri optereenju mree s ciljem iskoritenja dostupnog
kapaciteta.
Referencira na glavne zahtjeve korisnika i servera QoS,
efikasnost isporuke, upravljanje pravima zatite sadraja i
mjerenja.

Vana funkcija RTSP protokola je njegova sposobnost da


odabere optimalni kanal do klijenta.

69

RTSP - za ta nije namijenjen?


Prijenos medija nije uloga RTSP-a, veina real-time servera
koristi RTP (Real-time Transport Protocol) za prijenos medija,
ali RTSP nije ogranien samo na RTP ve moe koristiti
razliite protokole za prijenos.
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.

70

RTP i RTSP
RTSP se koristi kada gledaoci komuniciraju sa serverom.
RTSP doputa dvosmjernu komunikaciju, odnosno,
gledaoci mogu komunicirati sa server-om i kontrolirati tok
filma.
RTP je jednosmjerni protokol koji se koristi da poalje
stream-ove od servera do klijenta.

71

Funkcije koje RTSP podrava


Uzimanje podataka sa servera klijent moe zatraiti opis
prezentacije preko HTTP protokola ili nekom drugom metodom.
Ako je prezentacija multicast, tada njen opis sadri adrese i portove koji se koriste 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.

72

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

Namjerno je dizajniran da ima slinu sintaksu i funkcije kao


HTTP, kako bi se mogli dodati neki HTTP mehanizmi.

U RTSP-u je svaka prezentacija i tok medijskih podataka


identificirana RTSP URL-om.

Ukupni podaci o prezentaciji i osobine medija upisani su u


opisnu datoteku (Description File), u kojoj se mogu jo nalaziti
nain kodiranja, jezik, RTSP URL-ovi, odredine adrese,
portovi i sl.

73

Razlike RTSP-a i HTTP-a


Osnovna prednost RTSP-a je to to omoguava brzo premotavanje
naprijed ili nazad, pauziranje, nastavljanje reprodukcije, izbor
trenutka od kojeg poeti sa reprodukcijom.
Dok je HTTP stateless protokol (komunikacijski protokol koji tretira
svaki 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 kod
HTTP-a uvijek klijent alje zahtjev.

RTSP je dosta povezan sa HTTP protokolom tako da se RTSP


serveru moe bez problema pristupati preko Web stranice.
74

Kako RTSP radi?


Rastavlja podatke na pakete ija je veliina usklaena sa
raspoloivim 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 na
pohranjene sadraje.

75

RTSP

76

RTSP- objanjenje rada


Prije nego li klijent uspostavi streaming sesiju on mora na neki
nain dobiti opis sesije od web servera koristei HTTP
protokol.
U skladu sa informacijama u opisu sesije, klijent alje RTSP
SETUP zahtjev streaming serveru.
Server informira klijenta sa OK (ack) odgovorom da bi
indicirao da je stream uspjeno pripremljen.
Klijent poinje streaming sa RTSP PLAY zahtjevom i zavrava
streaming sesiju sa RTSP TEARDOWN zahtjevom.
Potrebnoje naglasiti, da server uvijek alje potvrde na sve
komande koje klijent poalje.
77

Primjer RTSP

78

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.
79

Ponaanje klijenta i posluitelja

Dijagram stanja RTSP klijenta i posluitelja, opisuje ponaanje


protokola od inicijalizacije do prekida RTSP sesije.
Stanje je definirano na temelju objekta. Objekt je jedinstveno odreen
sa 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 toka podataka i postavljanje parametara), PLAY
(reprodukcija), RECORD (snimanje), PAUSE (privremeno
zaustavljanje snimanja ili reprodukcije), TEARDOWN (raskid,
oslobaanje resursa).

80

Razmjena RTSP poruka izmeu klijenta i posluitelja

81

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

82

RTSP i Streaming
RTSP je glavni protokol za streaming.
Streaming predstavlja proces reprodukcije datoteke dok je jo
uvijek download-ujemo, to znai da nema potrebe za pohranom
fajla u potpunosti prije reprodukcije.
Tehnologija streaminga je omoguila klijentu da uje ili vidi
eljeni sadraj na par sekundi, umjesto da eka na potpuni
download fajla.

83

Primjer RTSP Description file-a

84

Description File-objanjenje
RTSP description file je opisan kao XML fajl (Extensible Markup
Language je jezik koji definira skup pravila za kodiranje
dokumenata u formatu koji je itljiv ljudima i raunarima).
Group tag: Ukljuuje 2 audio zapisa i video zapis, jezik i zahtjev
da zvuk treba biti lip-sinhroniziran sa videom.
Switch tag: Indicira da se moemo premjetati izmeu dva audio
zapisa.
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 sadri
tehnike nedostatke poput izoblienja, uma, pozadinske buke).
RTSP URL moe ukljuivati broj port-a.
85

Vrste prijenosa stream-a


Unicast (One-to-one ili point-to-point) - stream putuje direktno od
izvora (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 i


vie korisnika e moi gledati isti video.

86

Unicast streaming

Klijent se konektuje na server, a zatim zahtijeva video koristei


RTSP.
Server odgovara preko RTSP-a sa informacijom o videu kao
streaming sesiji.
Streaming sesija se sastoji iz jednog ili vie stream-ova podataka.
Server obavjetava klijenta koliko stream-ova jo treba poslati i
alje detalje o svakom stream-u.
Stream-ovi se alju klijentu koristei RTP.
87

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 su
potrebne da se pridrui multicast-u.
88

Hvala na panji !

You might also like