Streaming Protocol

A Complete History of RTMP Streaming Protocol

8 min read
Streaming Protocol

Live streaming technology has been significantly influenced by the Real-Time Messaging Protocol, or RTMP. While newer protocols have emerged, RTMP established the foundation for today’s streaming technologies.

RTMP operates by maintaining a constant connection between the client and server, ensuring smooth transmission of audio and video data. This efficiency reduces delay and optimizes quality in streaming content.

Let’s look at RTMP’s journey from its beginning to its current place in the industry.

What is RTMP (Real-Time Messaging Protocol)

RTMP is a TCP-based protocol designed for reliable transmission of audio, video, and data between encoders and streaming servers with low latency.

The Real-Time Messaging Protocol (RTMP) is essential for live streaming, designed to transport live audio, video, and data online efficiently. Originally developed by Macromedia, later acquired by Adobe, RTMP was created to enable streaming between Flash Player and the Flash Communication Server. Despite Flash’s discontinuation, RTMP continues to be widely used due to its performance and reliability.

This TCP-based protocol maintains persistent connections, crucial for low-latency communication. This makes it suitable for real-time streaming applications where timely delivery of content is essential. Its ability to deliver consistent and reliable streams has secured its position in the streaming ecosystem.

The Birth of RTMP: From Tin Cans to Real-Time Messaging Protocol

RTMP began around 2000 when Macromedia started a project called “Tin Can,” named for its resemblance to childhood tin can telephones.

Jonathan Gay, a key developer behind Flash technology, proposed creating a new server product for real-time communication. Before coding, the team envisioned the technology’s potential applications.

Each engineer shared ideas about possible uses for this new technology, unknowingly creating the foundation for online video’s future.

The team aimed to create a protocol supporting real-time interactions between users and media servers, handling audio and video data efficiently. Media files were organized within the server’s architecture as part of an ‘app’, a folder on the server root containing the streaming content.

The connection URL was vital during negotiation between client and server to ensure successful streaming.

RTMP Specifications and Connection

RTMP has several variations, including RTMP Tunneled (RTMPT) and RTMP over TCP, each optimized for different streaming conditions. The protocol splits streams into fragments, with default sizes of 64 bytes for audio and 128 bytes for video and other data types. This fragmentation allows efficient multiplexing of different streams over a single connection.

RTMP uses multiple virtual channels to handle various data types, such as video, audio, and control messages. Establishing a connection involves a handshake process with three packets exchanged between client and server, ensuring both sides are synchronized for stable streaming.

The Adobe Flash Player Era Begins

In March 2002, Macromedia released Flash Player 6, which included features for the upcoming Flash Communication Server MX, setting the stage for future streaming capabilities.

RTMP officially arrived in July 2002 with Macromedia’s release of Flash Communication Server 1.0. This version included essential tools like NetConnection, NetStream, and SharedObject. The interactions between Flash Media Server and the flash client were crucial for connections and media streaming.

Flash Communication Server 1.5, released in March 2003, expanded the protocol’s capabilities with HTTP tunneling, Linux support, and a free developer edition.

By November 2005, Flash Media Server 2.0 brought major improvements, including On2’s VP6 codec in Flash Player 8, offering better image quality and more efficient compression. This release also introduced edge-origin servers for easier load balancing. RTMP used the action message format (AMF) to encode headers and bodies for client-server communication.

RTMP Encoder and Media Server

An RTMP encoder converts raw video and audio into a format optimized for internet broadcasting. Encoders can be software or hardware-based, offering different performance levels. Their main function is to compress video streams and send them to platforms like YouTube Live, Facebook Live, or Twitch.

When an RTMP stream reaches a media server, it undergoes further processing. Most media servers support RTMP ingest to receive and manage incoming streams. The server can transcode the RTMP stream into other formats like HTTP Live Streaming (HLS) or MPEG-DASH, making content accessible across various devices regardless of network conditions.

The Golden Age of RTMP (2007-2012)

From 2007 to 2012, RTMP experienced significant developments:

In February 2007, Adobe released Flash Media Live Encoder (FMLE), a free tool that simplified encoding and streaming live video using RTMP.

Justin.tv launched in 2007, later becoming Twitch, popularizing live streaming through “lifecasting” – broadcasting daily activities online.

December 2007 brought Flash Media Server 3.0, further improving the technology.

Flash Media Server 3.5 was released in 2009, alongside the emergence of Elemental Live, expanding RTMP-supporting tools.

Video platforms like YouTube supported RTMP for live stream contributions before transcoding for broader playback compatibility.

In 2010, Adobe released Flash Media Server 4.0, adding features like multicast, peer-to-peer connectivity, and HTTP Dynamic Streaming (HDS).

The software was renamed Adobe Media Server (AMS) in 2012 with Version 5.0, marking significant platform improvements.

On September 1, 2012, OBS (Open Broadcaster Software) version 0.32a was released, making RTMP streaming accessible to everyone through a free, open-source solution.

During this period, RTMP and Flash Player dominated live streaming, supporting fast video delivery with low latency, ideal for real-time applications.

The Role of Content Delivery Network in RTMP’s Growth

Content delivery networks (CDNs) were crucial for RTMP’s adoption by reducing latency and server load. Providers like Akamai and Limelight Networks helped address video streaming’s scalability challenges.

CDNs optimize streaming data flow by distributing it across global servers, reducing latency and managing regional demand. This allowed RTMP streams to reach worldwide audiences without content creators needing to manage complex server infrastructure, making live streaming viable for businesses, entertainers, and individual creators.

The Shift Away from RTMP for Delivery

Despite its strengths, RTMP faced challenges as the web evolved:

RTMP often had firewall issues, making it unreliable in certain network environments.

As a stateful protocol, RTMP requires dedicated streaming servers, making it more resource-intensive than newer alternatives.

Despite CDN support, RTMP’s architecture created challenges for extreme scaling.

The increasing popularity of mobile devices, where Flash had limited support, became problematic.

The industry gradually favored HTTP-based protocols that could use standard web servers. These new technologies improved scalability and viewing experiences by allowing local servers to cache streaming content. Adaptive bitrate streaming became more effective than RTMP, optimizing content delivery across devices and network conditions.

The shift became clear when Adobe announced Flash’s end, which officially occurred in December 2020. Adobe encouraged content distributors to migrate Flash content to new open formats.

Secure Reliable Transport (SRT) has gained adoption as a modern open-source technology providing reliable, low-latency streaming as an alternative to older protocols like RTMP.

Low Latency and Interactive Video Experiences

RTMP’s design suits low-latency applications, critical for live streaming and interactive video. The protocol’s persistent connection and real-time data transmission minimize delay between source and viewer, essential for applications requiring immediate feedback like live broadcasts, online gaming, and interactive webinars.

RTMP’s real-time capabilities enable interactive video experiences with features like live chat, real-time commenting, and interactive polls, creating engaging viewer environments. By delivering video and audio data quickly and reliably, RTMP supports various modern devices and HTTP-based protocols for smooth interactive streaming.

RTMP’s Second Life as an Ingest Protocol

While declining as a delivery mechanism to viewers, RTMP found new purpose as the dominant protocol for “first-mile” delivery – the process of sending streams from broadcasting software to the RTMP server.

This is why platforms like Twitch, YouTube, and Facebook Live still use RTMP ingest. When streaming using OBS or similar software, RTMP sends content to their servers, where it’s converted and delivered to viewers using modern protocols like HLS or DASH. A dedicated streaming server is crucial in the RTMP workflow for efficient media transmission.

RTMP in 2019 and Beyond

In 2019, Veriskope entered a global licensing agreement with Adobe to manage all aspects of the Adobe Media Server business, gaining rights to distribute, support, and enhance Adobe Media Server products worldwide.

Today, RTMP thrives in specific contexts. Its transition to an open specification has enhanced usability, allowing developers to create various video, audio, and data delivery technologies. The protocol remains crucial in streaming workflows, valued for consistent encoder-to-server media transmission. Robust video infrastructure is essential for large-scale distribution, whether through third-party services or in-house solutions for RTMP stream management.

Why RTMP Streaming Still Matters

Despite newer protocols, RTMP remains important for several reasons. As one of the foundational streaming protocols, it has been crucial in multimedia streaming evolution. Understanding both traditional and current protocols is essential for developers, even as HLS, MPEG-DASH, SRT, and WebRTC have emerged.

RTMP offers consistently low latency, making it ideal for real-time applications.

Nearly all streaming software supports RTMP, making it the universal language of stream ingest.

Through TCP, RTMP ensures reliable data transmission, managing packetization and packet order.

For many streamers, the RTMP workflow is straightforward and familiar.

Future of RTMP

RTMP remains vital for live streaming and real-time communication. Its efficiency, reliability, and low latency make it essential for applications requiring fast data transmission. While HLS and MPEG-DASH have gained popularity, RTMP continues to play a key role in streaming, particularly in first-mile delivery.

As demand for live streaming and interactive video grows, RTMP will likely remain central to streaming workflows. Future developments may enhance RTMP’s security, scalability, and compatibility with emerging technologies. By evolving and adapting, RTMP will maintain relevance in the changing landscape of streaming technologies.

Final Thoughts

RTMP’s evolution from a Macromedia project to streaming infrastructure backbone shows how online video technology has developed. While viewers may no longer receive content via RTMP, its role in the first mile of streaming remains crucial, allowing content creators to reliably send streams to platforms.

Understanding RTMP’s history helps us appreciate streaming technology’s progress and the foundation of today’s streaming experiences. Looking ahead, RTMP continues to play an important role in the streaming ecosystem, even as new technologies emerge.

Join 200,000+ satisfied streamers

Still on the fence? Take a sneak peek and see what you can do with Castr.

No Castr Branding

No Castr Branding

We do not include our branding on your videos.

No Commitment

No Commitment

No contracts. Cancel or change your plans anytime.

24/7 Support

24/7 Support

Highly skilled in-house engineers ready to help.

  • Check Free 7-day trial
  • CheckCancel anytime
  • CheckNo credit card required

Related Articles