A live streaming encoder is a solution used to convert RAW video data and compress it for distribution across the internet. Sometimes encoders are built into the camera — as with IP surveillance systems. But more often, broadcasters rely on software and hardware live streaming encoders to get the job done.
Milliseconds after a stream is captured, an encoder uses video compression algorithms called codecs to condense the data. Live encoders employ lossy compression, tossing out unnecessary data to ensure the greatest reduction in file size possible without degrading perceptual video quality.
The encoder then packages the stream for delivery across the internet. This involves putting the components of the stream into a commonly accepted contribution format such as Real-Time Messaging Protocol (RTMP) or Secure Reliable Transport (SRT). RTMP and SRT describe streaming protocols that transport content between the encoder and the online video host.
In most cases, these streams are repackaged at the next step of the workflow for delivery to the end user. Protocols like HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH) come into play here. These protocols make the content more scalable and adaptable for delivery to viewers with varying internet speeds.
Once the stream reaches viewers, a video decoder built into the player software or set-top box will decompress the data for playback. At this point, the video content has often been encoded, transcoded, delivered globally, and decompressed. Thanks to the efficiency afforded by the encoding solution used, viewers are none the wiser. All they know is that the video content is streaming live and in high quality.