Various profiles and settings in H264 AVC codec

1.1k Views Asked by At

When I convert a video with ffmpeg, and use mediaInfo to review the metadata, I see the followings for the video codec:

Format : AVC 
Format/Info : Advanced Video Codec 
Format profile : [email protected] 
Format settings : 1 Ref Frames 

Whereas for some other videos, mediaInfo shows this:

Format : AVC 
Format/Info : Advanced Video Codec 
Format profile : [email protected] 
Format settings : CABAC / 4 Ref Frames 

What are the differences between these two profiles and settings? Do they have any effects on the compression ratio/file sizes? Any pros/cons? My goal is to reduce the video file sizes at much as possible with negligible quality degradation.

1

There are 1 best solutions below

0
On

AVC can be described as set of features. The AVC profiles (Baseline or High) are a list of allowed features for the profile. The more features - the better is the compression. For example High supports B-frames and Baseline doesn't.

A higher profile requires more resources for encoding and decoding - compute and memory.

So you are trading file size (or quality) for RAM and processing. I am guessing for most PC and newer smartphone applications - you are better off using a higher AVC profile. For some embedded application - your hardware may not support higher profiles. If latency for live streaming needs to be low - you may want to avoid B-frames.

Nowadays - Main and High are pretty common and give you a quality or file size advantage.