[foms] WebM Manifest

Timothy B. Terriberry tterribe at xiph.org
Sat Mar 19 03:03:04 PDT 2011

> Yes, there is a problem when B frames are used (again, not a problem
> in WebM). But B frames are a problem for adaptive streaming anyway. It
> imposes downloading data far ahead (like n+60) before you can play a
> certain frame (n). That poses a big threat of starving the decoder

This is not how B-frames work. Coded order (the order they're stored in 
the stream) is not the same as presentation order (the order they're 
shown to the viewer), and the re-ordering is generally limited to ensure 
that you only need to decode at most one future frame (which is stored 
in the stream right where it is first needed by the decoder) to decode 
the current one (hierarchical schemes allow more, but additional future 
B frames are usually much smaller than a future I or P frame). This is 
basically exactly the same situation as with alt-ref frames in WebM, 
except there the future frame is _never_ shown to the viewer (though it 
is easy and cheap enough to code a future frame as an exact copy of the 
current alt-ref, which would have the same effect). The overhead in 
terms of extra buffering required is basically identical, however.

In either case, adaptive streaming generally operates at high enough 
latencies (10-30 seconds) that the buffering needed for one extra frame 
is not going to make or beak the system. Even if we improved those 
latencies by an order of magnitude, it wouldn't be an issue.

More information about the foms mailing list