What are B-Frames?

B-frames are bi-predictive video frames that may use earlier decoded pictures, later decoded pictures, or both as references. This flexibility can improve compression efficiency over one-direction prediction.

How B-Frames work

A B-frame can predict picture data from either or both of its reference lists, which may identify decoded pictures earlier or later in display order. When it uses a later picture, that reference must be decoded first, so coded order may differ from presentation order. This improves compression opportunities but creates reordering buffers and latency. Encoders tune B-frame count, reference structure, and hierarchy according to delivery latency, decoder capability, and random-access requirements.

Key facts

  1. Containers or elementary streams carry decoding and presentation timing needed to reorder pictures; treating packet order as display order can produce incorrect playback.
  2. Hierarchical B-frame structures can make some B-frames references for others, improving efficiency but increasing dependency depth and error propagation when data is lost.
  3. Low-latency encoders may disable or limit B-frames because future-picture prediction requires lookahead and decoder buffering, even when the codec otherwise supports them.

When B-Frames matter

Increase B-frame use when smaller files or higher quality at a given bitrate matter more than minimal latency. Some workflows limit them because they add reordering delay, memory demand, or decoder constraints.

Turn media knowledge into a working pipeline

Connect uploads, processing, AI, storage, and delivery through one declarative API — with the encoding stack, scaling, and format churn handled for you.

Try Transloadit for free