Streaming: Adobe RTMP Explained

Today we open another Posts Mini-Series, this time around we’ll focus on Streaming. As you may know , we are Streaming enthusiasts and most part of our daily business revolves around assisting and consulting on Streaming Solutions. Now that we think of it, this introductory Streaming Posts Mini Series should have come way earlier in our Blog, but given that we’re into so many Projects, and given that we wanted to first close the circle around what we’d be going to cover into it we’ve preferred waiting until today.

Today’s Post opens the arena talking about RTMP Streaming, that is , Streaming over RTMP as a Protocol: RTMP is the second most largely used Streaming Protocol , and although considered “Legacy” by many CDNs nowadays, it still represents the only way to overcome some technical challenges with Streaming, not to mention the fact that it’s highly adaptable, especially to simpler Devices.

How One AI-Driven Media Platform Cut EBS Costs for AWS ASGs by 48%

How One AI-Driven Media Platform Cut EBS Costs for AWS ASGs by 48%

Without any further ado, let’s dive into it and have a closer look into what RTMP Streaming is on a high level.

Introduction

Streaming has become an extremely popular way to deliver audio and video content today; just think about the Internet panorama not any longer than 5 years ago. There are several reasons for this popularity: for instance, if you want to deliver either Audio or Video to your Customers on a subscription basis, you have no other option but to use a Streaming Technology. When a Video is streamed to your Customer via a Media Player, the content simply plays instead of downloading. If this Customer opts out of his/her subscription, he or she can no longer access the Video. In short, you cannot download a streaming Video. Moreover, you can transmit Live content, in the form of Audio or Video, only by using a Streaming Technology.

What is a Streaming Technology?

Streaming means transmitting data over a Network using a Streaming Media Server, directly to a Media Player. The User or Viewer can start watching the content immediately, without having to wait for the entire Video file to download. For Streaming data you require a Media Server instead of a Web Server. The data or Video is compressed at the Media Server end and decoded by the Media Player. There are many Vendors and Protocols for Streaming media. Real Networks and Microsoft Windows media are two (not so popular anymore) formats. Streaming can be either from a file which is stored on a Media Server (On Demand Streaming) or transmitted Live. Webcasts and Podcasts can only be enabled using a Streaming Technology.

What is the difference between streaming and downloading?

Many of us are quite confused by what constitutes Streaming and how it’s different from downloading. Before proceeding into all technicalities pertaining to Streaming Technologies, it’s critical to know the difference.

Let’s examine the process of downloading and playing back a Video file. This process (downloading) makes use of the HTTP Protocol and data or Video is stored on a Web Server. Whenever a request is made for the Video file, the Web Server simply transmits data to the End User. The End User can start viewing the Video only after the entire file has downloaded. Note that the file is downloaded completely, without any loss of data (in the form of dropped frames). The TCP protocol ensures that all data packets are received.

On the other hand, Streaming media is (almost) instantly available for playback on the End User’s Media Player. The media is compressed at the Server and decompressed at the End User end. Users can access interactive applications and create playlists. Streaming Media Providers can monitor usage of their service and bill Customers accordingly. Since Streaming Media cannot be downloaded, it is suitable for subscription based Services. It protects all Copyrights since users cannot store and distribute media files (well they do, but that is a different Post than today’s); Streaming Technologies can likewise be used for Live broadcasts.

Walking in a Web Server’s shoes, media downloading is a one way process. As soon as the media file on the Web Server receives a request, it (the Web Server) simply begins the process and ensures that the file is downloaded to the hard disk of the End User. When you use a Streaming Server, the media download is a two way process consisting of the actual download and another process which communicates and exchanges information between the Player and the Server. Due to this communication which consists of control messages, the Streaming Server can (amongst the very whole rest) modulate and adjust the Streaming speed according to Network conditions and Media Player. For example, if the speed of transmission (for whatever good or bad reason) drops from 300 to 200 kbps, the streaming is adjusted to cater to this lower speed or rate, which leads to better User experience. When the Network speed improves, the Server once again increases the transmission rate. Needless to say, this is just one of the many Features and this is not the only way to handle Adaptive Bitrates; the latter was more of a sample to mention what the constant flow of communication between Server and Clients allows to help with.

So FINALLY, what is RTMP as a Streaming Technology?

RTMP is an Adobe Proprietary Protocol and stands for Real Time Messaging Protocol. Originally it was developed by Macromedia Inc. which was later purchased by Adobe; if you still remember Macromedia you can guess how old RTMP as a Protocol is. Let’s face it: the Adobe Flash Player has been in use for long and is still used widely, though it’s Legacy nowadays if you go and ask most CDN Vendors for example. RTMP can be used for streaming Video in MP4 and the popular FLV formats. It can also stream Audio in AAC and MP3. RTMP can be used for Live as well as On Demand Streaming. There are many types of RTMP Servers, such as the Adobe Flash Media Servers or Wowza Servers (the most popular among them).

How does RTMP work?

RTMP is based on TCP (Transmission Control Protocol). In a sample scenario, the communication is established between the Adobe Flash Media Server (FMS) and the Client Flash Player. RTMP protocol is versatile and can deliver Video and Audio (and TEXT! Don’t forget it allows for a separate text track to send along) in numerous formats and to various Devices like Mobiles (but, generally, iDevices which don’t “understand” Flash) and Web Applications. The advantage of RTMP is that all Video and Audio files are sent to a swf file which can be played in a Flash Player, which in turn can be embedded in a Web Page or even Mobile Devices.

In a homely setup for the enthusiast, the Adobe Flash Media Server has to be installed first to facilitate transmission of Video or Audio data. When a Flash Player installed at the End User end makes a call to the FMS, it (the FMS) sends a swf file, which resides on the Server, back to the Player. The Video and Audio files are inserted in this swf file and therefore you can send Video or Audio in any convenient format and still playback in the same Flash Player.

Pros and Cons of RTMP as as the Streaming Technology of your choice

RTMP Streaming, at least in a homely setup, can be achieved with relative ease. The process of installing and setting up a Flash Media Server is simple and the technology is mature (it’s been around for 10+ years now). You can transmit Video and Audio in many formats and renditions, as well as apply Security Features such as Player Verification.
Not only that: one of the most important advantages of RTMP, when it comes to Live Broadcasts, is the very low latency/delay from real time in transmission: as we’ll see into later Posts, HTTP based Technologies introduce very high delays (10+ seconds wouldn’t be surprising) and that just cannot work with really, really Live transmissions such as Sport Events, Betting Systems, Trading related Applications.

There’s more to the pack of RTMP advantages over HTTP: for as sad as it may sound, not all Devices on Earth today are cutting edge Technology. Let’s talk Set Top Boxes for example: let alone a few remarkable exceptions, we are talking about dumb boxes packed with stone age old Hardware and Firmware. These do “understand” RTMP and not many of the most recent, next Posts related , HTTP based Streaming Technologies.

On the disadvantages side of the moon, my Dear Reader, you must bear in mind that RTMP is an old Technology and therefore does not work in some environments. For example, it does not work in HTML5. This is because RTMP differs from the HTTP Protocol. Also, it doesn’t work with all iDevices as you may have discovered already if you have (more than) one like we do: Apple doesn’t like Flash for some obvious reasons.

Add to that, that RTMP may prevent users from accessing files due to blocking by Firewalls (it generally works over Ports 1935 and 443, instead of famous HTTP Port 80). Always on the Network side of things, bandwidth limitations may lead to dropped frames or jitter in video and audio: as you may discover if you have a look at RTMP’s own RFC, RTMP – unlike HTTP – lacks lots of the error checking capabilities when it comes to dropped packets.

Last but not least, and especially for us dealing with the world of CDNs on a daily basis, RTMP is always more of a no-go when applying for Streaming CDN Services: most renowned CDNs don’t support it anymore, many others have stopped increasing their own RTMP Servers footprint worldwide, and many others are slowly de-constructing their RTMP Capacity as we’re speaking. In other words, when it comes to Big Streaming capabilities, you may find yourself alone in the CDN Space – though hope is still there to date.

Conclusion

RTMP is an old and proven Streaming Technology. The Flash Player which is used to view Video and Audio streamed via RTMP Protocol is popular and used extensively. However, this Technology suffers from limitations. Many of these have been overcome with modified versions of the Flash, but it wouldn’t be daring to say that RTMP is nearing what CDNs love to call “End of Life” as a Streaming Technology.

The latest Adobe Flash Media Server 4.5 has actually done away with the proprietary flv format and provides HTTP Dynamic streaming and HTTP Live streaming technology. We will discuss these streaming technologies in future Posts, as well as many more others, not Adobe proprietary ones.
We hope to have shed some decent light on RTMP at an introductory level and would love to hear from you now.

Original post here.

Latest Articles

Complying with AWS’s RI/SP Policy Update: Save More, Stress Less

Shared Reserved Instances (RIs) and Savings Plans (SPs) have been a common workaround for reducing EC2 costs, but their value has always been limited. On average, these shared pools deliver only 25% savings on On-Demand costs—far below the 60% savings achievable with automated reservation tools. For IT and DevOps teams, the trade-offs include added complexity, […]

Itay Tal Head of Cloud Services
21st November, 2024
Three Ways CISOs Can Combat Emerging Threats in 2025

73% of CISOs fear a material cyberattack in the next 12 months, with over three-quarters convinced AI is advancing too quickly for existing methods to combat it. But what can CISOs do to prepare for the coming wave – and access the resources they need to deal with this evolving threat landscape? To find out, […]

11th November, 2024
How Optimizing Kafka Can Save Costs of the Whole System

Kafka is no longer exclusively the domain of high-velocity Big Data use cases. Today, it is utilized on by workloads and companies of all sizes, supporting asynchronous communication between even small groups of microservices.  But this expanded usage has led to problems with cost creep that threaten many companies’ bottom lines. And due to the […]

Itay Tal Head of Cloud Services
29th September, 2024
Migrating Volumez RedHat VMs into Amazon Linux 2 for higher effective discounts rate of Saving Plan

A cloud data infrastructure company relied on extensive use of multiple instance types to test its products. But this made it difficult to optimize costs – a fact which had begun to impact their ability to scale the business.   The GlobalDots team helped the company identify and implement a new infrastructure configuration that both saved […]

Itay Tal Head of Cloud Services
19th September, 2024

Unlock Your Cloud Potential

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

    GlobalDots' industry expertise proactively addressed structural inefficiencies that would have otherwise hindered our success. Their laser focus is why I would recommend them as a partner to other companies

    Marco Kaiser
    Marco Kaiser

    CTO

    Legal Services

    GlobalDots has helped us to scale up our innovative capabilities, and in significantly improving our service provided to our clients

    Antonio Ostuni
    Antonio Ostuni

    CIO

    IT Services

    It's common for 3rd parties to work with a limited number of vendors - GlobalDots and its multi-vendor approach is different. Thanks to GlobalDots vendors umbrella, the hybrid-cloud migration was exceedingly smooth

    Motti Shpirer
    Motti Shpirer

    VP of Infrastructure & Technology

    Advertising Services