BoxCast Team • January 30, 2019
You’re watching a video online. It plays for a couple of seconds, and then it starts to buffer. This can be frustrating for any type of video content — especially if you’re watching a live broadcast, because now you’ve missed seconds, or minutes, of an event you can no longer experience in the moment.
Disruptions in video streaming can be caused by a lot of things, but one major culprit is the upload bandwidth available to the person or organization broadcasting the event. When bandwidth is limited or the network becomes congested, it's then up to the streaming service, along with the streaming protocol they use, to mitigate these issues.
What do we mean by streaming protocol? Streaming protocols are methods for sending video data between devices, like an encoder and a server. In this article, we’ll compare the more commonly used protocol, RTMP, to our own BoxCast Flow.
Originally developed by Adobe, RTMP (Real-Time Messaging Protocol) is a protocol for streaming your live videos, audio podcasts, and other data over the internet. Many live streaming services and encoders on the market today use RTMP to send a live stream to a custom destination, like Facebook Live, Youtube Live, etc.
Because it’s a recognized standard, pretty much every live streaming company in the world (including BoxCast) accepts RTMP.
BoxCast Flow is a patent-pending protocol we developed for sending your live videos to our cloud. This patent-pending protocol makes your stream more reliable, more secure, and higher quality.
We developed BoxCast Flow to address issues we’ve seen with other streaming protocols. Here are some advantages of BoxCast Flow:
RTMP is a TCP-based protocol that comes with a “congestion control,” which delays the transmission of data whenever your network becomes congested (i.e., other people are using it to stream, upload video, send emails, etc.).
Sure, this congestion control can ease your network jam, but its downside for live streaming is it creates a longer delay, which is commonly seen in the form of video buffering.
When you’re watching a live stream, the last thing you want is a disruption that makes you wait when the network is congested. RTMP has several other features that are great for reliability but also create delay, such as in-order delivery of your video content and the retransmission of any lost data packets.
BoxCast Flow utilizes both stream (TCP) and datagram (UDP) transports, taking advantage of what works best in each scenario to ensure your video is delivered to viewers without buffering or artifacts.
(To learn more about the difference between TCP and UDP, check out this video.)
In addition to using your network more efficiently, BoxCast Flow has some other unique features that differentiate it from RTMP:
When small network issues mean your video doesn’t arrive in the cloud in a timely fashion, BoxCast Flow adapts to retransmit media data to fill in the gaps and ensure you won’t even notice minor network disruptions.
By sending a bit more data along for the ride, we can actually fill in small gaps without requiring retransmission. This keeps latency down and prevents artifacts.
With BoxCast Flow, your video data is obfuscated in order to:
Your internet connection may get better or worse over time. BoxCast Flow automatically adjusts to changing conditions by decreasing your bitrates during rough patches and increasing your bitrates when things are going well.
The same technology you’ll find in BoxCast Flow is normally reserved for extremely high-end broadcasters through expensive providers. But BoxCast has democratized the improvements so you can serve your viewers in high definition subject to real-world networking constraints. Our goal with live video streaming is to empower you to give your audience the best viewing experience possible, regardless of your budget or expertise.