What Is Video Decoding - Overview (With Pictures)
Video decoding is the process of using hardware or software decoder to uncompress the encoded or compressed video audio streams for playback on TV, computer monitor, smartphones, tablets, or other streaming devices. A video deocer can be a hardware microchip or software, which converts encoded video stream signals to digital video files covering video, audio, subtitles, caption, and more. What about video decoding process? Is there any difference between hardware decoders/decoding and software decoders/decoder? Scroll down to figure out what the video decoding is.
Encode & Decode Codecs for Trouble-free Video Audio Playback
HD Video Converter Deluxe is a hardware acceleration video decoder with tons of codec built-in. It can decode videos encoded in whatever codecs, such as HEVC, H.264, MPEG-4, VP9, AV1, XviD, DivX, AAC, MP3 etc. with preset profiles tailored for TV, smartphones, tablets, streaming sites, and more. The support for hardware acceleration make the video decoding process smooth and fast without high CPU usage. It also transcodes videos from/to nearly any format.
Table of Contents
Part 1. What Is Video Decoding?
Video encoding is the process of compressing large and raw video, audio files, and other data. Video decoding, by definition, is the reverse of video encoding. Video decoding is the process of decoding and uncompressing encoded video audio files. Decoding commonly happens when you open a video file, live stream, or watch a video on YouTube, Netflix, or similar sites.
A video decoder is a hardware or software that converts encoded video stream signals into digital video files including audio, video, captions, subtitles for being playback on TV, smartphones, tablets, computer monitor, or other streaming devices. A video decoder has the inverse features of a video encoder, converting uncompressed or raw digital video to analog video. A video decoder can be a hardware device such as part of video capture devices, set-top boxes, software, or a plug-in for a computer. The video decoder can receive encoded digital video signals, display EPG data, closed caption, and subtitles.
To playback, some videos and audio files encoded with some video and audio formats, video decoding software, or plug-ins, is required, for example, ffdshow for MPEG4 decoding, plug-in ac3fliter for ac3 decoding. Images and sound can be played on a computer with various types of decoding plug-ins installed. Video encoder hardware is also called a receiver, driver, or remote control device.
Part 2. Video Decoding Process
Video decoding includes quite a few decoding processes. An analog-to-digital converter makes the analog signal digitized and outputs a raw data stream. It separates the luminance and chrominance. The data stream may be changed to adjust video brightness, contrast, saturation, and hue then transformed by a color space converter. There are several color space standards, such as RGB and YUV. Sometimes, YUV needs to be converted to RGB. The video stream can display on the screen after decoding.
FFmpeg video decoding
It's quite easy to use the FFmpeg video decoder. To decode input stream from input.mp3, try the following command.
ffmpeg -y -vsync 0 -c:v h264_cuvid -i input.mp4 output.yuv
It generates the output file in NV12 format (output. yuv).
To decode multiple input video streams concurrently with FFmpeg, use the following command.
ffmpeg -y -vsync
0 -hwaccel cuda -hwaccel_output_format cuda -i input1.264 -hwaccel cuda -hwaccel_output_format cuda -i
input2.264 -hwaccel cuda -hwaccel_output_format cuda -i input3.264 -filter_complex
-map "[o0]" -f rawvideo output1.yuv -map "[o1]" -f rawvideo output2.yuv -map "[o2]"
-f rawvideo output3.yuv
Part 3. Video Decoder's Functional blocks
- Analog processors
- Y/C (luminance/chrominance) separation
- Chrominance processor
- Luminance processor
- Clock/timing processor
- A/D converters for Y/C
- Output formatter
- Host communication interface
This is quoted from Wikipedia, Video decoder
Part 4. Types of Video Decoding and Video Decoders
Software decoding uses the CPU to decode video. This decoding way uses more CPU, which may lead to stuttering, more heat, low battery life, etc. When decoding CPU-intensive HD or 4K UHD HEVC videos on low-configuration computers, software or CPU decoding may fail to decode these videos. Hardware decoding uses GPU instead of CPU to decode video bitstream, so hardware decoding or GPU decoding takes good advantage of the GPU efficiency. The video decoding process becomes faster and more stable. However, software decoding is flexible and supports a wider range of media formats.
A video decoder can be hardware or software. Software decoder decodes encoded video and audio data via software way, for example, ffdshow for MPEG4 decoding to playback MPEG encoded video stream. Software video decoders can be found on media players, video transcoders, etc. such as VLC Media Player, FFmpeg, Potplayer, QuickTime Player, etc. They support a wide range of video codecs for video decoding. Software decoders use more CPU power to decode a video bitstream than a hardware decoder.
Related: What is codec, a codec is a hardware device or computer program which encodes or decodes a data stream or signal.
A hardware decoder is a hardware device such as part of video capture devices, set-top boxes, etc. They have the Microchips to decode the encoded video bitstream. Common hardware video decoder devices are professional IRDs, satellite receivers, setup boxes. There's DVBS/S2 input signal that is demodulated and decoded in Professional IRDs. The decoded output can be in IP, ASI, SDI, and others. Satellite Receivers accepts the DVBS/S2 signal and output Audio Video or HDMI. It is used to receive the satellite channels to decode for displaying on a TV set. TV setup boxes are used in cable TV to decode services received from the headend. It also outputs Audio Video and HDMI.