# Protocol de missatgeria en temps real

El protocol de missatgeria en temps real (amb acrònim RTMP) és un protocol de comunicació per transmetre àudio, vídeo i dades a través d'Internet. Desenvolupat originalment com a protocol propietari per Macromedia per a la transmissió entre Flash Player i Flash Communication Server, Adobe (que va adquirir Macromedia) ha publicat una versió incompleta de l'especificació del protocol per a ús públic.
El protocol RTMP té múltiples variacions:
* RTMP pròpiament dit, el protocol "normal" que funciona a la part superior del Protocol de control de transmissió (TCP) i utilitza el número de port 1935 de manera predeterminada.
* RTMPS, que és RTMP sobre una connexió de seguretat de la capa de transport (TLS/SSL).
* RTMPE, que està xifrat amb RTMP mitjançant el propi mecanisme de seguretat d'Adobe. Tot i que els detalls de la implementació són propietaris, el mecanisme utilitza primitives criptogràfiques estàndard de la indústria.
* RTMPT, que està encapsulat dins de sol·licituds HTTP per travessar els tallafocs. Sovint es troba RTMPT utilitzant sol·licituds de text clar als ports TCP 80 i 443 per evitar la majoria del filtratge de trànsit corporatiu. La sessió encapsulada pot portar paquets simples RTMP, RTMPS o RTMPE.
* RTMFP, que és RTMP sobre User Datagram Protocol (UDP) en lloc de TCP, que substitueix RTMP Chunk Stream. La suite Secure Real-Time Media Flow Protocol ha estat desenvolupada per Adobe Systems i permet als usuaris finals connectar-se i comunicar-se directament entre ells (P2P).
Tot i que la motivació principal per a RTMP era ser un protocol per reproduir vídeos Flash, també s'utilitza en algunes altres aplicacions, com ara Adobe LiveCycle Data Services ES.
L'RTMP defineix diversos canals virtuals en els quals es poden enviar i rebre paquets, i que funcionen independentment els uns dels altres. Per exemple, hi ha un canal per gestionar les sol·licituds i respostes RPC, un canal per a dades de flux de vídeo, un canal per a dades de flux d'àudio, un canal per a missatges de control fora de banda (negociació de la mida del fragment, etc.), etc.. Durant una sessió RTMP típica, diversos canals poden estar actius simultàniament en un moment donat. Quan es codifiquen les dades RTMP, es genera una capçalera de paquet. La capçalera del paquet especifica, entre altres qüestions, l'ID del canal on s'ha d'enviar, una marca de temps de quan es va generar (si cal) i la mida de la càrrega útil del paquet. A continuació, aquesta capçalera va seguida del contingut de càrrega útil real del paquet, que es fragmenta segons la mida del fragment acordada actualment abans d'enviar-se a través de la connexió. La capçalera del paquet mai es fragmenta i la seva mida no compta per a les dades del primer fragment del paquet. En altres paraules, només la càrrega útil real del paquet (les dades dels mitjans) està subjecta a fragmentació.
A un nivell superior, l'RTMP encapsula fluxos multimèdia d'àudio MP3 o AAC i de vídeo FLV1 i pot fer trucades de procediment remot (RPC) mitjançant el format de missatge d'acció. Qualsevol servei RPC necessari es fa de manera asíncrona, utilitzant un sol model de sol·licitud/resposta de client/servidor, de manera que no cal una comunicació en temps real.

## Referències

* ↑ «What is RTMP? Real Time Messaging Protocol» (en anglès). https://www.dacast.com,+17-08-2022.+[Consulta: 17 desembre 2022].
* ↑ «RTMPE» (en anglès). Adobe Flash Lite 4 Help. Adobe. Arxivat de l'original el 4 de desembre 2017. [Consulta: 29 desembre 2013].
* ↑ «RTMP Streaming in a Post-Flash World: Why the Protocol Still Matters Today» (en anglès). https://getstream.io.+[Consulta: 17 desembre 2022].
* ↑ «TheRealTimeWeb.com: Adobe Patents RTMP» (en anglès). therealtimeweb.com. Arxivat de l'original el 2020-02-21. [Consulta: 17 desembre 2022].