Para ofrecer contenidos de audio o vídeo en streaming a través de Internet, primero hay que codificar la señal con los codificadores de streaming. A continuación, la señal codificada se transmite a un servidor RTMP por medio del RTMP. El protocolo también se encarga de transmitir las señales codificadas al Content Delivery Network o a una plataforma de vídeo online. La forma exacta en la que se realiza esta transmisión depende de la versión de RTMP utilizada.
La versión estándar del protocolo de red utiliza TCP como protocolo de transporte a través del puerto 1935. Lo primero que ocurre es que el cliente y el servidor se intercambian bloques de datos. Este proceso se denomina handshake y es el que permite que el servidor sea informado de la versión del protocolo que se está utilizando. Además, el servidor también recibe una marca de tiempo. Una vez recibidos ambos paquetes de datos, se puede establecer la conexión en cuanto el servidor lo permita.
Para establecer dicha conexión, el cliente envía al servidor una solicitud de conexión (connect request) en formato de mensaje de acción y espera su respuesta. Una vez el cliente recibe la confirmación de la solicitud de conexión por parte del servidor, este puede iniciar la transmisión en tiempo real.
En la práctica, lo que se ha establecido es una conexión persistente con la que se pueden transmitir datos en tiempo real. Los datos de streaming se transmiten en bloques de diferentes tamaños. Para los datos de vídeo, el tamaño del bloque es de 128 bytes, mientras que en el caso de los datos de audio, los bloques tienen un tamaño de 64 bytes. La latencia de RTMP es relativamente baja debido al uso de TCP.
Otra variante del Real Time Messaging Protocol es el RTMPT basado en HTTP. En esta variante se utiliza una técnica de tunelización para eludir los cortafuegos. RTMPS, basado en HTTPS, funciona de forma similar.
Desde el servidor RTMP también se puede transmitir el flujo directamente a los dispositivos finales mediante HLS.