RTMP (Real-Time Messaging Protocol) is a proprietary protocol used to stream live video, audio, and data feeds to devices running Flash. Developed originally by Macromedia and later acquired by Adobe, RTMP is a TCP-based protocol designed for low-latency, high-performance streaming. It facilitates continuous data exchange between a Flash Media Server and Flash Player, allowing the transmission of multiple media types, including video, audio, and text-based data.

RTMP operates using a persistent connection to ensure continuous communication between the server and client. It supports real-time delivery of media content, allowing for high-quality, interactive streaming experiences.

The protocol breaks data into packets and sends them over a reliable stream to ensure content is delivered in the correct order. RTMP can also handle different types of media, such as video encoding in H.264 or VP6, and audio encoding in MP3 or AAC.

Although it was originally designed for Flash, RTMP can also work with other platforms through third-party servers and protocol translation tools. As Flash has become deprecated, newer protocols like HLS (HTTP Live Streaming) and DASH (Dynamic Adaptive Streaming over HTTP) are used more widely for modern streaming, though RTMP still remains in use for certain applications due to its established reliability and low-latency capabilities.

What is RTMP?

Media types exchanged via RTMP include:

  • Audio

  • Video

  • Data

The data exchanged in RTMP can be accomplished live or pre-recorded and can include shared data such including in-app chat messaging or push notifications.

Example: Media Server to Flash Player

An example of how media is exchanged via RTMP is a two-way connection between a media server and Flash player. In this connection: 1. A user connects to an existing Flash media server where a RTMP connection is established between them. 2. As the user requests a specific video stream. This can be a prerecorded stream that has been already stored on the Flash media server itself or a live video stream broadcasted from another Flash media encoder. 3. Once the Flash media server receives the request from the stream, it is then sent directly to the user requesting the media stream.

Related