RTMP (Real-Time Messaging Protocol) to protokół komunikacyjny wykorzystywany do strumieniowego przesyłania wideo, audio i innych multimediów w czasie rzeczywistym przez internet. Protokół RTMP został opracowany przez firmę Adobe Systems i jest szeroko stosowany w platformach streamingowych, serwisach VOD (Video on Demand) i transmisjach na żywo.
RTMP umożliwia przesyłanie danych w czasie rzeczywistym poprzez zestawienie połączenia między klientem a serwerem RTMP. Działa na zasadzie strumienia danych, w którym dane są wysyłane i odbierane w czasie rzeczywistym, umożliwiając płynne odtwarzanie treści bez konieczności pobierania całego pliku.
Protokół RTMP obsługuje zarówno przesyłanie strumieniowe (strumieniowanie w czasie rzeczywistym) jak i przesyłanie strumieniowe na żądanie (VOD). W przypadku strumieniowania w czasie rzeczywistym, dane są przesyłane w trakcie nagrywania lub transmitowania treści. Natomiast w przypadku przesyłania strumieniowego na żądanie, dane są przesyłane z wcześniej przygotowanych plików multimedialnych.
Protokół RTMP oferuje również inne funkcje, takie jak kontrola bufora, kontrola przepływu, obsługa wielu strumieni, możliwość przesyłania metadanych i interakcji z serwerem za pośrednictwem protokołu RTMP. Istnieje kilka wariantów protokołu RTMP, takich jak RTMP, RTMPS (RTMP zabezpieczony SSL/TLS) i RTMPE (RTMP z szyfrowaniem).
Warto zauważyć, że w ostatnich latach popularność protokołu RTMP została częściowo zastąpiona przez nowsze protokoły przesyłania strumieniowego, takie jak HLS (HTTP Live Streaming) i DASH (Dynamic Adaptive Streaming over HTTP). Jest to spowodowane zmianami w branży streamingowej i preferencją przesyłania strumieniowego za pośrednictwem protokołów HTTP.
Mimo to, RTMP nadal znajduje zastosowanie w niektórych platformach streamingowych i usługach, szczególnie w przypadku transmisji na żywo i interaktywnych aplikacji w czasie rzeczywistym, które wymagają niskiej opóźnienia i wysokiej jakości przesyłania multimediów.