Re: [MEDIA_PIPELINE_TF] Adaptive Bit Rate Architectur


I guess we never got a reply from Jason on this, but I think being able to specify seamless playback of media is an important gap to fill. This was on the list of items from our meeting with the HTML WG. I'd like to see it and Use Case 9 included today.

I think the caveat that Dave mentions below is fine:

 while the intent of the use case is for "seamless" playback, a conforming implementation need not guarantee a "perfect" experience.

In other words, any user agent can minimally do nothing more than they do today - non-seamless playback. But, by having this API, the app can now specify the desire for two videos to be played seamlessly and the UA has the ability to work towards more seamless playback over time.

Important: I think this is separate from adaptive streaming. This is something that can be specified for two or more videos regardless of streaming method.


On Dec 13, 2011, at 11:46 PM, Mays, David wrote:

I have some reservations about Use Case 9.

"An application developer would like to create a seamless video experience by appending segments or video sources without stopping playback"

Let's assume for a moment I have a piece of media playing, and during its playback I decide that another piece of media is to be appended to it because my ad server finally returned a URI to a post-roll. When my application signals the UA with player.appendVideo('http://someuri') my assumption is that this will cause the UA to begin buffering this other video, so that it is ready to start playing at the moment the first video ends.

Based on that set of assumptions, I would be concerned with the impact of two concurrently downloading pieces of media causing issues for the adaptive heuristics. It's quite conceivable that I have now halved my available bandwidth, which may cause a disruption to the playback experience of the currently playing media.

I imagine different UAs could also come up with different schemes for the timing of such an activity. Maybe some would start buffering immediately upon the call to appendVideo(). Others might wait until near the end of playback of the first video. There's certainly room for creativity there.

The UA may also not know much about the next piece of media until it starts loading it.
 - Is the media playable at all by this UA? (codec, format, etc)
 - How much bandwidth will it require to begin buffering it? (Will the new stream starve my existing stream?)
 - If the new format is different than my current video format, will the two different sets of adaptation heuristics work in conflict with one another?

The bottom line is that I see some practical implementation issues here, and I can imagine resistance to this from the UA creators. This means we need to be absolutely crystal clear about both what this use case is and what it is not.

Jason, could you add some clarity as to the intent of this use case? It may be sufficient to state that while the intent of the use case is for "seamless" playback, a conforming implementation need not guarantee a "perfect" experience.



From: Lewis, Jason [<>]
Sent: Tuesday, December 13, 2011 2:45 AM
To: 이현재; 'Clarke Stevens';<>
Subject: Re: [MEDIA_PIPELINE_TF] Adaptive Bit Rate Architectur

Hi, in general I agree with the 3 architecture models as well.
For providing content, I think models 1 & 3 are most important:

Model 1: Reporting & QoS mettrics are critical. When playing HLS in and
HTML5 player, we have no clear view of which bitrates are truly optimal.
Delivering to phones, tablets, and desktops across varying quality wifi or
3G networks can be like throwing darts blindfolded :)

Model 2: Nice to have, but the heuristics of selecting a bitrate based on
bandwidth & client decoding performance are pretty well understood.
Application developers shouldn't have to deal with this in order to
provide content to a customer.

Model 3: Dynamic client-side selection & appending of video segments (or
sources) is critical to present seamless video experiences to viewers.
Application developers capabilities on HTML5 generally lag behind in this

I've also added three new use cases related to these thoughts:

Thoughts? Thanks, J
Jason Lewis
Disney Technology Solutions and Services

On 12/12/11 6:18 PM, "이현재" <> wrote:

>Hi Clarke,
>I think the 3 architecture models approach on adaptive streaming you
>proposed is very good.
>At first, rather full media control approach will be easy to discuss
>between companies for deciding what functionalities are needed for video
>The utmost goal is surely minimal control approach which video tag object
>will do agreed necessary functions automatically without application
>developers intervention.
>Let's hear content providers' and TV manufacturers' voice on what
>functionalities are necessary.
>Content providers and TV manufacturers, please speak up.
>Best regards,
>HJ / LG Electronics
>-----Original Message-----
>Sent: 없음
>To: Clarke Stevens;
>Subject: RE: [MEDIA_PIPELINE_TF] Adaptive Bit Rate Architectur
>I have a couple of questions on the proposal.
>1. segment definition
>Can a definition of segment be added to the proposal? It will help go over
>the below comments.
>2. maxLevel (input)
>What is the format of the input. Is it a segement identifier or bandwidth?
>If it is agreeable I would recommend to adopt concept of bandwidth that is
>mapped to the manifest bandwidth. Even though the bandwidth is a
>level based on what is reported in the manifest rather than actual it is
>the best form to indicate a max limit. An extra argument could also be
>included indicating what position that this max level should be applied.
>issue for implementers is that simply indicating max level may have
>different effects depending on how the buffer is handled. If this can be
>done at a future position it will make for a smoother transition.
>3. callback change in representation
>I am missing a callback reporting when the representation has changed. It
>might be what is called segment in the proposal but I am not sure. This
>callback is only reported when the "bandwidth" has changed. The "position"
>at which this change occurs should also be included since it may occur in
>future point.
>-----Original Message-----
>From: Clarke Stevens []
>Sent: den 9 december 2011 20:01
>Subject: [MEDIA_PIPELINE_TF] Adaptive Bit Rate Architectur
>Please take a look at the Wiki page for Adaptive Bit Rate.

>I'd like to have a good list of parameters, and errors (for model 1 in
>particular) that we can provide for MPTF folks to review over the next
>days. You can make suggested edits directly, or post your ideas to the
>Also, please make sure we are in agreement on the definitions of the
>architectural models.

Received on Friday, 16 December 2011 00:29:56 UTC