What is video encoding? | Encoding vs Transcoding
Video basics series
We can hardly imagine our modern, technologically-advanced world without the idea of broadcasting - sports games, concerts, conferences, news.. So many things we consume digitally daily comes in the form of a livestream or already streamed video. All of this is possible due to the process of encoding and decoding of videos - so integral to broadcasting.
But how does this process exactly work and comes to life? Here we find different video compression techniques - while maintaining signal integrity, video compression techniques decrease the space the content takes to optimize bandwidth. Every media live streaming process involves a crucial choice of balancing the bandwidth's cost with the source material's latency and quality.
Let’s dive deeper into the details of different techniques aimed at achieving that balance. We've discussed how does the video transcoding process work ‒ now it’s time to learn more about encoding and do a proper comparison between these two techniques. "Wait, why I need to know more about encoding then", you might ask? Well, encoding is an integral part of the broadcasting process and understanding the method behind it will give you knowledge how you can improve and optimize your video producing efforts - like creating e-learning or e-commerce content.
What is encoding, decoding and transcoding
Instead of transforming one file and slicing it into several segments the raw file is compressed to produce a whole separate, new file format during the encoding process.
It's important to understand the differences between live- and file-based video encoding. Large, unprocessed video files get compressed during live video encoding in order to reduce their network bandwidth usage. Compression considerably lowers the bandwidth needed, which enables real-time video streaming data to be easily transferred across bandwidth-restricted networks.
A software encoder is used to compress the amount of video material while dealing with video files (and not live streams, in most cases) in order to save storage space and make it easier to move between different stages of video production.
Video encoders utilize H.264 and H.265 codecs — video compression methods to decrease raw content data massively — up to a 1000x in order to achieve significant levels of compression.
Video decoding, on the other hand, is the process of decoding an encoded video live. How it works: a video decoder transfers an encoded video stream to a coaxial cable for connection to broadcast. In addition to decoding metadata for information on video formats, time codes, and closed captioning, it can decode embedded audio.
Finally comes transcoding - the process of changing an already encoded stream’s format or size. It works the same way for both real-time streaming and file-based sources. The majority of transcoders employ a two-step decoding and re-encoding procedure. Depending on the viewing device it includes a few steps:
- Step 1: decoding the raw data into a transitional format;
- Step 2: decoded video is resized to new or multiple new formats. When given an uncompressed video source certain transcoders may also function as encoders too, encoding the source data into various formats.
The difference between video encoding and transcoding
The way these techniques function is where the basic difference lies.
Encoding modifies the file format while transcoding simultaneously decodes, generates, and encodes numerous new files.
Transcoding is generally better for both live streaming and producing videos. Encoding, on the other hand, works only for live streaming.
Choosing video encoding for high quality live streaming
Video encoding can be utilized for multiple reasons: the first being the fact that raw video files can take too long to be sent ‒ as a result, the end viewer sees a never-ending buffering circle.
The second reason why video encoding is perfect for live streaming is its versatility ‒ an encoded stream can be viewed on any device and platform: from Android and iOS smartphones to PCs and other devices, including web players. This is a great solution for public media broadcasts and video content.
Some live broadcasts still have a latency of up to thirty seconds, meaning that the video the end viewer sees is behind the real-time for the latency period. In most cases this happens due to the fact that each video section must fully load before playing, resulting in a seconds-long delay.
Chunked encoding is an established method for reducing this latency. It functions by chopping the video parts into smaller bits — hence the name. Following their encoding, these smaller bits can be played by the receiving devices before the complete segment loads. As a result latency becomes almost unnoticeable.
You should choose the most suitable option according to your needs and preferences before you begin encoding. This includes making a decision about how much of the file to compress and how much file data to discard throughout the process. You can decide to encode a video of greater quality so that you can send it to users mostly with fast internet or you might decide to encode a longer video (or a movie) of lower quality to save money and, eventually, time. After all - the proof is in the pudding.
Do I need to think about encoding every time before I do a livestream?
In essence - no, you don’t. It can take some resources and effort to figure out and establish all the settings, plus why do it every time and lose time? A few options include automating the process or selecting a small number of bitrates and creating a "bitrate ladder" for the video. A bitrate ladder is something everyone is familiar with: when there is a low bandwidth, the player will automatically switch to lower video quality. This would actually be the simplest option for you, but it would severely degrade video performance.
Luckily, most modern video encoder software will do this task automatically for you, thus providing you with a finished encoded file. But when you have many videos and livestreams transcoding is your trusty pal to not only modify, but also decode and encode video files. For example you can always trust Kinescope's flexible API when uploading and transcoding videos.
In the process of looking for a reliable solution it is good to consider what content delivery network (CDN) your video hosting/live streaming software provides. When you upload and especially stream many files you need hosting that can deliver high quality video with next to zero latency.
At Kinescope we provide you with a content delivery network that ensures your videos won’t lose in quality. We have our own private infrastructure and use the latest advanced streaming protocols to significantly reduce latency while offering you HD and 4K video quality. You can sign up below completely for free or get in touch with us if you want to see a free demo.