[theora] Http adaptive streaming for html5
silviapfeiffer1 at gmail.com
Tue Dec 29 04:25:37 PST 2009
On Tue, Dec 29, 2009 at 7:44 PM, Michael Dale <mdale at wikimedia.org> wrote:
> Silvia Pfeiffer wrote:
>> I'm not sure which approach is preferable to HTML5 and to Ogg. Maybe
>> the media fragment addressing will make it easier to switch to a
>> different file without losing sync and still do it all client-side.
>> From a HTML5 markup POV, the current <source> elements and their
>> @media attributes allow for specification of bitrates of the
>> alternative video sources, so HTML5 probably already specifies all
>> that is necessary to do bitrate switching. It even seems to me that
>> Apple have already implemented it since  mentions the <video>
>> element. But it might be a good question to ask on whatwg.
> This is more or less what I suggested at the start of the thread ;)
Indeed. Which is why I repeated it because maybe what you are after
can already be specified with existing syntax in HTML5.
> It would
> have to work with upcoming "oggIndex" support so that clients could maintain
> a list of http byte offsets for keyframe to keyframe chunks. Then you would
> just do normal byte-range requests to the server, jumping clip qualities
> when needed. This is compatible with existing plain old http CDN
> infrastructure. I think stuff that works over plain http will win out, as
> Blizzard mentions even if its not the standard right now its the general
> industry direction.
It would be nice if the browser vendors could go down that track. But
it does mean even more implementation of codec-specific functionality
into the browser and a more complex source selection approach.
After having looked at all the three different approaches in Adobe,
Silverlight and Apple, I actually believe that Microsoft's approach to
bitrate switching, which switches files using byte range requests is
fairly sensible. It communicates the stream parameters through a
manifest, e.g. http://msdn.microsoft.com/en-us/library/ee230810.aspx
and thus also solves the multitrack issues. With the new oggIndex, we
won't need to consider communicating byte range to time mappings. But
we still have to solve the other multitrack issues and the smooth
streaming approach might give us a good idea about how to extend the
More information about the theora