What Is Transcoding and Why Is It Critical for Streaming? (Update)December 31, 2019
If you’re thinking about streaming media, you probably fall into one of two camps: Either you already know something about transcoding, or you’re wondering why you keep hearing about it. If you aren’t sure you need it, bear with me for a few paragraphs. I’ll explain what transcoding is (and isn’t), and why it might be critical for your streaming success — especially if you want to deliver adaptive streams to any device.
So, What Is Transcoding?
First, the word transcoding is commonly used as an umbrella term that covers a number of digital media tasks:
- Transcoding, at a high level, is taking already-compressed (or encoded) content; decompressing (decoding) it; and then somehow altering and recompressing it. As an example, you might change the audio and/or video format (codec) from one to another, such as converting from an MPEG2 source (commonly used in broadcast television) to H.264 video and AAC audio (the most popular codecs for streaming). Other basic tasks could include adding watermarks, logos, or other graphics to your video.
- Transrating refers specifically to changing bitrates, such as taking a 4K video input stream at 13 Mbps and converting it into one or more lower-bitrate streams (also known as renditions): HD at 6Mbps, or other renditions at 3 Mbps, 1.8 Mbps, 1 Mbps, 600 kbps, etc.
- Transsizing refers specifically to resizing the video frame; say, from a resolution of 3840×2160 (4K UHD) down to 1920×1080 (1080p) or 1280×720 (720p).
So, when you say “transcoding,” you might be referring to any combination of the above tasks — and typically are. Video conversion is computationally intensive, so transcoding usually requires more powerful hardware resources, including faster CPUs or graphics acceleration capabilities.
What Transcoding Is Not
Transcoding should not be confused with transmuxing, which can also be referred to as repackaging, packetizing or rewrapping. Transmuxing is when you take compressed audio and video and — without changing the actual audio or video content — (re)package it into different delivery formats.
For example, you might have H.264/AAC content, and by changing the container it’s packaged in, you can deliver it as HTTP Live Streaming (HLS), Smooth Streaming, HTTP Dynamic Streaming (HDS) or Dynamic Adaptive Streaming over HTTP (DASH). The computational overhead for transmuxing is much smaller than for transcoding.
When Is Transcoding Critical?
Simply put: Transcoding is critical when you want your content to reach more end users.
This needs to be delivered to online viewers. But if you attempt to stream it directly, you will have a few problems. First, viewers without sufficient bandwidth aren’t going to be able to view the stream. Their players will be buffering constantly as they wait for packets of that 1080p video to arrive. Secondly, the RTMP protocol is no longer widely supported for playback. Apple’s HLS is much more widely used. Without transcoding and transmuxing the video, you will exclude almost anyone with slower data speeds, tablets, mobile phones, and connected TV devices.
Using a transcoding software or service, you can simultaneously create a set of time-aligned video streams, each with a different bitrate and frame size, while converting the codecs and protocols to reach additional viewers. This set of internet-friendly streams can then be packaged into several adaptive streaming formats (e.g., HLS), allowing playback on almost any screen on the planet.
Another common example is broadcasting live streams using an IP camera, as would be the case with surveillance cameras and traffic cams. Again, to reach the largest number of viewers with the best possible quality allowed by their bandwidth and devices, you’d want to support adaptive streaming. You’d deliver one HD H.264/AAC stream to your transcoder (typically located on a server image in the cloud), which in turn would create multiple H.264/AAC renditions at different bitrates and resolutions. Then you’d have your media server (which might be the same server as your transcoder) package those renditions into one or more adaptive streaming formats before delivering them to end users.
How Can Wowza Help With Transcoding?
Wowza provides robust live transcoding software capabilities to power any workflow. With Wowza Streaming EngineTM media server software, you can take full control of your workflow by deploying downloadable software onto an on-premises or cloud server. If you don’t want to manage and configure your own server, you can use the Wowza Streaming Cloud service — a fully managed live streaming solution that can transcode and deliver your content globally to audiences of any size.