Comparing real-time streaming solutions? Researching the differences between streaming hardware and software? Want to understand the basics of streaming encoding setups? Read on! We'll cover all of this and more in this beginner's guide to hardware encoders.
What is a hardware encoder?
When streaming video over a network, uncompressed video and audio files are too large to send in real time. The solution is to compress these files first.
Video encoder hardware is a specialised device that captures, compresses (encodes) and sends audio and video data to its destination. Specifically, a real-time streaming hardware encoder is a device that can deliver video streams over a local area network (LAN), wide area network (WAN), or the Internet.
Online streaming destinations include streaming platforms such as YouTube Live, LinkedIn Live, and Facebook Live, and streaming services such as Vimeo, Akamai, and Wowza.
Examples of real-time streaming encoders include ORIVISION's EH901, ES901, and EH404. in addition, many hardware encoders have other features such as real-time video switching and local video recording.
Orivision ZY-ES901 H.265 1080P@60 SDI Video Encoder With LCD
Orivision ZY-EH404 H.264 4 Channels 4K@30 H.264 HDMI Video Encoder
Hardware encoders vs. live streaming software
Live streaming software is an application that runs on a generic off-the-shelf computer such as a laptop or desktop. A few examples of streaming software include vMix, Wirecast, and OBS. Similar to hardware encoders, real-time streaming software compresses video and transmits it to its destination.
The main difference is that hardware encoders devote all their processing power to capturing, encoding, and streaming. In contrast, computer-run streaming software must share resources with other processes on the machine. Hardware encoders were designed from the ground up for encoding and streaming, making them a more reliable streaming solution than comparable software. This is why professional broadcasters rely on hardware encoders in mission-critical situations.
Encoding Setup: Key Terms to Know
Codecs are compression methods that make media files smaller. Different codecs provide different types of compression to suit specific use cases. Not all video codecs are suitable for real-time streaming.
Video codecs that are widely used for streaming media are Motion-JPEG (MJPEG), H.264/AVC, and H.265/HEVC. H.264/AVC is arguably the most commonly used codec today. H.265/HEVC is the next generation of codecs after H.264/AVC. It promises the same quality as H.264 at about half the bitrate, thus reducing upload bandwidth requirements.
Please note that audio is encoded separately from video. The most commonly used audio codec is called AAC.
Encoding resolution is the size of a video frame, expressed in pixels as width x height. Two common resolutions are 1280 x 720 (i. e. 720p) and 1920 x 1080 (i. e. 1080p). Higher streaming resolutions, such as 4K, are less popular because they require robust processing power, upload bandwidth, and support for 4K resolutions on the viewing side.
Frame rate is the number of images encoded per second in frames per second (fps). Standard frame rates include 24, 25, 30, and 60 fps, with 30 fps being the most widely used setting for online streaming.
Bitrate describes the amount of data transmitted per unit of time. Bitrate is usually measured in kilobits per second (Kbps) and less often in megabits per second (Mbps). The higher the bitrate, the higher the video quality, but also the larger the file size.
Finding the correct bitrate setting requires balance. A bitrate setting that is too low can result in a live stream that looks jittery and of poor quality. On the other hand, a bitrate setting that is too high may cause the viewer's video to buffer because of the large file size.
Streaming Media Protocols: What They Are and How They Work
A streaming protocol is a method of delivering multimedia to a streaming destination. It is a set of rules that determines how the encoded video is split into smaller pieces and delivered to the destination on time and in the correct order. Different hardware encoders support specific streaming protocols. In addition, some streaming protocols only work with specific codecs, while others do not support codecs.
One of the most commonly used streaming protocols is the Real-Time Messaging Protocol (RTMP) and its secure variant (RTMPS). RTMP(S) is a powerful and universally supported protocol. However, it only works with the H.264 codec and has a certain delay (3-30 seconds).
HTTP Live Streaming (HLS) is another commonly used protocol that is supported by almost all browsers, operating systems and even Smart TVs. HLS only works with H.264 and H.265 codecs.
Secure and Reliable Transport (SRT) is an open source, codec-agnostic streaming protocol. It enables robust, low-latency streaming even over sub-optimal networks. Its ability to deliver high-quality content over the Internet in near real-time provides broadcasters with a viable alternative to expensive satellite technology. SRT is not as widely supported as RTMP, for example, but it is gaining popularity and support in the area of hardware encoding.
Advice on choosing a hardware encoder
The price of a hardware encoder model is based on the number and type of input connectors, supported streaming and encoding technologies, and most importantly, processing power. Each additional input source and encoding channel puts an extra burden on the encoder's CPU.
We recommend selecting a hardware encoder based on your encoding and streaming requirements.