[vlc-devel] [PATCH 3/4] avformat mux: Mark keyframe blocks as such.

Steinar H. Gunderson sgunderson at bigfoot.com
Sun Aug 18 19:51:45 CEST 2013

On Sun, Aug 18, 2013 at 07:46:16PM +0200, Luca Barbato wrote:
>> What exactly does the specification forbid? Streaming WebM? (If so, is live
>> HTML5 video in desktop browsers allowed at all?)
> It is not beside webrtc.
> WebM and the <video> tag were supposed to be only for static content.

OK, that's a bit sad. Thanks for letting me know, though.

> Actually more than one:
> - one to refactor the current ugly code.
> - one to let you override the size and time limit to any value you want.
> As is the normal behaviour is to close the cluster once you get a new
> video keyframe already.

A related question: Is there any way to mux a stream such that it is possible
to drop blocks in a reasonable fashion? The use case is that the client can
fall behind due to imperfect network conditions (or pause, for that matter),
and the server doesn't have an infinite backlog and thus has to drop data.
It seems the result so far is:

  1. Drop a range of bytes (simplest, by far) => browsers and players cannot
     keep up streaming at all
  2. Drop a range of clusters (more complicated) => display corruption,
     massive A/V desync (browsers cannot resync, MPlayer can resync but
     needs many minutes)
  3. Drop a range of clusters from keyframe to keyframe (about the same
     complexity as #2 as soon as you know which clusters contain keyframes)
     => same as #2, just with smaller effect.

I guess #1 has to do with WebM not being self-synchronized, but maybe it's
possible to do something about #2/#3 by tweaking the audio muxing?

/* Steinar */
Homepage: http://www.sesse.net/

More information about the vlc-devel mailing list