[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