RTMP – Real Time Messaging Protocol Explained

GlobalDots
3 Min read

Real Time Messaging Protocol or RTMP is mainly serving for high speed transmission of audio, video and data between flash player and a server. Initially developed by Macromedia, the protocol is now owned by Adobe, and specifications about it have only partially been released for public use.

Reduce your AWS costs by over 50%

Discover your Cloud Saving Potential – Answer just 5 simple questions. AppsFlyer, Playtika, Lufthansa, IBM, top leading companies are already using our FinOps services.

Reduce your AWS costs 
by over 50%

According to those specifications, the RTMP protocol has multiple variations, i.e. the “plain” RTMP protocol, RTMPS which is RTMP over an TLS/SSL connection, RTMPE which is RTMP encrypted using Adobe’s own security mechanism, and RTMPT which is encapsulated within HTTP requests to traverse firewalls.

The use of RTMP is to avoid latency in communication, mainly, deliver audio or video streams smoothly, and by splitting them in fragments, make them interleaved and multiplexed over a single connection. Also, you save bandwidth.

Interleaving and multiplexing is done at the packet level, with RTMP packets across several different active channels being interleaved in such a way as to ensure that each channel meets its bandwidth, latency, and other quality-of-service requirements. RTMP defines several virtual channels on which packets may be sent and received, and which operate independently of each other. During a regular RTMP session, several channels may be active simultaneously at any given time.

In result, RTMP encapsulates MP3 or AAC audio and FLV1 video multimedia streams, and can make remote procedure calls, or RPCs.

The Original Flash Streaming Protocol

RTMP is also considered the original flash streaming protocol as developed by Macromedia, then Adobe for streaming audio, video, and data, between Flash media Server and Flash player. A two way connection is established between Flash server and Flash player which allows for a real-time communication back and forth. Example of data that can be communicated is:

  • prerecorded data
  • live video data
  • live audio data
  • text chat
  • coordinates X and Y in a multiplayer game, for example
  • and more…

How it Works?

Flash player first contacts the Flash media server and an RTMP connection is then established. An RTMP connection is said to begin with a “handshake”. Flash player requests a specific stream, for example – video. Once the media server receives the request (for the stream), it is sent to Flash SWF directly over the RTMP connection. The same stream can be sent to any number of clients that request it, provided the bandwidth is good enough on both sides to deliver all the simultaneous streams. Additional media servers can be chained together, which in result improves capacity, or allows for – large events.

What it Looks Like?

Protocol packets contain a header and a body which, in the case of connection and control commands, is encoded using the Action Message Format (AMF).

RTMPPacket
Image 1 – RTMP packet structure
Image source: Wikimedia Commons

rtmp_adobe
Image 2 – RTMP headers
Image source

Basic Header is the only constant part of the packet, composed of a single byte, and the rest of the packet is the stream ID. The basic header can be extended with 2 or 3 extra bytes. The Chunk Message Header contains meta-data information such as the message size, timestamp and message type. This last value is a single byte and defines whether the packet is an audio, video, command or “low level” RTMP packet (e.g. RTMP Ping).

You can download Adobe RTMP specification here.

About GlobalDots

With over 10 years of experience, GlobalDots have an unparallel knowledge of today’s leading web technologies. Our team know exactly what a business needs to do to succeed in providing the best online presence for their customers. We can analyse your needs and challenges to provide you with a bespoke recommendation about which services you can benefit from.

GlobalDots can help you with the following technologies: Content Delivery Network, DDoS Protection, Multi CDN, Cloud performance optimization and infrastructure monitoring.

Latest Articles

Cut Big Data Costs by 23%: 7 Key Practices

In this webinar, we reveal a solution that cuts big data costs by 23% and enhances system efficiency - without changing a single line of code. We’ll also explore 7 key practices that will free your engineers to process and analyze data at the pace and scale they need - and ensure they never lose control of the process.

Developer AXE-WEB
15th April, 2024
Project FOCUS: A New Age of FinOps Visibility

It’s easy for managers and team leaders to get caught up in the cultural scrum of FinOps. Hobbling many FinOps projects, however, is a lack of on-the-ground support for the DevOps teams that are having to drive this widespread change – this is how all too many FinOps projects become abandoned on the meeting room […]

Nesh (Steven Puddephatt) Senior Solutions Engineer @ GlobalDots
27th March, 2024
Optimize Your Cloud Spend with a FinOps Maturity Assessment

Achieving FinOps is a tall order: it demands a degree of organizational self-awareness that some companies are constantly battling for. Consider the predicament that many teams find themselves in: while their cloud environments may contain a number of small things that could be optimized, there are no single glaring mistakes that are consuming massive quantities […]

Nesh (Steven Puddephatt) Senior Solutions Engineer @ GlobalDots
27th March, 2024

Unlock Your Cloud Potential

Schedule a call with our experts. Discover new technology and get recommendations to improve your performance.

Unlock Your Cloud Potential