From OVC: Open Media Developers Track

Main: OVC2011Adaptive

Standards for HTTP Adaptive Streaming

Session Notes

Session Type: Working group

Session Category: Open Media Developers

Session Leader: Silvia Pfeiffer (Google), Frank Galligan (Google)

Day: Sunday
Room: Faculty Commons
Time: 11:30pm – 1:00pm

Description

One of the most popular features of modern Flash players is the ability to adapt the bitrate of the streamed video to the available bandwidth, also called HTTP adaptive streaming. HTML5? browsers (with the notable exception of Safari, which supports Live Streaming) do not yet suport this feature because it has not been standardised yet in a codec-independent manner.

ISO/MPEG have developed the DASH specification, which may be applied in a codec-independent manner and therefore be a good option for HTML5?.

While there are several solutions for HTTP adaptive streaming of MPEG video, none has been released for WebM?, nor a standard set that works across media formats.

Experiments have been run in several frameworks for WebM? to see how it can work in comparison to MPEG. This session gives the developers an opportunity to report on their experiences and to discuss how to move forward for standardisation across browsers and codecs.

Outcome

This session will give developers the opportunity to discuss their experiences with different approaches to HTTP adaptive streaming and allow to come to a conclusion as to what approach may be the best to propose for HTML5?.


Notes

Frank Galligan (Google)
Aaron Colwell (Google)
Mark Watson (Netflix)

Mark: Introduction to DASH

Comments:

Aaron: Media Source API

interface HTMLMediaElement : HTMLElement {
    ...
    // URL passed to src attribute to enable the media source logic.
    readonly attribute DOMString webkitMediaSourceURL;

    // Appends media to to the source.
    void webkitSourceAppend(in Uint8Array data) raises (DOMException);

    // Signals the end of stream.
    const unsigned short EOS_NO_ERROR = 0; // End of stream reached w/o error.
    const unsigned short EOS_NETWORK_ERR = 1; // A network error triggered end of stream.
    const unsigned short EOS_DECODE_ERR = 2; // A decode error triggered end of stream.
    void webkitSourceEndOfStream(in unsigned short status) raises (DOMException);

    // Indicates the current state of the media source.
    const unsigned short SOURCE_CLOSED = 0;
    const unsigned short SOURCE_OPEN = 1;
    const unsigned short SOURCE_ENDED = 2;
    readonly attribute unsigned short webkitSourceState;
    ....
};

Next steps:

Have break-out group tomorrow about this!!!

Discussion:

Frank: adaptive streaming demo

Discussion:

Questions:

Retrieved from /oms2011OVC/pmwiki.php/Main/OVC2011Adaptive
Page last modified on October 09, 2011, at 10:31 PM