Real-Time Streaming Protocol (rtsp) Vulnerabilities

RTSP

What Is a Protocol?

Protocols provide a set of rules governing how data travels  from one communicating system to another. For instance, the Hypertext Transfer Protocol (HTTP) defines how webpage data and hypertext links are transmitted across the World Wide Web by governing communications between web servers and browsers.

WHAT IS LIVE STREAMING?

Livestreaming refers to online streaming media simultaneously recorded and broadcast in real-time. It is often referred to simply as streaming, but this abbreviated term is ambiguous because “streaming” may refer to any media delivered and played back simultaneously without requiring a completely downloaded file

By extension, streaming protocols  handle the delivery of live and on-demand streaming content. RTSP is a foundational technology making up the streaming protocol suite. It was designed to establish and maintain sessions between a source and the streaming server.

LIVE STREAMING TOOLS

Professional Live Streaming Software (Desktop Only)

13. StreamYard

StreamYard strikes a nice balance of being more sophisticated than a typical native streaming platform, but still being simple and easy to use. It’s a great option for when you’ve already learned the basics of how to live stream, and you’re ready to graduate to extended features without jumping into the deep sea of extra tools and integrations.

StreamYard lets you do things like interview up to six guests, share your screen, and add custom graphics like your company logo and a CALL TO ACTION. Plus, you can live stream directly to social media platforms like YouTube, Facebook, and LinkedIn.

Available on: Desktop only

Price: Free for basic features; subscriptions start at $20/month

how to live stream with StreamYard

14. Be.Live

Be.Live is another top contender for professional live streaming platforms. You can make a broadcast your own with customizations like your brand logo, screen overlay images, and color scheme.

You can also use text at the bottom of the screen to emphasize certain topics. For instance, you can pull out individual comments when one of your viewers asks an awesome question or brings up a relevant point that you want to discuss more.

In the free account, you can stream three shows per month, use five branding assets like logos and overlays, set two brand colors, and have two people on the screen at the same time. This is a reasonable amount of perks, so you have plenty of leeway in deciding if you want to upgrade.

Available on: Desktop only

Price: Free for basic features; subscriptions start at $24.99/month

Live Stream Like a Pro

If you’re just breaking into the wide world of live streaming, or if you’re looking to level up your game, there are loads of tools to help you on your way. This goes for quick, simple streaming from your iPhone or Android, up to more robust and complex functionality that requires a desktop.

Live streaming is an awesome way to connect with people and share your ideas in both a personal and professional setting. So, if you want to foster better communication and stronger relationships, it’s definitely worth your time to learn and master.

LIVE STREAMING PLATFORMS

Native Live Streaming Platforms (Mobile-Friendly)

1. Facebook Live

If you’re on Facebook, you’ve certainly seen a Facebook Live broadcast … or two, or a million. This is because Facebook makes it so darn easy to share information this way. All you need to do is click a few buttons, and you’re on air for all of your friends and followers to see.

Like most live streaming platforms, your viewers have the opportunity to engage with your stream using reaction buttons like “like” and “love,” as well as comment in real time. When you’re done, save the stream and publish it to your profile, business page, or Facebook stories

Available on: iOS, Android, desktop

Price: Free

2. Instagram Live

Instagram Live is a feature of Instagram stories offering a similar experience to what you’d find on Facebook Live. One of the cool things about this free live streaming platform is that you can invite one of your viewers to join you in the conversation.

In the live feed, this shows as a split-screen conversation that your other viewers can follow along. You’ll get the same engagement and commenting functionality as Facebook, but keep in mind that, unlike Facebook, you can’t stream from a desktop.

Available on: iOS, Android

Price: Free

3. YouTube Live

YouTube Live is actually one of the OGs of live streaming platforms – getting its start more than a decade ago. Because YouTube is a video platform, its Studio gives you plenty of functionality to customize your stream.

You can even schedule a stream in advance, so you have time to promote your event. When you’re done recording, YouTube will automatically save your stream onto your channel for others to watch later (but you can change this setting if you don’t want your stream to have an extended shelf life).

Available on: iOS, Android, desktop

Price: Free

4. LinkedIn Live

Some might argue that Linkedin live shouldn’t be on this list because it’s still in beta, and it’s not available freely for everyone. We disagree. It’s true that, as of publication time, you need to apply to be able to stream on LinkedIn Live.

But if you’re active on Linkedin and want to use live streaming for business, this is awesome news. So, sign yourself up, cross your fingers that you can be one of the early users, and keep an eye out for the public release.

Presumably, you’ll be able to enjoy similar features as other native live streaming platforms, like live post reactions and comments from your audience, and the ability to save your stream as a video and post it to your profile or page for added shelf life.

Available on: iOS, Android, desktop

Price: Free

WHAT IS REAL TIME STREAMING PROTOCOL?

The Real Time Streaming Protocol is a network control protocol designed for use in entertainment and communications systems to control streaming media servers. The protocol is used for establishing and controlling media sessions between endpoints.

What is Real Time Streaming Protocol used for?

Real-time streaming protocol, or presentation control protocol, commonly known as RTSP, is a standard protocol widely used for efficiently controlling the streaming of audio and video data over the internet.

How does RTSP protocol work?

How RTSP works. When a user or application attempts to stream video from a remote source, the client device sends an RTSP request to the server to determine the available options, such as pause, play and record. The server then returns a list of the types of requests it can accept through RTSP.

Why Use RTSP?

RTSP is a great option for real-time live streaming video. Despite the very rapid pace of technology, RTSP’s simple design means it remains just as relevant and useful today as it did back in ‘96.

Servers can easily handle a large amount of RTSP streams since the RTSP protocol was built over a client-server model. With native support for a variety of devices such as drones, IoT and robots, it enjoys compatibility with a wide variety of devices. When paired with Red5 Pro’s Mobile SDK, RTSP can be extended to Android or iOS devices as well. Like WebRTC, RTSP uses RTP to transport the video and data stream. Thus it boasts a real-time latency of sub 500 milliseconds.

RELEVANCE OF REAL TIME STREAMING PROTOCOL

Better for a Client-Server Model

Unlike WebRTC, RTSP is a little simpler to run as it does not perform all the signaling and NAT traversal techniques that WebRTC does. With each WebRTC connection, you have to maintain a separate signaling WebSocket connection. With RTSP it’s a single connection per subscriber/publisher client.

Without the higher overhead of WebRTC, RTSP puts less strain on the server and thus allows for more connections.  We have detailed the WebRTC signaling process in subsequent post.

2) Many Supported Devices

RTSP provides for cross-device compatibility.

IP Cameras

Since IP cameras have been around since the 90s they were one of the earliest adopters of RTSP for streaming, and thus they still continue to use it today. If it ain’t broke, don’t fix it. There are various uses for IP cameras. Traffic monitoring for reporting or enforcement, security surveillance, and even home monitoring.

Other IoT Devices

Drones enjoy widespread use expanding well beyond a backyard hobby. Smartphone or laptop controlled drones can be guided with the assistance of a live video feed. Firefighters and U.S. Border patrol agents have used drones to conduct operations. Additionally, aerial surveying is useful for maintaining infrastructure by examining power lines, and roads or even conducting geologic surveying. RTSP support is often built right into the drone software and is a common way to access a drone’s video feed.

Robots

From underwater submersibles, radiation tests, to bomb diffusing, robots are being created for a variety of applications. As a well-established solution with very low latency, robot-based computer systems will typically use RTSP for video delivery. The use of video allows the operator to control the robot and perform a wide variety of operations. Among the most impactful are medical robots such as remote surgery and telepresence robots which enable doctors to communicate and work in remote (no pun intended) areas.    

That leads us to our next point (which is a little more Red5 Pro specific):

3) Mobile Support

Normally the list of supported devices would stop there as RTSP does not enjoy native mobile support. This would be an unfortunate shortfall of a very useful protocol. However, our Red5 Pro Mobile SDK was built to use RTSP to send and receive streams on Android and iOS devices.

RTSP is a simple way to connect a large number of broadcasters to a large number of subscribers. As mentioned earlier, RTSP puts less strain on the media server than WebRTC. Accordingly, a single server instance will support more connections as reflected by our benchmarks

For example, a single c5.large instance (2CPU 4GB) running the latest Red5 Pro can handle 500 WebRTC subscribers or 2,000 RTSP connections. That means the cost of the Red5 Pro Mobile SDK will quickly be recouped by the 4X reduction in bandwidth costs.

4) Low Latency

By using the efficient RTP protocol, RTSP achieves a very low latency: under 500 milliseconds when used with Red5 Pro. As RTP also forms the underlying protocol for WebRTC, most RTSP implementations are essentially a stripped-down version of WebRTC. One can get the same performance without the complexity.

In order to achieve this low latency, RTP sends video and audio data in small chunks suitable for quick transmission between the servers and clients. Each chunk of data is preceded by an RTP header; RTP header and data are in turn contained in a UDP packet. As each packet is processed, the following packets may already be in the stage of decompression or demultiplexing.

To cope with the occasional loss of packets (a hazard of Internet delivery in general), the RTP header contains timing information and a sequence number that allows the receivers to reconstruct the timing produced by the source. So if anything is out of order it can be quickly organized in proper order for playback.

The general structure of RTP consolidates essential information which in turn streamlines the process of media delivery. Thus it can achieve effective delivery of media streams with very low latency.  

DISADVANTAGES OF REAL TIME STREAMING PROTOCOL

RTMP’s Disadvantages

There are some disadvantages to using RTMP streams. Let’s take a look at them:

  • Not Supported By HTML5While being supported by Flash players, RTMP streams are not supported by HTML 5 players  which are the de-facto standard. So, another streaming protocol is needed to “convert” the RTMP stream to HTML. Typically, the HLS is used for that.
  • Vulnerable To Bandwidth IssuesRTMP streams are often riddled with low bandwidth issues. This can cause unnecessary–and frustrating–interruptions in your media streaming that can impact the overall viewing experience.
  • HTTP IncompatibilityAnother issue users face is the inability to stream RTMP over HTTP. To publish an RTMP stream on your website, you will need to implement a special server, such as the Flash Media Server and use a third-party Content Delivery Network  or use a streaming video platform.

0Shares

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *