[libav-tools] libav UDP stream and packet loss in mixed 100/1000 network

Christian Robottom Reis kiko at async.com.br
Thu Jul 9 19:17:47 CEST 2015

On Thu, Jul 09, 2015 at 09:42:17AM +0200, Luca Barbato wrote:
> On 08/07/15 00:09, Christian Robottom Reis wrote:
> > I really think avconv should be pacing the data output to avoid
> > congestion, but perhaps I'm missing something obvious.
> if your input is not real-time you can use -re to force such pacing.

Using -re when streaming a file doesn't seem to magically solve the
problem, though I'm not sure why. Perhaps the file framerate is already
too high, but at 24fps 1080p I'd assume 100BaseT would be enough.

In my actual use case where I'm doing an x11grab, however, I don't think
-re is appropriate.

I've seen examples with -framerate and others with -r -- what is the

> But if the single frame you want to push over doesn't fit in itself
> you need to tune the system buffers AND ask for a larger out buffer.

For the former, I'm assuming you mean udp_wmem on the sender and
udp_rmem on the receiver. Am I missing something else?

For the latter, I'm assuming you mean ?buffer_size in the UDP URL. One
thing I'm not clear on is whether that parameter should be supplied in
the avconv commandline, in the client commandline, or both.

I'm surprised a single frame is too large to be transmitted with the
default buffers -- is a 1080p frame that large?

Christian Robottom Reis | [+55 16] 3376 0125   | http://async.com.br/~kiko
CEO, Async Open Source  | [+55 16] 9 9112 6430 | http://launchpad.net/~kiko

More information about the libav-tools mailing list