[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