Try 64bit Linux. Or maybe just an amd64 kernel and a 64bit static mplayer binary to test things out without reinstalling.
On x86 / x86-64, code running in 64bit mode is significantly more efficient, because backwards compat with ancient x86 calling conventions isn't needed. And more importantly for multimedia, twice as many normal and SSE (xmm) registers.
If you're having problems playing ordinary videos in realtime, maybe your video hardware is a bottleneck. check with
mplayer -vo null ...
If you're defaulting to -vo vdpau
, that might be why you're having problems. vdpau is pretty new, but enabled by default in recent Ubuntu / mplayer. -vo xv
is usually good (i.e. efficient), and -vo gl
can be worth trying.
If you have hyperthreading on that CPU, use mplayer -lavdopts threads=2
If not, you can try
mplayer -lavdopts fast:skiploopfilter input.mp4
This will look bad, esp. for lower bitrate videos where the in-loop filter makes more difference for h.264. (decoded pictures are filtered BEFORE being used as references for later frames. skipping this lets errors accumulate.)
If you're having problems with youtube, but not local playback, well that's just because Adobe's binary blob is horrible compared to mplayer. Use google chrome to get better support for html5 video on youtube, so it will default to html5 decoded by chrome, instead of flash decoded by Adobe's crap.