[FFmpeg-user] ffserver HTTP stream playback freeze

Stefano Sabatini stefasab at gmail.com
Sun Dec 29 17:27:41 CET 2013


On date Friday 2013-12-20 18:23:56 +0100, Stefano Sabatini wrote:
> On date Friday 2013-12-20 08:12:29 +0100, Nicolas George wrote:
> > Le decadi 30 frimaire, an CCXXII, Stefano Sabatini a écrit :
> > > Works fine in my internal network and in an external one, freeze
> > > issues observed in two external networks. TCP debugging with wireshark
> > > shows that the freeze occurrs just after a TCP ZeroWindow event on the
> > > client side, then for some reasons the server stops to react and won't
> > > send new packets.
> > 
> 
> > You mean: the client sends ZeroWindow to the server and the server stops
> > reacting? At a wild guess, I would say that ZeroWindow will cause a system
> > call to block on the server instead of succeeding immediately, and that
> > could be handled wrong in ffserver code: the socket could be in non-blocking
> > mode, the system call returns EAGAIN, and ffserver treats it partially as a
> > permanent error.
> 
> I don't think so, the issue cannot be reproduced systematically, I got
> the freeze only in particular networks (2 over 3 tested), and never on
> my local network. So it seems it is somehow related to the tested
> network (and seems more a problem at the network level rather than at
> the application level, where I can't see apparent errors).
> 
> The ZeroWindow event usually triggers the condition where after some
> short time I see no packets from the server, nor the connection is
> closed, so that no data is fed to the client and it seems to hang.

Another possible source of errors would be segmentation on the server
side. I don't know how it is possible to set the maximum TCP segment
size at the OS level, tried to modify the code and use
setsocklen(... TCP_MAXSEG, ...) but doesn't seem to work
properly.

Note that at least with cvlc acting as HTTP server I don't get the
same issue, so it seems again something related to the
ffserver/network combination.


More information about the ffmpeg-user mailing list