Macromedia‘nın, internet üzerinden; Flash player ve sunucu arasında ses, görüntü ve veri akışını gerçekleştirmek için geliştirdiği özel bir protokoldür.
Bu protokol üzerinden; serialize edilebilen nesneler, Ses ve Video streamleri taşınabilmektedir. TCP üzerinden bir portla (port:1935) sunucu ile çift yönlü ve kalıcı bir haberleşme sağlar.
Çift yönlü kavramı şunu anlatır:
Flash Player sunucuya bilgi gönderebildiği gibi, sunucu da “her hangi bir talep olmasa bile”, Flash Player’a istediği anda bilgi gönderebilir. Bu anlamda HTTP protokölü tek yönlüdür. HTTP protoklünde sunucudan bilgi almak için istemcinin (browser yada flash player) istekte bulunması gereklidir. RTMP bağlatısının davranışlarını denetlemek için kullanılan sunucuya ait (Red5, FMS ya da WebOrb) API kullanılarak bir uygulama geliştirilir ve bağlantı bu uygulamaya yapılır.
RTMP Protoklünün türevleri:
RTMP: 1935 portunu kullanır
RTMPE: içerik çalışma zamanında şifrelenir. Diffie-Hellman anahtar değişimi ve HMACSHA256′dan oluşan endüstri standardı şifreleme ilkellerini kullanır. Veri aktarılırken RTMPE bir RC4 anahtar çifti oluşturur. Bir anahtar sunucu tarafından gönderilen verileri şifreler ve diğer anahtar sunucuya gönderilen verileri şifreler. RTMPE, client ve server arasındaki veri aktarımının third party uygulamalar tarafından dinlenmesini engeller.
1: nc.connect("rtmpe://localhost/vod/");RTMPE: içerik çalışma zamanında şifrelenir. Diffie-Hellman anahtar değişimi ve HMACSHA256′dan oluşan endüstri standardı şifreleme ilkellerini kullanır. Veri aktarılırken RTMPE bir RC4 anahtar çifti oluşturur. Bir anahtar sunucu tarafından gönderilen verileri şifreler ve diğer anahtar sunucuya gönderilen verileri şifreler. RTMPE, client ve server arasındaki veri aktarımının third party uygulamalar tarafından dinlenmesini engeller.
RTMPT (RTMP Tunnelled): 80 portunu kullanır (HTTP üzerinden çalışır).
Birçok kurum/kuruluş Firewall ve Proxy kullanır ve RTMP soketleri üzerinden doğrudan erişimleri engeller. Bu da Flash Media Server uygulamalarının kullanılamaması demektir.
Bu sorun, RTMP verilerinin, HTTP istekleri gibi gösterilerek gönderilmesi ile aşılmıştır.
Birçok kurum/kuruluş Firewall ve Proxy kullanır ve RTMP soketleri üzerinden doğrudan erişimleri engeller. Bu da Flash Media Server uygulamalarının kullanılamaması demektir.
Bu sorun, RTMP verilerinin, HTTP istekleri gibi gösterilerek gönderilmesi ile aşılmıştır.
Bu yöntem tunneling olarak da bilinir.
1: nc.connect("rtmpt://myserver/myapp"); // defaults to port 80
2: nc.connect("rtmpt://myserver:port/myapp");
1: nc.connect("rtmpte://localhost/vod/");
Mesajlaşmanın başında bir şifre ile kimlik doğrulaması yapılır.