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

Steinar H. Gunderson sgunderson at bigfoot.com
Mon Aug 19 00:54:46 CEST 2013

On Mon, Aug 19, 2013 at 01:44:24AM +0300, Martin Storsjö wrote:
> Btw, a different way of making streaming webm work reliably in all
> browsers that support webm, that requires a bit more refactoring in
> the server, is to create a separate muxer instance for each client,
> so that each client gets a uniquely muxed stream for them from the
> next keyframe after they connected.

It also eats CPU to a completely different level, _and_ it requires your
reflector to understand each and every format you want it to stream.
It might be workable on a small scale, but it's certainly not an avenue I'd
want to pursue myself; it sounds very painful performance-wise.

> I don't know the details of http streaming in VLC all that well though so
> it might very well not be doable too easily there though. But as a general
> concept it's easily doable and just wastes a little more memory.

The HTTP server in VLC cannot do it; it pushes bytes from a common backlog,
and nothing more.

Also, “a little more memory” is probably relative; as I understand your
suggestion, you'd need to keep one GOP (muxed or unmuxed) per client,
and if your GOPs get large (10 seconds at 5Mbit/sec = 6.25MB) and your
clients get many (my use-case is well above 1000), this can easily go up in
the gigabytes...

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

More information about the vlc-devel mailing list