

All H.264 encoders should allow you to set these parameters and you see Encoder Profile and Encoder Level on the very bottom of Figure 1. What’s important to know is that some H.264 encoding parameters, like Profile, Level, and Entropy Coding technique, are the same for all H.264. You see two H.264 codecs available in HandBrake, x264 and Nvidia NVEnc). Beyond these two, companies like MainConcept, Beamr, AWS Elemental, and many others have developed H.264 codecs. In Figure 1, you see two H.264 codecs, x264 and the Nvidia NVEnc codec which is accelerated by hardware in the NVIDIA graphics card.

The most prominent H.264 codec is x264, which is the codec in popular open-source encoding tool FFmpeg, and many tools based upon FFmpeg, like HandBrake (Figure 1). H.264 defines a codec specification and there are multiple implementations, which means that there are many H.264 codecs, all of which create files that should play in all H.264 players. As with all lossy codecs, the lower the data rate the lower the quality, so the more you compress the file the worse it looks. H.264 is a “lossy codec,” which means that it throws information away during encoding, converting the pixel-related data into other data structures that it uses to reproduce the original frames as closely as possible. The names are interchangeable and refer to the same technology. Each group used a unique name MPEG called the standard Advanced Video Coding (AVC) while the ITU called it H.264. H.264 is a video compression standard set by two standard-setting organizations, the Moving Pictures Experts Group (MPEG) and the International Telecommunications Union (ITU).

