UPDATE: What Is Transcoding and Why Is It Critical for Streaming?
March 7, 2018 by
Updated March 7, 2018
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.
Trans-sizing refers specifically to resizing the video frame; say, from a resolution of 3840 pixels × 2160 (4K UHD) down to 1920x1080 (1080p) or 1280x720 (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.
For example, let’s say you want to do a live webinar from your office. You might be capturing your webcam audio and video with a browser-based (Adobe Flash) desktop application, which generates 1080p H.264 video and Speex audio.
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, in order to render the Speex audio, most people will need to watch using Flash Player on a computer. Collectively, you’ve just excluded almost anyone with slower data speeds, tablets, mobile phones and connected TV devices.
Using a transcoder, you can simultaneously create a set of time-aligned video streams, each with a different bitrate and frame size, while converting the Speex audio to AAC audio. This set of Internet-friendly streams could then be packaged into several adaptive streaming formats (e.g., HLS), allowing you to now reach almost any screen on the planet.
A more common example is when you're doing a live broadcast using a camera and encoder, or with an IP camera. 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-stremaing solution that can transcode and deliver your content globally to audiences of any size.
Interested in learning more about transcoding? Check out some of our popular resources: