Real Time Streaming Protocol
The Real Time Streaming Protocol (RTSP) eğlence ve iletişim sistemlerinde medya serverlarında ki verilerin akışını kontrol etmek için tasarlanan bir ağ denetim protokolüdür. Bu protokol bitiş noktaları arasındaki medya bağlantılarının kurulması ve kontrol edilmesinde kullanılır. Medya sunucularının sorunu VCR'lerdeki gibi müşterilerin sunucudan alınan medya dosyalarını çalışma, durdurma gibi kısacası gerçek zamanlı kontrolu kolaylaştımak.
Kendi veri akışının iletimi RTSP protokolünün görevi değildir. Çoğu RTSP sunucuları medya akışının dağıtımı için Gerçek Zamanlı Aktarım Protokolü (RTP) kullanır. Ancak bazı sunucular özel taşıma protokolü uygulamaktadır. Realnetworks'daki RTSP sunucusu ,örnek olarak , ayrıca RDT veri akışını taşıma özelliğinide bulunmaktadır.
RTSP 1998 yılında Internet Engineering Task Force(Internet Mühendisliği Görev Gücü ) (IETF) deki Multiparty Multimedia Session Control Working Group (MMUSIC WG) tarafından geliştirilmiş ve RFC 2326 olarak yayınlandı.
Protokol Direktifleri
RTPS protokolünün HTTP ile benzerlikleri vardır ancak RTSP yeni isteklerde eklemektedir. HTTP durumsuz iken, RTSP bir durumsal protokolüdür. Oturum tanımlayıcısı oturumları takip etmek için kullanılır yani kalıcı TCP bağlantısı gerektiren durumlarda kullanılır. RTSP mesajları istemciden sunucuya gönderilir istisna olarak sunucunun hangi istemciye sonuç döndüreceğidir.
Burada sunulanlar temel RTSP istekleridir. Bazı tipik HTTP istekleri OPTIONS istekleri gibi de mevcuttur. Varsayılan taşıma katmanı port numarası 554'dür.
- OPTIONS
- OPTIONS isteği sunucunun kabul ettiği istek tiplerini döndürür.
- DESCRIBE
- DESCRIBE isteği RTSP URL (rtsp://...) isteklerinive yönetilebilir cevap veri türlerini içerir. UDP ve TCP için taşımaları için RTSP protokolü için varsayılan port 554'dür. Bu cevap genellikle Session Description Protocol (SDP) formatında olup sunum açıklamaları içerir. Diğer şeylerin yanı sıra sunum açıklaması toplam URL leleri ile kontrollü medya akışlarını listeler. Tipik bir durum da, her bir ses ve video için bir stream akışı bulunmaktadır.
- SETUP
- SETUP isteği tek bir medya akışının nasıl taşınacağını belirtmektedir. Bu istek PLAY isteği gönderilmeden önce yapılmalıdır. İstek medya akış URL'sini ve taşıma belirteci içerir. Bu belirtec genellikle RTCP verilerisini(ses veya video) almak için yerel bir port içerir. Sunucu cevaplarımız genellikle seçilen parametrelerin onaylanması ve yanlış kısımların duzeltilmesidir. Toplu PLAY isteği gönderilmeden önce her medya akışı SETUP kullanılarak yapılandırılmış olması gerekir.
- PLAY
- PLAY bir veya tüm medya akışlarının çalınması isteğidir. Birçok çalma isteği gönderilerek PLAY isteği yığın haline getirilebilir. URL toplam bütün URL de olabilir(tüm medya akışlarını oynatmak için) veya tek bir medya akışı için gerekli URL de(sadece tek bir akışı oynatmak için) olabilir. Bunla ilgili bir aralıkta belirtilebilir. Hiç aralık belirtilmezse PLAY akışı baştan sona kadar oynatılır veya akış durdurulursa sonra durdurulduğu bu noktan aynen devam eder.
- PAUSE
- PAUSE isteği akışı geçici olarak durdurur veya tüm akış isteğini bir PLAY isteği gelince devam edicek şekilde erteler. İstek toplu veya medya akış URL si içerir. PAUSE zamanı bir dizi parametresi ile belirlenebilir. Dizi parametresi PAUSE yi hızlı bir şekilde değiştirebilir yani PAUSE yi kaldırabilir.
- RECORD
- RECORD isteği depolama yapmak için sunucuya akış isteği göndermede kullanılır.
- TEARDOWN
- TEARDOWN isteği oturumu sonlandırmak için kullanılır. Bütün medya akışlarını durdurur ve sunucudaki bütün oturumla ilgili verileri kurtarır.
Sunucu Uygulamaları
- QuickTime Streaming Server: Apple'ın Mac OS X sunucusu ile kapalı kaynak ile akışı sağlayan sunucu.
- Darwin Streaming Server: Apple tarafından yapılmış QuickTime Streaming Server 'ın açık kaynak kodlu versiyonu.
- pvServer: Eskiden PacketVideo Streaming Server olarak da adlandırılan bu server Alcatel-Lucent'in akış sunucusu ürünüdür.
- Helix DNA Server: RealNetworks'un akış sunucusudur. Açık kaynak kodludur.
- Live555: Açık kaynak kodlu C++ sunucusudur.
- VideoLAN: Açık kaynak kodlu medya oynatıcısı ve akışı sunucusu.
- Windows Media Services: Microsoft'un Windows Sunucusu içeren akış sunucusu.
- GStreamer: RTSP tabanlı istemci ve sunucu.
- FFmpeg: ffserver içiren GPL veya LGPL RTSP akış sunucusu.
- VLC media player
İstemci Uygulamaları
- GStreamer
- Media Player Classic
- MPEG4IP
- MPlayer
- QuickTime
- RealPlayer
- Skype
- Spotify
- VLC media player
- Winamp
- Windows Media Player
- Xine
- MythTV via Freebox
Dış bağlantılar
- pjsip.org, an open source stack for VoIP and RTP
- RTP Mobile component, an open source RTP Wrapper in .NET Compact framework.
- RTSP.org, a central information repository about RTSP.
- RFC 3550, RTP: A Transport Protocol for Real-Time Applications.
- Tunneling RTSP and RTP Over HTTP A standard solution to help RTSP work through firewalls and web proxies