[MPlayer-users] mplayer drops a lot of frames when playing over fast network

Adam Nielsen a.nielsen at optushome.com.au
Mon Dec 29 15:40:31 CET 2003


Hi,

I've been having this problem with mplayer for a while now and it is quite 
annoying.  I'm trying to work out whether mplayer is at fault or if it's 
Linux.

When I play a file over an NFS mount, it works perfectly except that every few 
minutes it grinds to an almost complete stop for a few seconds, as if the 
data isn't coming across the network fast enough.  If I pause it for a few 
seconds and then continue it's not too bad until the next minute or so, and 
if I skip back ten seconds the 'bad' bit plays perfectly (as if the data is 
being read from a local cache, so it's not a corrupted file causing the 
framedrops.)

I'm almost certain the problem is because the data isn't coming across the 
network quickly enough, however it's a 100Mbps network and the data rate is 
only ~1MB/sec (according to gkrellm while I'm playing the file.)  During the 
problem, the transfer drops to around 400kB/sec, however it seems that 
mplayer isn't requesting the data quickly enough because the network is 
certainly capable of more (copying the same file with cp results in at least 
5MB/sec sustained transfer, so it's definitely not the network or the drive.)

I don't know what I can try to fix it, because even with the -cache parameter 
it doesn't seem to make any difference, it seems that mplayer waits until the 
cache is empty before requesting more data, as the network transfer doesn't 
slow down until the point when mplayer starts locking up.  My CPU usage also 
drops substantially while this is happening, so it's not a lack of CPU power.

So it just seems that either Linux or mplayer isn't requesting enough data 
fast enough.  I would've thought a large -cache value would fix this, but it 
doesn't seem to have any effect (I've tried -cache 2048, 8192 and 32767 but 
all it does is make seeking slower and last a little longer between the 
'hiccups.')

Does anyone have any ideas what could be causing this?  Is there some way to 
monitor mplayer's cache level on-the-fly?  The last item on the status 
display appears to be the cache level, as the severe framedrops start when 
this reaches 0%, but even after I've paused it for a long time, it never 
seems to get above ~47%, and it slowly gets lower and lower as I'm playing 
the file, even though the network can easily transfer more data.  My CPU 
usage is at around 70% while playing (the rest is idle), but that shouldn't 
slow the network down at all.

One last point - the file I'm trying to play is 50fps, and this doesn't seem 
to happen on 25fps files.  They're MPEG-TS files captured from a DVB card, 
and I'm using -vo xv.

Any ideas?

Thanks,
Adam.




More information about the MPlayer-users mailing list