RTSP (Real Time Streaming Protocol): definice, fungování a použití
RTSP: co je to, jak funguje a kde se používá — praktický průvodce streamingem, ovládáním přehrávání a integrací s RTP pro profesionální i domácí nasazení.
Protokol RTSP (Real Time Streaming Protocol), vyvinutý skupinou IETF a vytvořený v roce 1998 jako RFC 2326, je protokol pro použití v systémech streamovaných médií, který umožňuje klientovi vzdáleně ovládat server streamovaných médií, vydávat příkazy podobné příkazům videorekordéru, například "play" a "pause", a umožnit přístup k souborům na serveru v závislosti na čase.
Samotné odesílání streamovaných dat není součástí protokolu RTSP. Většina serverů RTSP používá jako přenosový protokol pro vlastní audio/video data protokol RTP založený na standardech. Server RTSP od společnosti RealNetworks také používá jako transportní protokol vlastní RDT společnosti RealNetworks.
Co je RTSP a stručná historie
RTSP je aplikační protokol navržený pro řízení streamovaného multimediálního obsahu. Nepřenáší samotná média, ale zprostředkovává řízení (např. spuštění, pozastavení, přetažení) mezi klientem a mediálním serverem. Původní specifikace je uvedena v RFC 2326 (1998). Modernější revize je RTSP 2.0 (RFC 7826, 2016), která opravila některé nejasnosti, zlepšila interoperabilitu a rozšířila možnosti autentizace a transportu.
Jak RTSP funguje
RTSP používá model klient–server podobný HTTP: klient posílá požadavky (metody) na server a server odpovídá stavovými kódy a hlavičkami. Mezi požadavky se často vyskytují hlavičky jako CSeq (číslo sekvence) a Session (identifikátor relace). Server může být stavový (udržuje informace o relaci) nebo bezstavový s přidáním session tokenů.
Hlavní metody (příkazy) RTSP
- OPTIONS – zjistí podporované metody serveru.
- DESCRIBE – získá popis média (např. SDP), který obsahuje informace o kodecích a transportech.
- SETUP – nastaví transportní parametry (porty, profil RTP/RTP over TCP apod.) a vytvoří relaci.
- PLAY – spustí přehrávání streamu (lze určit časový rozsah přes hlavičku Range).
- PAUSE – pozastaví přehrávání bez ukončení relace.
- TEARDOWN – ukončí relaci a uvolní prostředky.
- GET_PARAMETER / SET_PARAMETER – dotazy a konfigurace parametrů relace nebo zařízení.
- REDIRECT / ANNOUNCE – pokročilejší ovládací příkazy využívané v některých implementacích.
Transport médií
- RTSP sám média nepřenáší, typicky řídí přenos přes RTP/RTCP (Realtime Transport Protocol).
- Přenos může probíhat přes UDP (RTP/UDP), TCP (pro případy NAT nebo firewallů) nebo v interleaved módu uvnitř RTSP/TCP se speciálními kanálovými značkami.
- Některé proprietární servery (např. starší produkty RealNetworks) mohou používat alternativní transporty jako RDT.
- Výchozí TCP port pro RTSP je obvykle 554.
Bezpečnost, autentizace a rozšíření
- RTSP definoval mechanismy autentizace podobné HTTP (Basic, Digest). Moderní implementace podporují i zabezpečené kanály (např. TLS), čímž se omezuje odposlech a útoky typu man-in-the-middle.
- Problémy s NAT a firewally řeší přenos médií přes TCP nebo tunelování RTSP v HTTP.
- RTSP 2.0 přinesl vylepšení pro lepší zabezpečení, správu chyb a interoperabilitu.
Použití a příklady
- IP kamery a dohledové systémy – mnoho CCTV kamer poskytuje živý obraz přes RTSP stream.
- Video on Demand (VoD) – servery umožňují klientovi pozičně přistupovat k obsahu (seek, pause, play).
- Živý přenos – v kombinaci s RTP/RTCP pro nízkou latenci a synchronizaci audio/video stop.
- Média přehrávače a knihovny – klienti jako VLC, ffmpeg, GStreamer nebo knihovny Live555 podporují RTSP.
Příklad jednoduchého RTSP požadavku
Typické volání pro spuštění přehrávání může vypadat takto (zjednodušeně):
PLAY rtsp://server.example/media.mp4 RTSP/1.0 CSeq: 3 Session: 4711
Server odpoví stavovým kódem (např. 200 OK) a pak probíhá přenos médií přes dohodnutý transport.
Výhody a omezení
- Výhody: přesné řízení přehrávání, nízká latence při vhodné konfiguraci, široké nasazení v IP kamerách a profesionálních streamovacích řešeních.
- Omezení: není univerzálním transportem médií (nutné kombinovat s RTP nebo jinými protokoly), problémy s NAT/firewally, bezpečnost závisí na implementaci (nutné TLS a správná autentizace).
Podpora a interoperabilita
RTSP je široce podporován jak na straně serverů, tak klientů. Nicméně kvůli volným rozšířením a proprietárním transportům se mohou v praxi vyskytnout nekompatibility mezi různými zařízeními a výrobci. Doporučeným postupem je testovat konkrétní kombinaci server/klient a preferovat implementace držící se standardů (RTP, SDP, RTSP 2.0), pokud je to možné.
RTSP zůstává důležitým protokolem pro scénáře, kde je potřeba interaktivně řídit přehrávání multimédií a minimalizovat zpoždění, přičemž skutečný přenos dat obvykle řeší komplementární protokoly jako RTP.
Klienti
- GStreamer
- Media Player Classic
- MPEG4IP
- MPlayer
- QuickTime
- Přehrávač Avi
- RealPlayer
- Skype
- Přehrávač médií VLC
- Winamp
- Přehrávač Windows Media Player
- Xine
- MythTV přes Freebox
- Přehrávač Gom
Software serveru
- Server QuickTime Streaming: Uzavřený streamovací server společnosti Apple dodávaný s Mac OS X Serverem.
- Darwin Streaming Server: Otevřená verze streamovacího serveru Quicktime, kterou spravuje společnost Apple.
- pvServer: Jedná se o produkt streamovacího serveru společnosti Alcatel-Lucent, který se dříve nazýval PacketVideo Streaming Server.
- Server Helix DNA: Streamovací server společnosti RealNetworks. Dodává se v open-source i proprietární verzi.
- Live555: Open source C++ server a klientské knihovny používané ve známých klientech, jako jsou VLC a mplayer.
- VideoLAN: Open source přehrávač médií a streamovací server
- Služba Windows Media Services: Streamingový server společnosti Microsoft, který je součástí systému Windows Server.
- VX30: Streamingový videoserver a vestavěný klient JAVA od společnosti Maui X-Stream.
Související stránky
- Protokol RTP (Real-time Transport Protocol)
- Řešení Fusion RTSP pro vestavěné systémy, např. IPTV, internetovou televizi a mobilní internetová zařízení.
Související články
Autor
AlegsaOnline.com RTSP (Real Time Streaming Protocol): definice, fungování a použití Leandro Alegsa
URL: https://cs.alegsaonline.com/art/81489