Video encoding is a pretty big topic. In this post, we’re going to give a high-level overview of encoding, encoders, and how a streaming encoder fits into a live streaming workflow. This will hopefully be accessible to a general audience without getting excessively technical. Though we also hope it also has some added value for professional techs and broadcasters in our online audience.
But we’ll stick to the basics for the benefit of those who are just getting started in the streaming world (and because there’s so much to know about encoding and streaming). Check out the sections below as we discuss the fundamentals of encoding and live streaming!
- What is an encoder for streaming, and why do I need one?
- Using an encoder to stream
- What is the best encoder for streaming?
- Kaltura streaming solutions
What is an Encoder for Streaming, and Why Do I Need One?
First things first: a streaming encoder, also referred to as a video encoder, is a necessary step in your workflow.
It’s a device that compresses and converts video files from one format to another. For instance the RAW files from a capture device like a digital camera, to the H.264-formatted files that are the standard streaming protocol. Depending on what kind of use the encoded video files will be put to—from live streaming an academic talk to editing and releasing a feature film—the end-to-end workflow, its duration, and complexity will vary widely. Likewise, there are different types of encoders and a range of additional equipment that may be required to make use of your encoder of choice. The two main varieties of streaming encoders are software encoders and hardware encoders. They both have their strengths and weaknesses.
Using an Encoder to Stream
As a simplified workflow example, let’s say you want to film a presentation at your workplace and post video clips on the company website as on-demand video.
The files captured by a digital camera recording the presentation could be taken from the camera’s memory (probably stored on a card or something similar) into a computer and be encoded. The encoded files, most likely formatted as H.264 (as we noted above), are then saved onto a media server or content management system, and a player embedded on the company website allows users on the page to stream the video file data—i.e., playing back the video for them to watch.
This is a very “basic,” no-frills example of how pre-recorded video gets streamed over the web—no doubt the more video-tech-savvy among you are already imagining alternative scenarios where the camera can send a data stream directly to an encoder, users of social media apps can stream directly from a phone camera to the app’s online platform, etc. But hopefully, this serves as a fundamental illustration we’ll build on as we go.
Live streaming is a little trickier than encoding prerecorded files for video-on-demand (VOD). As the term suggests, a “live streaming encoder” is intended for playing live events, more or less as they are happening, on your platform or website. Since this is time-sensitive it requires an encoder that can process the video in real-time (or at least near real- time) and broadcast it over the internet with low latency. Bucking the “simple streaming workflow” example given above, you’ll also need a data connection far more immediate than a camera card; most likely there’ll be a video cable (such as an HDMI or SDI connection) sending the data directly from your capture device to the encoder set up.
Hardware vs Software Encoding
As mentioned, there are two types of encoders:
“Software encoder” refers to an encoder that’s a program/app running on your laptop or desktop computer or another device. Software encoders tend to be low-cost solutions that are easy to install and customize; however, they’re not as fast as a hardware encoder because software is dependent on a computer system’s resources—both how much it has to begin with (processor speed, RAM, etc.) and how much it’s using to run other programs at the same time as it is running the software encoder. Fun fact: your computer’s operating system is also a type of software, and a consumer OS like Windows can be running dozens of programs at once just so the computer operates normally.
Hardware encoders are “dedicated appliances,” stand-alone devices that can capture, compress, and convert data for streaming or recording—they can be anything from portable video processors in a box, to rack-mounted input/output hubs that are designed for use at a “video facility” which feature various input jacks and data interface links. As you might imagine, as specialized pieces of professional broadcasting equipment, hardware encoders tend to be pricier than software encoders. Also, because they’re a manufactured appliance that takes time to physically produce, they might depend on older video codecs and be less flexible for customization and updates than software encoders. The trade-off is that they’re very fast, and provide a low latency video streaming connection, so they’re often the tool of choice for real-time streaming.
Encoding vs Transcoding
Encoding and transcoding are sometimes confused. This is understandable as they’re similar types of processes, but they aren’t the same thing! Encoding takes an uncompressed video source and compresses it. Transcoding is taking an already compressed video source and turning it into a different format, and often into a smaller size.
To make the situation more complex, both processes may need to happen during the same workflow. For instance, in a video editing workflow, captured video might be initially both encoded (going from the camera’s raw video source to a compressed digital file) and then additionally transcoded to a file size that’s more manageable for a video editing computer and software. Later, as part of a finishing process, the final video files may once again be converted to proper formats and specifications for streaming playback.
Further, the tools that do encoding and transcoding frequently have some overlapping capabilities. An encoder might be able to transcode, and some transcoders can also encode. (For instance, Apple’s Compressor app for Final Cut Pro editing software can both encode and transcode .) It’s occasionally confusing, but let’s all do our best not to misuse terms!
There’s additionally a process called cloud transcoding where a video platform creates several different versions of the same video in the cloud, allowing the platform user to provide the video in different qualities designed to take better advantage of users’ hardware. Knowledgeable folks (or frequent blog visitors) might recognize this as a necessary condition for adaptive bitrate streaming.
What is the Best Encoder for Streaming?
The best streaming encoder for you depends on the nature of your streaming job. No one streaming encoder product will be an ideal tool for every single broadcasting situation, so consider the needs of your content, your overall broadcasting goals, and the features that best support them.
Free software encoders are more than adequate for broadcasting a chat stream/gaming stream via Twitch.tv for a hobby or for fun and relatable organizational engagement/outreach—but broadcasting live sporting events or timely, “pro” content like a daily news brief might benefit from investment in a hardware encoder.
Here’s a recommended checklist of questions to ask when deciding what streaming encoder will work best for you:
- What’s my available budget? (This has the broadest implication for your entire workflow.)
- Will the encoder be compatible with my streaming platform?
Streaming platform sub-questions:
What is my streaming platform? (Do I have a streaming platform?) Does my streaming platform provide any encoding services?
What kind of computer and OS am I using to stream to my platform?
What are the top requirements of my live streaming platform I need to consider?
- Who is my target audience, and how large of an audience is it?
- What features can the encoder provide? And especially, which features are the best for my content?
- What kind of professional-level production and post-production elements do I want to incorporate? (For example: Will there be multiple camera feeds? What type of camera(s)? Will there be extensive studio effects/graphics and/or video editing?)
And now, here are some of the better-known encoder products, presented with a bit of evaluation:
OBS – Open Broadcaster Studio
Leading the pack of freeware software encoders is OBS Studio (Open Broadcaster Studio), a mainstay for indie streamers and a great choice for those just getting started. It’s available for Mac OS, Windows, and Linux and has advanced features, especially considering it’s an open-source application, including real-time audio/video capturing and mixing, customizable and expandable plugins that add editing and “control room” functionality, a very user-friendly modular UI, and support for a range of video, audio, and image source.
Free and beginner-friendly.
Frequent updates and supportive user community.
Works with consumer-grade gear and more limited resources, such as lower-speed internet.
Features can be limited, including a lack of support for multi-bitrate streaming.
If you’re going in the opposite direction and want to invest in your streaming capabilities, Telestream’s Wirecast solutions offer video encoder software, compatible with a variety of platforms, that’s well known and well regarded in the industry. While we’ve exited “free tier”, Wirecast is also still affordably priced compared to many professional-grade hardware encoders. Wirecast works with most professional video streaming services and is compatible with a wide range of cameras, storage systems, and device hardware. Additionally, for those wanting to up their game, there are Wirecast Pro and Wirecast Studio versions, as well as hardware options also sold by the manufacturer.
User-friendly system that’s compatible across many streaming platforms and all major OSes, as well as most cameras and gear.
Strong set of professional features.
Strong support for various types of live streaming from live events to sports and television broadcasting.
Higher cost, with some features further paywalled behind tiered service.
More taxing on system resources than other software encoders.
In a different category than encoders like OBS and Wirecast, TriCaster is premium hardware at premium prices, built for advanced live streaming. It’s also not just an encoder; offerings in the TriCaster line trend towards entire broadcasting solutions, equipped with various tools for production support. TriCaster hardware encoders are designed to connect to capturing devices (i.e., cameras) and encode content in real-time, so they’re particularly good for live streaming.
While the TriCaster line may be cost-prohibitive for smallish, independent broadcasts of individuals new to live streaming content, TriCast is included here as a yardstick for the “high end” of professional streaming encoders. And if you’re just learning the ropes of live streaming but already working with a large organization, this is a brand to be aware of.
Flagship-level hardware encoding tools with professional-grade features to support broadcasting, such as motion graphics, mixing and editing, and video archiving.
Very powerful for live streaming.
Expensive, and requires further expenditure on accessories.
Like other “industry standard” tools, there can be a learning curve.
Blackmagic Web Presenter
Blackmagic Web Presenter by contrast is a powerful hardware encoder without the stratospheric price tag of many hardware encoders. For more minimalist broadcasters, Blackmagic provides a cheaper alternative in this portable, basic encoding box. If you’re somewhat new to live streaming and your content doesn’t require a complex setup, this is a great starting point.
Claims compatibility with all of the most popular streaming platforms.
Portable and capable of remote streaming.
Inexpensive as hardware encoders go.
Somewhat entry-level features—great at its price point, but you’re getting what you pay for.
Kaltura Streaming Solutions
Now that we’ve given some metrics by which to evaluate both your streaming encoder needs and a few of the better-known options for software and hardware encoders, of course, we also want to note that we feel strongly about Kaltura’s Video Content Management System, one of the finest solutions for encoding, transcoding, hosting, managing and publishing media content available. Our content management system is compatible with a variety of hardware and software encoders and was built with flexibility in mind, creating the platform for our “out-of-the-box” video products. We can bulk ingest content, take advantage of cloud transcoding to prep your content, manage media, help analyze your video, and flawlessly broadcast and distribute your streaming video across the web.
We hope this post has been both instructive for those new to the world of live streaming, as well as sparked interest to both check out Kaltura’s streaming solutions and continue learning about video technology and how it can benefit you during this time of digital transformation. If you’d like to know more, watch this blog space for additional posts on encoding and live streaming fundamentals!