| Feature | | Main Profile (MP) | High Profile (HP) | | :--- | :--- | :--- | :--- | | B-Frames | ❌ No | ✅ Yes | ✅ Yes | | Entropy Coding | CAVLC only | CABAC or CAVLC | CABAC or CAVLC | | 8x8 DCT Blocks | ❌ No | ❌ No | ✅ Yes | | Chroma Subsampling | 4:2:0 only | 4:2:0 only | 4:2:0, 4:2:2, 4:4:4 | | Bit Depth | 8-bit | 8-bit | 8-bit to 14-bit | | Relative Compression | Baseline (1x) | ~20-30% better | ~40-50% better | | Decoding Complexity | Low (1x) | Medium (2-3x) | High (4-6x) | | Latency | Lowest | Medium (B-frame delay) | Medium-High | | Primary Use Case | Conferencing, CCTV, WebRTC | Broadcast TV, Blu-ray | 4K Streaming, Archiving |
It uses a simplified set of encoding tools, making it ideal for devices with minimal CPU and memory. Low Latency: h.264 bp
If you use getUserMedia() in JavaScript to capture a webcam and stream it via WebRTC, the browser almost always negotiates H.264 Constrained Baseline Profile (assuming hardware encoding is used). | Feature | | Main Profile (MP) |
The "BP" designation means the encoder adheres to specific technical constraints to keep complexity low: WebRTC | Broadcast TV