How to play movies on slow computers.
Written by Olav Bringedal http://jaggu.org
ver: 0.1 (17/7-2003)
Copyright (c) 2003 Olav Bringedal.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled “GNU
Free Documentation License”.
0: Why this guide?
1: Minimum Hardware
2: Required Software
3: Reccomended Software
5: Extra tips to try
You may ask why is this guide needed, why not simply upgrade your hardware? The answer is simple. Im sick and tired of software developers adding a lot of stuff to their programs, making them harder to run around than a waterwheel for a slave in the dark ages. The general trend seem to be: Get new hardware, our new software is so big, your old PC will lag behind.
Of course i had to give in myself and buy a new PC, but I still got my old one running in my living room acting as a mp3, mpg4 player displaying on my TV. That was when my crusade started. I got a 450mhz AMD-k6, 512 MB ram and only uses the TV-out on the video-card.
1: Minimum hardware
Minimum hardware for playing movies should theoreticly be a pc with a decent pentium processor, a hard-disk and a video card able to play in decent colors in 640*480 resolution and something to show it on. This is of course not the case. To get it running in most cases, we should need a FAST CPU at least running at 1 Ghz, and a monster video-card, many of the reccomended cards are in fact cards able to run complex 3D games in the same frame rate we want our flat movie to run in…
I got an ATI Rage 128 pro in my PC. It shows DVD perfectly, so my guess it should be sufficent. My CPU is running at 450 mhz. Since I’ve silenced all my fans by reducinf voltage to 5v, for mimimum sound, I cannot run it at the 550 mhz it used to. My HD is a 1.2GB fujitsu that sounds like a plane taking off, but im hoping to buy a second hand 2,5″ 4500 rpm laptop HD soon that is virtually silent. All files is on my fast PC, so the only files on the PC is the Operating System and The Software Needed for playing the movies.
2: Required Software
You will need an Operating System. I use windows XP, as i got it with my other PC and that one runs on linux. You can of course use Linux, but that I dont reccomend unless you are quite experienced with consoles and such. I am, but I want an easy system that even my girlfriend can use and understand.
We need a decently new version of Windows, that means equal or more than windows 95, and a decently new DirectX packange. Here we need a decently new one, as the early releases are hoeplessy bugged. Version 7.5 or better is my bet.
We want a robust system without having to install/uninstall things all the time. And software used for play movies are a JUNGLE. Some come with Windows, most not. In this guide I will talk about two systems, codecs or more precisely decoders, used for playing videos. It’s not really fair to call them codecs, but since everyone else does it I’ll do too. Codecs are in general small files that are installed in the system directory on your PC. We’ll talk about the most commonly spread, DivX and XViD here.
In addition, you need something that can use those decoding files and use them to turn what looks like binary-rubbish into a movie. Again a jungle, but I’ll only talk about a neat little one called Windows Media Player ver 6.4 (this one is locaded in /program files/Windows media player/mplayer2.exe. No nosense and among the fastest around. There is also one calles BSPlayer that is lightning fast, but for me works very seldom with the codecs i’ve installed. So on my system it’s out.
3: Reccomended Software
Instead of the codecs a nice program to have is a neat little program called ffdshow, and is totally incomprehensible to understand for newbies, but install it anyway and try not to change to much of default settings. This program makes audio and video sync much better that the standalone decoders, and reduces the problems you have with sound getting several seconds ahead of the video. It is also almost as fast as the DivX and XviD.
Personally I use both XviD and ffdshow, and have deinstalled DivX as it is currently full of spyware, and when using the configuration interface it crahsed more often than not.
If you have some really heavy stuff you want to show, you might have to re-encode it. The best bet for re-encoding software is the brilliant VirtualDub ( http://virtualdub.org ). This has good documentation on its own, so I’ll not mention it anymore.
4: System optimalization
A thing to really get your old machine going is to lower your desktop resolution. In newer Windows systems lower than 800*600 is a bit tweaky, but possible (and reccomended). You use the compability wizard to set your player to trigger 640*480 or try this solution : http://support.gateway.com/s/SOFTWARE/MICROSOF/7509594/FAQ2/7509594faq11.shtml
Some say you also should reduce your colordepth. I have not seen any gain from this and suspect the ectra work in form of dithering makes up for the minimized memory usage.
When running an NT-based system (NT/2000/XP/2003), the default configuration is full of useless services and tasks that should be disabled. It is also important to have the newest drivers for your video-card as thay often are bugged when shipping.
Colorspaces are a bit of a pain, and i’m currently trying to find out which factors are involved. <<NEED more here
Overlay is a nifty solution to provide quick picture composition on screen, without raising CPU load much. The GPU on your graphic board does most of the work.
Overlay can be created in different formats, i.e. color space formats.
If you're eager to learn more on that have a look here: http://www.fourcc.org/fccyuv.htm
Most important for quick overlay drawing are YUY2, YV12 and UYVY.
YV12 is the fastest AFAIK, but causes some trouble with cards which however don't properly support this format, thus image quality is decreased. For instance Matrox cards as well as NVIDIA are said to have bad driver architecture, bad overlay support.
YV12 is usefull on slow machines for MPEG4 decoding (DivX and XVid) is heavy work for
CPU, so every off-load is "good". You can try to switch it on in bsplayer trough overlay mode 1.
If you switch to bsplayer overlay mode 2, you'll get YUY2 output which is default and preferred overlay output from most players and DirectShowFilters (ffdshow!).
On modern graphic cards there ought to be no visibile difference.
Changing between those two modes is only advised if your card does not support one mode. Also it's better to not manipulate this during playback, some systems don't tolerate this and bsplayer crashes. After mode switch close player and re-open to make it store overlay initialisation info in registry.
To find out which color overlays your graphic system supports try to use Sisoft Sandra 2003.