RTMP vs SRT: Choosing The Right Contribution Protocol

The Quick Answer

RTMP and SRT are the two most widely deployed contribution protocols for live video. RTMP is a TCP-based protocol used to send live video to streaming servers and platforms with two to five seconds of latency. SRT is a modern, open-source protocol that delivers encrypted contribution feeds over the public internet with approximately one second of latency. Both protocols handle the first mile of the streaming workflow: getting video from the encoder to the media server. Last-mile delivery to viewers is handled by separate protocols like HLS, DASH, and WebRTC.

ProtocolPrimary UseLatencyEncryption
RTMPFirst-mile ingest to streaming platforms2-5 secondsOptional (RTMPS over TLS)
SRTSecure contribution over public internet~1 secondAES-128/256 built in

Most production streaming workflows use more than one of these protocols together. A typical pipeline ingests an RTMP or SRT feed from an encoder, processes it through a media server such as Wowza Streaming Engine, and delivers HLS to viewers. The sections below cover when to use each protocol, how they compare on latency, security, and cost, and how to view streams in each format.

New call-to-action

What is RTMP?

RTMP (Real-Time Messaging Protocol) is a TCP-based protocol used to send live video and audio between an encoder and a media server with two to five seconds of latency. Macromedia originally developed RTMP for Flash Player, and although Adobe deprecated Flash Player in December 2020, RTMP remains the default ingest format for platforms like YouTube, Twitch, and Facebook. Modern deployments primarily use RTMP for first-mile contribution, then transmux the feed into a delivery format such as HLS or WebRTC for browser playback.

How do I view an RTMP stream?

To view an RTMP stream, use a desktop media player or command-line tool that supports the protocol. Browser-based RTMP playback ended with Adobe’s deprecation of Flash Player in December 2020, so direct viewing now relies on VLC, FFmpeg/ffplay, or transmuxing the stream into a browser-friendly format through a media server. The exact URL format depends on the application name configured on the source server and the stream key the encoder publishes.

View an RTMP stream with VLC

VLC supports RTMP playback natively. To play a stream:

  1. Open VLC and select Media > Open Network Stream (Mac: File > Open Network).
  2. Enter the RTMP URL using the format rtmp://[server]/[application]/[streamname].
  3. Click Play.

For RTMPS (RTMP over TLS), replace rtmp:// with rtmps:// in the URL. RTMPS typically uses port 443 instead of the standard RTMP port 1935.

View an RTMP stream with FFmpeg/ffplay

For command-line playback, ffplay handles RTMP directly:
ffplay “rtmp://server/live/streamname”

To save the stream to a local file:
ffmpeg -i “rtmp://server/live/streamname” -c copy output.flv

Confirm the FFmpeg build includes RTMP support by running ffmpeg -protocols and checking that rtmp appears in the input protocols list.

URL structure and stream key matching

RTMP URLs follow a three-part structure: server address, application name, and stream key. A mismatch in any of the three causes connection failure. The application name (commonly “live”) must match the application configured on the media server, and the stream key must match what the encoder publishes. Firewall rules also need to permit TCP traffic on port 1935 for standard RTMP or port 443 for RTMPS. No current web browser renders RTMP natively, so any browser-facing playback workflow requires a media server to transmux the feed into a delivery format. Wowza Streaming Engine ingests RTMP and RTMPS feeds, then transmuxes them into HLS or WebRTC for delivery across modern devices.

What is SRT?

SRT (Secure Reliable Transport) is an open-source protocol developed by Haivision that delivers low-latency video over unpredictable public internet connections with built-in AES-128 or AES-256 encryption and ARQ packet loss recovery. SRT runs over UDP, achieves approximately one second of glass-to-glass latency, and has become the modern standard for professional broadcast contribution where security and reliability are non-negotiable.

How do I view an SRT stream?

To view an SRT stream, use a media player or command-line tool that supports the SRT protocol. VLC (version 3.0 and later) and FFmpeg/ffplay are the two most common options, both free and cross-platform. The exact syntax depends on whether the source uses listener mode (waiting for connections) or caller mode (initiating them).

View an SRT stream with VLC

VLC has supported SRT natively since version 3.0. To play a stream:

  1. Open VLC and select Media > Open Network Stream (Mac: File > Open Network).
  2. Enter the SRT URL using the format srt://[host]:[port]?mode=caller.
  3. Click Play.

If the player needs to wait for an incoming connection instead, swap to listener mode using srt://[host]:[port]?mode=listener.

Common optional parameters include &latency=200 (buffer in milliseconds) and &streamid=yourID for stream identification at the server.

View an SRT stream with FFmpeg/ffplay

For command-line playback, ffplay (bundled with FFmpeg builds compiled with libsrt) plays SRT streams directly:
ffplay “srt://hostname:9999?mode=caller&latency=200”

To capture the stream to a file rather than play it back, run FFmpeg:
ffmpeg -i “srt://hostname:9999?mode=caller” -c copy output.ts

Confirm the FFmpeg build includes SRT support by running ffmpeg -protocols and checking that srt appears in the input protocols list.

Caller vs. listener mode

SRT requires the player and source to use opposite modes. If the encoder or media server runs as listener, the player connects as caller, and vice versa. Role mismatches are the most common cause of “Port Not Opening” errors during playback testing, so verify the mode and ensure the firewall permits UDP traffic on the configured port before launching the player. For full SRT ingest, transcoding, and delivery into HLS or WebRTC for browser playback, Wowza Streaming Engine supports both caller and listener configurations natively.

RTMP vs SRT: Key Differences

CategoryRTMPSRT
EncryptionRTMP transmits unencrypted by default. RTMPS adds TLS encryption when both encoder and server support it.SRT includes AES-128 and AES-256 encryption at the transport layer, active by default with no additional configuration.
Latency2-5 seconds~1 second
Transport ProtocolRTMP runs over TCP.SRT runs over UDP with ARQ retransmission.
Encoder CompatibilityRTMP works with virtually every software encoder available today.SRT works with hardware encoders through the SRT Alliance.
Platform IngestRTMP serves as the default ingest format for YouTube, Twitch, and Facebook.SRT serves as the standard ingest format for broadcast contribution and professional remote production workflows.
StabilityRTMP remains stable on controlled networks with predictable bandwidth.SRT maintains stability on unpredictable public internet links.
Best-Fit Use CasesFirst-mile ingest to streaming platforms, low-latency interactive sessions, and legacy encoder workflows.Secure broadcast contribution, remote production, and multi-region distribution over lossy networks.

Which streaming protocol is most secure?

SRT includes AES-128 or AES-256 encryption by default at the transport layer, securing media without additional configuration. RTMP transmits unencrypted unless wrapped in TLS as RTMPS, which adds encryption but requires server and encoder support on both ends. For contribution feeds carrying confidential or high-value content over the public internet, SRT is the more secure choice out of the box.

How do RTMP and SRT compare on latency?

RTMP and SRT both operate in the low-latency range, with RTMP delivering two to five seconds and SRT achieving approximately one second over the public internet. SRT’s UDP transport and tunable buffer parameters allow operators to trade off latency against packet recovery time based on network conditions. RTMP’s TCP-based delivery is consistent on stable networks but lacks the configurable recovery window that SRT provides.

How do RTMP and SRT compare on compatibility?

RTMP integrates cleanly with virtually every software encoder (OBS, Wirecast, vMix) and remains the default ingest format for major streaming platforms like YouTube, Twitch, and Facebook. SRT is open-source and supported by a growing list of professional encoders, decoders, and SDKs through the SRT Alliance, including hardware encoders from AJA, Blackmagic, Haivision, and others. Neither protocol plays natively in browsers, so both require a media server for last-mile delivery to viewers.

How do RTMP and SRT compare on stability?

RTMP runs over TCP, which guarantees delivery but risks head-of-line blocking and visible stalls when network conditions degrade. SRT runs over UDP with ARQ retransmission, recovering lost packets without TCP’s blocking penalty, which makes it the stronger choice for contribution over unpredictable public internet links. RTMP remains stable on controlled networks with predictable bandwidth, but degrades faster than SRT when packet loss or jitter enters the path.

How do RTMP and SRT compare on cost?

RTMP and SRT are both royalty-free protocols, so neither carries direct licensing fees. The primary cost driver is the surrounding infrastructure: encoders, media servers, transcoding, and delivery. SRT’s open-source ecosystem has a growing base of free and commercial tools, while RTMP’s two-decade install base means it works with virtually any software encoder out of the box. In practice, total cost depends more on the media server, transcoding, and delivery infrastructure than on the protocol choice itself.

Which protocol fits which use case?

Each protocol has a clear sweet spot in production workflows:

  • RTMP: First-mile ingest into streaming platforms (YouTube, Twitch, Facebook), low-latency interactive sessions, and legacy encoder workflows.
  • SRT: Secure broadcast contribution over the public internet, remote production, and multi-region distribution where packet loss is a concern.

Most contribution workflows pair one of these protocols with a media server that transmuxes the feed into HLS, LL-HLS, DASH, or WebRTC for last-mile delivery to viewers.

RTMP vs SRT: Which Should You Choose?

Selecting between RTMP and SRT for contribution comes down to three variables: network conditions, security requirements, and destination platform compatibility. RTMP remains useful for ingest into legacy platforms and consumer destinations like YouTube, Twitch, and Facebook that accept it as a default input. SRT is the modern standard for secure contribution over the public internet, particularly for remote production, multi-region distribution, and any workflow where encryption and packet recovery are non-negotiable. Most production deployments use both, depending on the destination. Wowza Streaming Engine ingests RTMP, RTMPS, and SRT contribution feeds, then transmuxes them into HLS, LL-HLS, DASH, WebRTC, or MPEG-TS for delivery from a single platform. To see how Wowza Streaming Engine fits a specific protocol architecture, contact a Wowza streaming expert today.

Frequently Asked Questions

What is the difference between RTMP and SRT?

RTMP is a TCP-based ingest protocol developed by Macromedia that delivers video to streaming platforms with two to five seconds of latency. SRT is a modern open-source protocol developed by Haivision that uses UDP with ARQ packet recovery and built-in AES encryption to deliver secure, reliable contribution feeds at approximately one second of latency over the public internet.

Is SRT better than RTMP?

SRT outperforms RTMP for contribution feeds over the public internet because it includes built-in AES encryption, recovers from packet loss with ARQ retransmission, and operates over UDP for lower latency. RTMP remains the more practical choice for ingest into platforms like YouTube, Twitch, and Facebook, which still accept RTMP as a default input format.

What latency can SRT and RTMP deliver?

SRT typically delivers around one second of glass-to-glass latency over the public internet. RTMP usually achieves two to five seconds. The exact figures depend on encoder buffer settings, network conditions, and the receiving server’s processing pipeline.

Can a single media server handle RTMP and SRT?

Yes. Wowza Streaming Engine ingests RTMP, RTMPS, and SRT contribution feeds simultaneously, transmuxes them into HLS, LL-HLS, DASH, WebRTC, or MPEG-TS for delivery, and supports protocol bridging across the full streaming workflow without requiring separate infrastructure for each protocol.

Is RTMP or SRT more secure?

SRT provides stronger built-in security, with AES-128 or AES-256 encryption enabled by default. Standard RTMP transmits unencrypted, though RTMPS adds TLS encryption for transport. For contribution over the public internet, SRT is the more secure choice without additional configuration.

What is the best streaming protocol for low latency?

SRT delivers approximately one second of glass-to-glass latency over the public internet with built-in encryption, making it the strongest single-protocol choice for low-latency contribution. WebRTC achieves sub-second latency for interactive last-mile delivery, and Low-Latency HLS reaches two to five seconds for browser-based viewer playback at scale. The right choice depends on whether the workflow needs first-mile contribution, interactive delivery, or scalable distribution.

Does Wowza support RTMP and SRT?

Yes. Wowza Streaming Engine natively ingests RTMP, RTMPS, and SRT contribution feeds, transmuxes them into HLS, LL-HLS, DASH, WebRTC, or MPEG-TS for delivery, and supports protocol bridging in both directions across the full streaming workflow.

When should I use SRT instead of RTMP?

Use SRT instead of RTMP when the contribution feed travels over the public internet, when the workflow requires built-in encryption, or when the network is prone to packet loss or jitter. RTMP remains the practical choice when ingesting into platforms that require it (YouTube, Twitch, Facebook) or when the existing encoder ecosystem only supports RTMP output.

Wowza Streaming Engine: Flexible, Extensible, & Reliable Streaming

About Barry Owen

Barry Owen is Wowza’s resident video streaming expert, industry ambassador and Chief Solution Architect. In this role, he works with customers and partners to translate streaming requirements into scalable solutions. From architecting custom applications to solving complex integration challenges, Barry leverages more than 25 years of experience developing scalable, reliable on prem and cloud-based streaming platforms to create innovative solutions that empower organizations across every use case.
View More

FREE TRIAL

Live stream and Video On Demand for the web, apps, and onto any device. Get started in minutes.

START STREAMING!
  • Stream with WebRTC, HLS and MPEG-DASH
  • Fully customizable with REST and Java APIs
  • Integrate and embed into your apps

Search Wowza Resources


Subscribe


Follow Us


Categories

Blog

Back to All Posts