Streaming media jsou na Internetu populární, ale pro jejich kvalitní provozování bylo třeba udělat řadu změn: především specifikovat nové protokoly, které umožní jejich přenos a interpretaci.
Historie podpory multimediální komunikace v reálném čase na Internetu
je velmi krátká. V roce 1996 se vyvinuly základy a začal se vyvíjet
nový protokol SIP (
Session Initiation Protocol), který byl přijat Internetovou komunitou v roce 1999 jako RFC 2543 (dnes nahrazeno RFC 3261-3265).
Protokolů a dalších složek používaných na Internetu pro multimediální
komunikaci je více, protože architektura TCP/IP nebyla původně
vytvořena na podporu aplikací v reálném čase. Internet a IP sítě obecně
podporují jediný režim práce, a to
best effort.
Jinými slovy: síť se snaží přenést pakety, jak nejlépe to jde, ale
neupřednostňuje žádné pakety ani negarantuje jejich doručení, natož
doručení v určité době. A to jsou většinou právě podmínky, které pro
úspěšný přenos (rozuměj: pro spokojenost koncového uživatele s kvalitou
přenosu)
streaming media potřebují.
I když se multimediální přenosy díky značné redundanci poměrně snadno
vypořádají se ztrátou některých paketů, musí to být ztráty
„rovnoměrné“, protože nesnášejí ztráty shluků paketů. Přísnější
požadavky než na doručení paketů mají
streaming media na
včasné doručení, tedy minimalizaci zpoždění při přenosu. Paket, který
nebyl doručen včas, má stejný výsledný efekt, jako paket, který nebyl
doručen vůbec. Proto ani nepřichází v úvahu běžný mechanizmus TCP
opětovného přenosu paketů při jejich ztrátě (nedoručení), protože
takový paket by docela jistě přišel pozdě.
Specifické protokoly pro streaming media
Multimédia na Internetu podporují následující protokoly, profily a jazyky:
- Real-time Transport Protocol(RTP, RFC 3550) – určen pro paketizaci toků jako hlasu, textu a obrazu
v reálném čase. Protokol sám neposkytuje žádný mechanizmus na zajištění
doručení, včasného doručení paketů, ani pro doručení paketů ve správném
pořadí. RTP kombinuje datový transport s volitelným řídicím protokolem Real-time Transport Control Protocol (RTCP), který monitoruje kvalitu služby a hlášení. RTP používají ke své činnosti protokoly SIP i H.323.
- Real-time Transfer Protocol Audio Video Profiles (RTP/AVP, RFC 3551) – pro specifikaci kódování médií a dalších parametrů;
- Real-Time Streaming Protocol (RTSP, RFC 2326) – protokol určený pro vzdálené řízení přehrávání médií;
- Session Initiation Protocol(SIP) – protokol pro navázání relací mezi procesy, které běží na
počítačích připojených k IP síti, pro telefonii, video, chat, hry apod.
- Session Description Protocol (SDP, RFC 2327 a 3266) – protokol určený k popisu charakteristik (parametrů) multimediální relace (např. typ média);
- Presence and Instant Messaging for SIP– protokol pro předávání zpráv v reálném čase na základě zjištění
on-line přítomnosti (připojení k síti) komunikačních partnerů;
- Synchronized Multimedia Integration Language (SMIL) – jazyk určený pro včlenění jiného média (textu, grafiky, URL) do audio/video toku pro synchronizované zobrazení.
Kompletní přehled protokolů pro multimediální komunikaci na Internetu je uveden na obrázku.
Obrázek: Protokolová architektura pro multimédiaPřenos streaming media
U přenosů v reálném čase je nezbytně nutné zajistit rovnoměrnost toku
paketů, což znamená, že časové zpoždění mezi jednotlivými pakety má být
konstantní (musí se zachovat vzájemný vztah mezi pakety v rámci dané
relace). Jestliže se časové odstupy mezi jednotlivými přijímanými
pakety výrazně mění, aplikace v reálném čase může mít nekvalitní výstup
nebo dokonce může dojít k jejímu selhání. Zachování stejných časových
odstupů mezi jednotlivými pakety multimediálního proudu je zásadním
požadavkem pro multimediální přenos v reálném čase.
Na straně příjemce lze vhodně využít vyrovnávací paměti, kdy se mírně
oddálí čas přehrávání paketů od času příjmu paketů, a to na základě
časového odstupu jednotlivých paketů (s vyznačeným časem a pořadovým
číslem). Přehrávací vyrovnávací paměť je pro přenosy v reálném čase
nezbytná.
Připouští se přitom určitá tolerance pokud se jedná o ztráty paketů,
vytvářejících datový proud. Multimediální data jsou značně redundantní
z hlediska lidského vnímání zvuku a obrazu. Pokud tedy během přenosu
proudu paketů dojde k přijatelným ztrátám, interpretovaná informace
(tj. zvuk nebo obraz) na přijímací straně se může uživateli zdát méně
kvalitní, nicméně akceptovatelná. Pokud ale dojde k porušení časového
sledu paketů, obraz se „roztrhá“ a zvuk ztrácí zcela srozumitelnost.
V následující části se podíváme
podrobněji na složky, bez nichž by streaming media na Internetu nešla
realizovat. Zaměříme se na vlastní podporu přenosu, protokoly RTP, RTCP
a nový protokol SCTP.15. 10. 2004
Autor: Ing. Rita Pužmanová, CSc., MBA