What is Transcoding? Why is it Important?
There are a plethora of technical terms thrown around in the video industry. Two of the most common terms are ‘transcoding’ and ‘encoding’.
Whilst you can probably get away not knowing most of the technical details behind these terms, it’s good to have a basic understanding of where they fit in the streaming process.
What is Encoding?
It’s worth understanding what encoding is as it’s essentially the very first step that must occur to a raw video source. It’s intrinsically linked to transcoding, and more often than not it’s common to see people get confused about its meaning.
Encoding is when an uncompressed and raw video source (like SDI, HDMI etc) is compressed using codecs such as H.264 or MPEG-2. It’s the step that must occur before transcoding takes place.
What this means is large uncompressed video files are reduced in file size in order to enable playback on standard viewing devices, such as computers and mobile phones.
What is Transcoding?
Transcoding is when you take a video source that has already been encoded, decode it into an intermediate uncompressed format, then re-encode it into the target format.
This process usually involves transrating and image scaling (trans-sizing). Transrating relates specifically to changing the bitrate of the video e.g. 8Mbps to 3Mbps. Image scaling is the process of changing the resolution of the video e.g. 4K to 720p.
The end result is usually multiple video versions, with different bitrates, resolutions and/or formats (like HLS and DASH).
Why is Transcoding Important?
The importance of transcoding comes down to your requirements. In general, the purpose of transcoding is to give reach to the widest amount of viewers as possible.
Some of the key reasons to use transcoding are listed below.
Adaptive Bitrate Streaming (ABR)
When using a format like HLS, it allows the video player to dynamically switch between videos sources depending on the viewers internet connection and device. E.g. switching between, 1080p and 720p versions of the video stream.
Reduced Bandwidth Requirements
Transcoding allows you to generate various video sources required for ABR from a single video input. This is great for people live streaming from environments with limited upload speeds.
Custom Transcodes for Different Destinations
When live streaming to multiple platforms, there are some which have different video input requirements. For example Periscope recommends an input resolution of 540p.
Instead of reducing the resolution for all your streams to 540p, you can transcode the original video source, down to a seperate lower resolution stream used just for Periscope.
Flexibility to Support Multiple Formats
Transcoding allows you to re-encode your stream into multiple formats like HLS or MPEG-DASH. You might want to do this if you’re streaming to a range of devices which only support certain formats.
Clean Up Encodes of Streams
In some cases you may have no control over the original encoding of the video you’re live streaming.
We often see this with hardware devices which encode RTMP directly on the device, e.g. a camera. As live streaming is usually not the expertise of these hardware manufacturers they generally don’t configure their RTMP encoder correctly, which results in a messy RTMP output.
With transcoding you can fix these incorrect configurations and vastly improve the playback experience.
What is Transmuxing?
Transmuxing allows you to change the container (e.g. mp4) of the video to something else, like HLS. The advantage of this over transcoding is that it requires much less computer power to perform, as it’s not modifying the encode at all.
The disadvantage of this approach is that it doesn’t give you the widest compatibility support that transcoding does e.g. multiple video resolutions.
How To Transcode?
The easiest way to transcode a live stream is to use a service, like us, StreamShark! It’s all built into our end-to-end live streaming platform, along with a huge range of other essential features. You can sign up for a free trial here.