The easiest way to livestream to millions of users is to use social media platforms like Facebook, Instagram, YouTube or Twitch. These platforms are great for brand awareness, but give you limited options when it comes to content ownership, audience access and monetization.
The best way to livestream is to build your own platform where you can invite viewers to watch. This strategy will protect you from censorship, gain you access to better analytics, and more options on how you can monetize your streams. You just need to be prepared to make time and financial investment in order to reap the benefits of having full control over your content.
In this article, we’ll look at livestream platforms, their terminology and protocols. Then we’ll examine five livestream providers that enable content creators to maintain ownership of both their content and audience.
Different Kinds of Livestream Platforms
To get started, at the very least you’ll need a livestream media server and your own website. There are three types of livestream platforms you can consider working with:
- self-hosted
- cloud
- API-driven
With the self-hosted option, you’ll find a number of open-source and enterprise livestream media servers you can download and install yourself. You can host the software on a local server, or on a compute platform such as AWS, Azure, Digital Ocean, Linode. You’ll also need to set up storage space for your livestream recordings and your on-demand video content. For enterprise servers, you’ll need to purchase a license.
The cloud option is where the platform provider has already installed the software on their multi-tenancy infrastructure. All you have to do is simply create an account and you’re good to go. Scaling and technical issues are handled by the provider. You’ll be billed a flat rate per month for the license to use the software, plus infrastructure costs that you’ll incur while running livestream sessions.
The API-driven option is similar to the cloud option, except that you only pay for the usage. This is a far more cost-effective pricing strategy, since you only pay when a livestream is running or when you’ve stored video content on their platform. These platforms also have far better documentation that’s suited to developers.
While it appears that the most affordable solution is the way go, you may need choose the other options due to requirements such as:
- extra low latency
- 24×7 streaming
- local network only streaming
- access to technical expertise i.e. a web developer
- limited time to market
Features offered by platforms vary, and you may find a commercial provider has already implemented most of the back-end logic you need for your app. You should also note that, when it comes to pricing, long-term contracts are often priced lower per month than short-term contracts.
Terminology
Next, let’s get familiar with the main terminologies:
-
A livestream is technology that segments video streams or files into small chunks, which allows viewers to watch without downloading the entire file. The term live video is referred when the recording is happening in real time.
-
Video-on-demand, or VOD, is simply a service for streaming a pre-recorded show, film or event. When setting up a livestream session, you need to enable the record feature such that viewers coming later to your livestream can still watch the entire show from the start.
-
An encoder is either a hardware device or some software that takes a high-quality, uncompressed video source from a camera and encodes the video stream into a compressed format that’s optimized for transmission over limited internet bandwidth. Hardware encoders are more expensive but tend to be more reliable. Software encoders are more affordable, but they don’t run in dedicated environments, which makes them prone to interruptions from other applications.
-
A livestream media server is software that accepts transmission data from an encoder and then re-transmits into multiple streams at different quality to be delivered to audiences.
-
Transcoding is the process of converting a compressed video stream into an even better compressed format that can stream with minimum buffering at the highest possible quality. This is done by the livestream media server.
-
An edge server is simply a relay for streams originating from the livestream media server. Edge servers are often located near the streamer’s location and are used to offload the burden on the livestream server. They also help in reducing latency.
-
A livestream video player is a JavaScript application than enables browsers and mobile apps to decode video streams coming from a livestream media server. They often have playback controls and can come with additional features such as ad integration.
-
Latency is the delay often measured between the time a camera captures a frame till the time a streamer sees the frame on their device. With standard protocols, latency can vary between 10 to 40 seconds. Low latency protocols can achieve delays of less than three seconds.
Livestream Protocols
Streaming an event from your location to your audience is essentially a for-step process:
- Create a stream on your server. This will provide you with an RTMP URL which you’ll use to upload your stream.
- Configure your encoder and hit the stream button. This will upload your video source to your server.
- Your server will receive your stream and transcode it into multiple streams with varying quality.
- A member of your audience will connect to your livestream server via your website. Depending on your viewer’s network speed, an appropriate stream will be delivered.
Credit: Wowza
While there’s a number of protocols that have been developed for streaming content, there are only three that you should be concerned with.
RTMP
The Real-time Messaging Protocol (RTMP) is a streaming protocol that’s used to transmit optimized streams from your encoder to your livestream server. If you’re concerned about security, you can use RTSP, which uses SSL. There’s also RTMPE, which encrypts streams using Adobe’s security standards.
Apple HLS
HTTP Live Streaming is the most widely used delivery streaming protocol supported by every platform. It uses a technique known as ABR (Adaptive Bitrate) to break down videos into smaller chunks (ten seconds or less). It then encodes the chunks into different quality levels, which allows viewers to switch to a different quality stream in the middle of the video.
HLS has a latency that can vary between 10 to 40 seconds. There’s a newer variant called Low Latency HLS that was released in late 2020. It allows for reduced latencies of three seconds or less.
WebRTC
Web Real-time Communication is an open project originally developed for peer-to-peer communication. However, providers have figured out how to use the technology to provide unheard of latencies of 500ms and less to deliver livestreams to viewers across a vast geographic distance.
They have also figured out a way to scale up WebRTC to serve thousands of viewers, since standard WebRTC is limited to 60 participants in one session.
Livestream Interface Development
Once you’ve set up your livestream media server, you’ll need to build an interface where viewers will watch your livestream. The interface can be either a website or a mobile app. You’ll need to install a video player to connect and decode streams from your server. As you gather more traffic to your interface, your livestream infrastructure will scale up to keep up with demand and ensure a smooth streaming experience for everyone.
Your platform provider will often provide you with a custom video player. Alternatively, they can recommend several options, which include:
-
Video.js, which is open source and supports HLS and DASH by default. There are a number of community skins and plugins available that can installed to extend its features.
-
JWPlayer, which is a commercial player that supports HLS out of the box. It supports video gallery, 360 videos and ad integration. It starts at $10 per month.
-
THEOPlayer, which is a commercial player with affordable pricing based on impressions. It comes with rich SDKs, and supports ad integration, analytics and digital rights management.
To build a mobile app, you’ll need to use a mobile SDK — Android or iOS. There are multiple ways you can build a website:
- as a single page HTML
- using a content management system
- with server-based development — such as Django or Laravel
- as an SPA/SSR website with a Node.js or serverless back end
A provider may supply you with multiple ways of connecting your website to your livestream server. These options include using:
- embed scripts
- SDKs for server programming languages such as Node, Python and PHP
- a REST API
Building your own branded website or mobile app allows you to implement additional custom features such as:
- user authentication
- chat streaming
- ad display
- email subscription
- payment collection
- measurement tools
Next, we’ll look at different livestream server providers.
1. Owncast
Owncast is a complete, open-source livestreaming solution you can easily deploy to a cloud computing platform. It already includes a front-end website, meaning you don’t need to do any extra work. Installing Owncast on your server can be accomplished in one of the following ways:
- with a script installer
- by building from source
- by spinning up a server using the included Docker file
- by installing with Site.js — a script utility for installing Owncast as a
systemd
service
Since the software is open source, the only cost you’ll incur to get started is for the infrastructure. Scaling up can be accomplished by:
- vertical scaling: upgrading the server to a higher CPU count
- using external storage: generating video streams on the server and then delivering them from your storage server
Owncast is great for personal use and getting started with running your own livestream. However, you’ll need to have a bit of technical expertise to balance performance and latency. Otherwise, if your setup isn’t configured correctly, your viewers will experience interruptions and constant buffering.
2. Wowza
Wowza is a popular live video streaming platform offering both self-hosted and cloud solutions, namely:
The platform supports the following delivery protocols:
- WebRTC
- Apple’s Low-Latency HLS
- SRT (Secure Reliable Transport)
- MPEG-DASH
SRT is another low-latency streaming protocol designed to deliver pristine video quality across unpredictable networks.
MPEG-DASH is an adaptive HTTP-based streaming protocol developed by Moving Pictures Expert Group. It’s an alternative to HLS, and hence was named Dynamic Adaptive Streaming over HTTP.
Developing websites and mobile apps can be accomplished using their:
Pricing for Wowza Streaming Engine is licensed-based and starts at $125 per month for each instance. The higher tiers provide a more dedicated customer service response.
Pricing for Wowza Cloud Server starts at $85 per month. This is a package that includes a fixed set of livestream and viewing hours. If you exceed the plan’s limits, you’ll be billed the extra viewing hours at a fixed rate. There’s a pricing calculator included to help you determine the actual cost.
The Wowza Cloud Server option is recommended if you want to build livestreaming apps and have your infrastructure managed. Wowza Streaming Engine is recommended if you want to build a custom solution and manage your own infrastructure.
3. Red5 Pro
Red5 Pro is a popular livestreaming solution that focuses on low-latency streaming using WebRTC. Using standard protocols, users can experience a latency of about 20 to 40 seconds. With WebRTC implemented as the delivery protocol, a latency of 500ms or lower can be achieved. This is a massive achievement that no other livestream platform has been able to accomplish before.
Red5 Pro offers a livestream media server built using Java. It has a REST API interface and a number of SDKs written for JavaScript (WebRTC), Android, iOS and Linux. There are two main variants of the Red5 livestream server:
- community edition: with no scaling or webRTC
- Red 5 Pro: a commercial version that supports scaling and low-latency webRTC
There’s no cloud offering, so you’ll need expertise with setting up on your hosting account or on cloud servers. Pricing for Red5 Pro is based on licensing per instance and starts from $30. Higher tiers have:
- increased support
- unlimited connections through autoscaling
- discounts on extra instances
- adaptive bitrate
The provider has an impressive client list which includes Google, Intel, New York Times, Sony and Nokia. While the documentation in certain areas needs improvement, Red5 Pro is a great livestreaming solution if you want to deliver ultra low latency streams to your audience.
4. Ant Media Server
Ant Media Server is basically a fork of the Red5 community edition. They have their own enterprise version that also supports ultra low latency streaming and autoscaling. They have SDKs for iOS, Android, Unity and JavaScript, which they provide for free.
Pricing for the enterprise server starts from $89 per month per instance. Do note that you’ll need at least two instances to begin with — one for handling publishers and another one for handling viewer traffic. There’s unfortunately no cloud offering that’s similar to Wowza cloud streaming. However, they’ve provided presets that can help you quickly launch an Ant Media Server to one of the popular compute platforms.
This option is great, as the license billing is hourly. This means if you need to scale up when traffic is high, you’ll only pay for the hours those extra instances are running. There’s a pricing calculator you can use to determine your costs ahead of time. Unfortunately for the hourly rate, you need to consider the fact that the license fee applies as long as the server is running, whether you’re streaming or not.
In addition to your license fee, you’ll also incur charges from your cloud server provider. You’ll also need to have the technical expertise to handle server management, configuration and tweaking. Bit the documentation for Ant Media Server is excellent.
Overall, Ant Media Server feels like a step up from Red5 Pro in terms of pricing options and documentation. All that’s missing is a cloud managed service to help developers get started quickly.
5. Mux
Mux is a Livestream-as-a-Service (LaaS) platform that makes it easy for developers to build custom livestream apps using well documented APIs. All infrastructure complexity is handled for you so that you can focus on providing a unique livestream experience to your viewers.
Billing is based on usage that’s simple to understand and more cost effective when compared to other pricing models. Use their pricing calculator to see the cost for yourself. To get started, all you have to do is to simply register an account and you’ll be given a dashboard where you can create streams and monitor audience engagement.
The platform offers a vast number of features that are too many to cover here. Here’s a snapshot preview from their website.
Connecting the livestream platform to your app is accomplished using:
- a REST API
- SDKs — Ruby, Go, Python, PHP, Elixir and Node
- CMS Plugins
When building front-end applications, you’ll need to pair it up with a serverless back end that will handle API requests with your Mux endpoint. Otherwise, you’ll encounter CORS-related errors.
Delivery protocols that are supported include Apple HLS (with approximately 12 seconds latency).
Low latency protocols don’t seem to be supported by the platform at the time of writing this article unfortunately. Despite that, Mux is still a great and cost-effective platform for getting started with building your own livestream app.
If you’re looking for a similar platform to compare with, check out api.video, which also offers a great developer experience and comparable pricing.
Conclusion
There are at least 20 more livestream platforms I haven’t included in this article. That’s more than enough to give you decision fatigue, especially since you need to communicate with sales reps to figure out the actual costs for your use case.
However, looking at cost shouldn’t be your primary factor, as your goal is to provide the best livestreaming service to your audience at a budget that you can afford. For sports-related events or security monitoring, low latency should be your primary concern. For video-on-demand streaming or news coverage, the standard HLS protocol will serve your audience fine.
To summarize, picking a platform requires understanding your use case and doing the math. If unsure, start with a LaaS, then decide how to scale up from there as your livestream app grows.