Josh Clemence • April 10, 2018
You’re watching a video online. It plays for a couple of seconds, and then it begins 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 that you can no longer experience at 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 individual or organization broadcasting the event. When bandwidth is limited, or the network becomes congested, it is 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 that we’ve seen with other streaming protocols. Here are some advantages BoxCast Flow has:
RTMP is a TCP based protocol, which comes with a “congestion control” that delays the transmission of data whenever your network becomes congested (i.e. other people are using it to stream, upload video, send emails, etc.).
The advantage of this congestion control is that it can ease up your network congestion, 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 disruptions that make you wait when the network is congested. There are several other features that RTMP has 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 either 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 make it distinct from RTMP:
When small network issues mean that your video doesn’t arrive in the cloud in a timely fashion, BoxCast Flow adapts to retransmit media data to “fill in the gaps” to 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 re-transmission. This keeps latency down and prevents artifacts.
With BoxCast Flow, your video data is encrypted in order to:
Your internet connection may get better or worse over time. BoxCast Flow automatically adjusts to changing conditions by decreasing your bit rates during rough patches, and increasing your bit rates when things are going well.
The same technology that you’ll find in BoxCast Flow is normally reserved for extremely high-end broadcasters through expensive providers, but BoxCast has democratized the improvements so that each and every broadcaster can serve their 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.