[whatwg] Limiting the amount of downloaded but not watched video
dresende at thinkdigital.pt
Mon Jan 17 08:49:25 PST 2011
downloadBufferTarget in seconds is not that good. Think about a movie
that takes more to load than to see. Depending on the settings the
developer done, you might have to pause the video at some point to load
the rest of the movie.
On Mon, 17 Jan 2011 17:41:13 +0100, Jeroen Wijering wrote:
> Hello all,
> We are getting some questions from JW Player users that HTML5 video
> is quite wasteful on bandwidth for longer videos (think 10min+). This
> because browsers download the entire movie once playback starts,
> regardless of whether a user pauses the player. If throttling is
> it seems very conservative, which means a lot of unwatched video is
> the buffer when a user unloads a video.
> I did a simple test with a 10 minute video: playing it; pausing after
> 30 seconds and checking download progress after another 30 seconds.
> With all browsers (Firefox 4, Safari 5, Chrome 8, Opera 11, iOS 4.2),
> the video would indeed be fully downloaded after 60 seconds. Some
> throttling seems to be applied by Safari / iOS, but this could also
> bandwidth fluctuations on my side. Either way, all browsers
> the 10min video while only 30 seconds were being watched.
> The HTML5 spec is a bit generic on this topic, allowing mechanisms
> such as stalling and throttling but not requiring them, or
> a scripting interface:
> Are there people working on ways to trim down the amount of
> not-watched data for video playback? Any ideas on this, anything in
> the pipeline?
> A suggestion would be to implement / expose a property called
> "downloadBufferTarget". It would be the amount of video in seconds
> browser tries to keep in the download buffer.
> When a user starts (or seeks in) a video, the browser would try to
> download "downloadBufferTarget" amount in seconds of video. When
> "downloaded > currentTime + downloadBufferTarget", downloading would
> get stalled, until a certain lower treshold is reached (e.g. 50%) and
> the browser would start downloading additional data.
> A good default value for "downloadBufferTarget" would be 60 seconds.
> Webdevelopers who have short clips / do not care about downloads can
> set "downloadBufferTarget" to a higher value (e.g. 300).
> who have long videos (15min+) / want to keep their bandwidth bill low
> can set "downloadBufferTarget" to a lower value (e.g. 15).
> Webdevelopers might even change the value of "downloadBufferTarget"
> per visitor; visitors with little bandwidth get a sizeable buffer (to
> prevent stuttering) and visitors with a big pipe get a small download
> buffer (they don't need it).
> The "buffered" timeranges could be used to compare the actual
> download buffer to the buffer target, should a user-interface want to
> display this feedback.
> Note that the download buffer is not the same as the playback buffer.
> A download buffer underrun should not result in pausing the video.
> download buffer does also not apply to live streaming.
> Kind regards,
> Jeroen Wijering
> Longtail Video
> PS: Having the "preload=none" property available in all browsers will
> also help in keeping the amount of downloaded but not watched data
> low. In our tests, only Firefox (4 b9) seems to honor this property
More information about the whatwg