While H.264 is often considered a single 'thing', many different 'types' of H.264 exist. These types have performance tradeoffs. For the past few years, most IP camera manufacturers only supported the most basic type - baseline profile. Now, increasingly, manufacturers are adding support for more 'advanced' types include main and high profile. In this report, we share our test findings of baseline vs main profile measuring differences in bandwidth consumption and CPU utilitzation.
Background on H.264
IP camera manufacturers has largely standardized on H.264 as the codec of choice for surveillance streaming. Since basically all surveillance video is compressed, codecs are required. In the past, MJPEG and MPEG-4 were most commonly used. Now it is predominantly H.264. In 2009-2010, a heated debate existed about using MJPEG or H.264. As our extensive test results of MJPEG vs H.264 showed, H.264 offered clear and compelling bandwidth savings.
H.264 Baseline vs Main Profile
Of the numerous H.264 profiles, the two most common considered for surveillance are baseline and main. Baseline is typically considered the least efficient of the H.264 profiles but also the least demanding of computing resources. By contrast, main profile is considered to be more bandwidth efficient but also more demanding.
Increasingly, new IP cameras are using main profile by default while the previous generation from 2-3 years ago were more likely to use baseline.
Questions for Our Test
We performed a test in 3 different scenes - daytime simple, nighttime and complex / high motion - to measure differences in bandwidth consumption and CPU utilization for H.264 baseline and main profiles.
The questions we addressed were:
- How much of a bandwidth savings, if any, does main profile deliver over baseline?
- How much does bandwidth savings vary by type of scene?
- How much does CPU utilization increase, if any, when using main rather than baseline?
- Should you prefer main profile cameras over baseline ones?