On 2014-10-27 11:35 AM, Felix E. Klee wrote:

>     <video src="http://example.com/live.ogv"; autoplay></video>

> *What happens when the bandwidth of the client's Internet connection is
> lower than required for the live video stream? Will the playback lack
> more and more behind? Will it stop? Or will it skip?*

If there's not enough bandwidth to play the stream through, <video> with
an http source will pause and show a buffering spinner until the
download catches up, then playback will resume from there. So it will
get more and more behind. HTTP is designed to download complete
resources, so the model doesn't allow skipping ahead.

In contrast a WebRTC stream is designed to drop data when it's behind to
maintain the minumum possible delay, so it will always skip ahead, and
the ultimate delay will be shorter than is normally possible with http.

The Media Source Extension API recently enabled in Nightly lets you
control the buffering from javascript so you can implement whatever
trade-off you prefer.

You can also limit how bad things get by measuring how far behind
playback has gotten and reset the source to the same url with a current
temporal fragment (or just reload if it's a live stream) from
javascript. That can work on the scale of tens of seconds.

For live streams, servers like icecast will also close connections to
clients which are too far behind, which has a similar effect.

 -r

_______________________________________________
dev-media mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-media

Reply via email to