What Is RTMP? How RTMP Streaming and Ingest Work

RTMP (Real-Time Messaging Protocol) is a TCP-based streaming protocol, originally built by Macromedia for Flash, that carries live audio, video, and metadata as interleaved chunks from an encoder to a server, by default over port 1935. In 2026, RTMP is used almost entirely for ingest. Encoders such as OBS push a stream to an ingest server, which repackages it as HLS or DASH for playback. If you are asking what is RTMP today, the practical answer is that it is a first-mile contribution protocol, not a delivery format.

What is RTMP: diagram of RTMP streaming from a live encoder to an RTMP ingest server that outputs HLS for playback

What Is RTMP and How Does RTMP Streaming Work?

An RTMP session runs in three phases: handshake, connection, and publish. Each phase is stateful and runs over one long-lived TCP connection.

Handshake. The client sends C0, a single version byte with value 3, and C1, a 1,536-byte block containing a timestamp and random data. The server answers with S0, S1, and S2, and the client finishes with C2, which echoes S1. No media moves until both sides have echoed each other's blocks.

Connection and publish. Commands are encoded in AMF0 (Action Message Format). The encoder sends connect with an application name, then createStream, then publish with the stream key. The server validates the key, and this is usually the only authentication step in the whole exchange.

Chunking. Audio (message type 8), video (type 9), and metadata (type 18) are split into chunks and multiplexed across chunk streams. The default chunk size is 128 bytes. Most encoders raise it to 4,096 bytes with a Set Chunk Size message to reduce header overhead. Payloads are FLV-style tags, which is why classic RTMP carries H.264 video and AAC audio. The 2023 Enhanced RTMP extension adds HEVC, VP9, and AV1 through FourCC codec signaling.

Where RTMP ingest sits in a live workflow

RTMP occupies the contribution hop, from the encoder to the ingest server. Behind the ingest server, a transcoder builds the ABR (adaptive bitrate) ladder and a packager writes HLS or DASH segments. A CDN then delivers those segments over plain HTTP. Players never touch RTMP.

RTMP (Real-Time Messaging Protocol) remains the default live contribution protocol in 2026. Encoders push H.264/AAC over TCP port 1935, or over TLS on port 443 for RTMPS, to an ingest server that transcodes the stream into HLS or DASH. Browsers lost native RTMP playback when Adobe Flash Player reached end-of-life on December 31, 2020, so RTMP now lives almost exclusively on the first mile.

Anatomy of an RTMP ingest URL

Every encoder asks for the same parts of an ingest URL, and most connection failures come from getting one of them wrong:

ComponentTypical valueCommon mistake
Scheme and portrtmp on 1935, rtmps on 443Port 1935 blocked by corporate egress rules
Application name"live" or "app"Stream key pasted into the app path
Stream keyOpaque secret stringLeaked in screenshots, then reused by an attacker
Keyframe interval2 seconds (a GOP of 60 frames at 30 fps)"Auto" GOP that misaligns downstream HLS segments

Most "RTMP ingest is broken" tickets trace back to a blocked port 1935, a key placed in the wrong field, or a keyframe interval that does not divide evenly into the segment duration.

RTMP vs. SRT, WebRTC, and HLS

RTMP vs. SRT: SRT (Secure Reliable Transport) runs over UDP and uses ARQ retransmission within a configurable latency budget. RTMP inherits TCP head-of-line blocking instead. On clean links the two perform about the same. On lossy long-haul paths, SRT holds its bitrate while RTMP stalls.

RTMP vs. WebRTC (WHIP): WHIP gives WebRTC a standard HTTP signaling method for ingest. It enables sub-second publishing straight from a browser, but it costs more on the server side and has thinner encoder support than RTMP.

RTMP vs. HLS: RTMP is a push protocol over a persistent connection. HLS is pull-based HTTP segment delivery. They are complementary: RTMP gets the stream in, and HLS gets it out to viewers at CDN scale.

Common RTMP Misconceptions, Corrected

"RTMP is low latency." That holds only on clean paths. The Mathis TCP throughput model estimates throughput as the MSS divided by the RTT, multiplied by 1.22 over the square root of the loss rate. With a 1,460-byte MSS, 150 ms RTT, and 1% packet loss, that caps a Reno-style flow near 950 kbps, far below a 6 Mbps 1080p stream. This is an estimate: CUBIC and BBR behave differently. The direction still holds: on a lossy path, the encoder's buffer fills and frames get dropped.

"RTMP is dead." RTMP is dead only for playback. As of 2026, nearly every major live platform and hardware encoder still accepts RTMP or RTMPS ingest.

"RTMPS means end-to-end encryption." RTMPS encrypts only the encoder-to-ingest hop. The stream key is still a bearer secret. Anyone holding it can publish to your channel.

FAQ: What Is RTMP Streaming and RTMP Ingest

Is RTMP still used in 2026?

Yes, RTMP is still widely used in 2026, but almost only for ingest. Software encoders, hardware encoders, and live platforms accept RTMP or RTMPS as the default contribution protocol. Playback moved to HLS and DASH after Flash reached end-of-life in December 2020, so viewers never connect over RTMP.

What is the difference between RTMP and RTMPS?

RTMPS is RTMP wrapped in TLS, usually on port 443 instead of 1935. The protocol semantics, including the handshake, chunking, and publish commands, stay the same. Many social platforms now require RTMPS for ingest. It protects the stream key and media in transit, and port 443 is less likely than 1935 to be blocked by restrictive corporate firewalls.

What port does RTMP use?

RTMP uses TCP port 1935 by default, and RTMPS typically uses TCP port 443. RTMPT, the older HTTP-tunneled variant, used port 80. If an encoder connects on some networks but times out on others, check first whether outbound 1935 is blocked, then switch to RTMPS on 443.

Should I replace RTMP ingest with SRT?

Replace RTMP ingest with SRT when contributors send over lossy or high-RTT links, such as cellular bonding, intercontinental paths, or remote production. SRT's UDP-based retransmission holds bitrate where TCP stalls. On stable wired uplinks under about 50 ms RTT, RTMP performs adequately and has broader encoder support, so migrating adds complexity without a measurable gain.

Test Your RTMP Ingest Path This Week

Measure the contribution hop before choosing between RTMP and SRT.

  • From each encoder location, record RTT and packet loss to your ingest endpoint over a full event window, not a five-second ping.
  • Feed those numbers into the Mathis estimate and compare the ceiling against your top ABR rung.
  • If the ceiling falls below 1.5x your bitrate, pilot SRT on that path and keep RTMPS on the rest.
  • Log dropped-frame counts from the encoder alongside the network data.

For the delivery side of the same pipeline, see our live streaming and CDN delivery engineering articles.

Heavy traffic.
Light bill.

The CDN for video and large traffic