“What is transcoding?” you may ask, particularly if you’re new to the world of digital and online video. Transcoding is a key task in an adaptive streaming workflow for video. It converts an encoded digital file or set of files into an altered set of digital files that better meet the needs of your hardware or your audience. It is particularly important for ensuring your content can be viewed on the widest possible range of devices.
In this article, we’ll lay out the fundamentals of transcoding, and what it means for content creators and broadcasters in the video streaming field.
- What is transcoding?
- How does transcoding work?
- Why transcoding is essential for successful streaming
- Examples of transcoding
What is transcoding?
Firstly, transcoding needs to be differentiated from two other easily confused digital video processes: compression and transmuxing/rewrapping.
Transcoding is taking encoded (or “compressed”) video or other digital content, decompressing it, and altering and re-compressing it. For example, a high-resolution video shot on a digital camera (HD, 4K, etc.) can be transcoded into a lower-resolution format for editing; in other words, smaller files that are faster and easier to manipulate in editing software. Or video for a live broadcast can be transcoded from its original format into differently formatted streams to be delivered out to the largest number of viewers on the widest range of devices. Transcoding is a digital-to-digital conversion of one type of encoded data (video or audio) to another, often because the target device that will be used to display the content requires a smaller file size. Think about watching a feature film on a smartphone and you’ll get the idea.
Related, but different, procedures
Encoding/compression is an important related concept. Compression is essential in preparing video for streaming; in earlier eras of video when audio and footage might come in on analog tape formats or even film, media would need to be digitized and compressed to be compatible with computer applications, like web pages or video editing workstations. This isn’t much of a concern now as today’s all-digital cameras can be set to internally compress footage into more manageable codecs like H.264. (Note: the word “footage” used to literally refer to a number of feet of film or tape!)
However, digital cameras still may capture uncompressed RAW files which are very large since they are data directly from the camera sensors with no loss of quality or alteration. This is often desirable to provide full detail that can be edited to a producer or content creator’s preference, but, due to the large file size, they will have to be compressed to a more manageable size for playback. Relating to transcoding: video pulled in by a digital camera may be immediately compressed by the camera or via a linked encoder, however as mentioned above, it still won’t be suitable for delivery to a wide online audience without transcoding!
Transmuxing/rewrapping is when content that is compressed is repackaged into a different delivery format—but without making any changes (including any further compression) to that packaged content. This is less of an intensive process than transcoding, and also a fairly common procedure in content delivery. This is only changing the way video and audio data packets are organized. For instance, you may have an H.264 video clip captured from a camera on your drive and by transmuxing, or rewrapping its container, it can be made suitable for delivery over the web via HLS (which breaks the video into small MPEG-2-TS files, referred to as chunks, of varied bitrate—but notably won’t make changes to the base clip).
Neither of these digital media tasks can properly be called transcoding. However, because they are related, they’re sometimes confused.
“Transcoding” as an umbrella term
Essentially, transcoding is a two-step process in which (encoded) data is decoded to an intermediate format and then encoded into a target format.
Three tasks might fall under the larger umbrella when someone refers to transcoding video content:
- ”Standard” transcoding
This is meant in the most general sense of transcoding a video or stream, making changes to the video/audio itself. For instance, if you were streaming a digital conference to the web, you might be working with IP cameras in your conference space. The IP cameras most likely function on the RTSP protocol and will not create a video stream suitable for playback over the web, so transcoding software or service will be necessary to convert your content into an adaptive bitrate stream. The “transcoding” process might also include the two types of changes below.
Transrating is a more specific type of transcoding that is intended specifically to change bitrate. So it’s the same video content, video format, and codec and the alteration is the bitrate: you might want to bring an 8Mbps bitrate down to 3Mbps, making it possible for the media to fit into less storage space or be broadcast over a lower bandwidth connection.
This is another specific type of transcoding that is used to resize a video frame (this may also be called “image scaling”), for example, bringing down 4K resolution to 1080p.
How does transcoding work?
Transcoding takes your video media (or possibly audio media), decodes it into an intermediate uncompressed format, and then re-encodes the content into its’ target format. As we also laid out in the last section, the process is likely to additionally include transrating and transsizing/image scaling.
A transcoding solution could take a video file that’s already been compressed and encoded (we’ll call it “ExampleVideo.mov”) and reformat it into an MP4 file using the H.264 codec that would be more suitable for online streaming (let’s call that transcoded version of the video “ExampleVideo.mp4”).
Depending on the video transcoder you decide to use, it could be anything from open-source software with a command-line interface to something with much more robust features and user interface. Transcoding can potentially happen via software on any PC or laptop, a dedicated media server, or a SaaS platform. One thing to keep in mind is that transcoding is, as they say, “computationally intensive.” In short, it benefits from substantial hardware and system resources, like generous amounts of system RAM, graphics acceleration, and higher-end CPUs.
In other words, don’t assume you’ll be able to easily transcode 4K video to a quality HLS or DASH stream with a Chromebook: typical ingest and transcoding of HD video for editing in traditional video production (corporate video, television, etc.), for example, can be known to tie up beefy desktop machines—sometimes for hours at a time.
Why transcoding is essential for successful streaming
As you now know, transcoding is a key part of an adaptive streaming workflow and a step in preparing your content for a delivery protocol (such as current industry-standard HLS) that can reach the widest possible number of display devices.
Media is constantly changing and evolving, with new devices, applications, and input sources being introduced regularly. While new cameras, new feeds, and innovations in webcasting improve the quality and variety of content being produced, they also inevitably create new challenges in content delivery. And if you want your viewers to always get the best quality viewing experience, adaptive streaming (at least at the time of this writing!) is the way to go. Transcoding is the essential intermediate step in moving your best content from the capture device to a high-quality streaming output such as HLS or DASH. These adaptive streaming formats are the best for reducing buffering and playback issues, delivering the sharpest possible picture continuously and with no interruptions.
Examples of transcoding
We pointed out above that transcoding is used heavily in traditional film and video production. Typical needs might be to “down-res” files captured with a camera to lower resolution, lower size “proxy” files which have lossy video quality but can be quickly edited; or to transcode high quality finished video from an editing format like Apple ProRes to a delivery format like H.264. This is usually a process of “local transcoding” relying on video editing and compression software (DaVinci Resolve, Avid Media Composer, Adobe Media Encoder, etc.) which will transcode files on the user’s computer. The main downsides are possible limitations due to hardware, as we mentioned earlier, and the need to manage multiple files yourself.
Let’s take a look at how transcoding might work in a streaming workflow. In this case, you would have a video asset (clip, livestream, etc.) from a capture device (video camera, IP camera, drone, or another device). The incoming video and audio data would likely be encoded in a file or streaming format by the camera and then sent off to an encoder … you might do this on a desktop, with a dedicated hardware encoder, or by sending it to a cloud server on the web to transcode. The encoder will then do the transcode, making sure that whatever the original data format is (as mentioned some cameras shoot RAW, or .raw, files, other video cameras might be outputting files with the extension .mov or .mpeg), it will be recompressed into a format suitable for internet streaming (most likely H.264). The encoder would also create multiple stream renditions that transrate/transsize to different bitrates and resolutions. The data is then sent to a media server (possibly, but not necessarily, the same server where the transcoder is located) to be packaged into an adaptive streaming format (like HLS) and served via HTTP over the “last mile” to viewers. As described, this will create multiple options for content delivery, from HD output on a smart TV or desktop to a suitable size for a tablet or smartphone screen.
Hopefully, this has shed some light on the questions of what is transcoding, and what makes transcoding essential for video streaming, especially for those just getting started in the streaming field! Keep an eye on the Kaltura blog for more building blocks on your way to understanding video streaming and workflows.
Planning a live stream? Kaltura is here to help.