There are always new (or less experienced) computer users, so I'll put up this guide for them. Maybe, on one day, it'll be a sticky ...

1. The theory (If you are a total newbie for this site or to video files, please read the site FAQ.)

First, please read this article about computer movie files.
To summarize that article, movie files are containers (eg. mpg,avi,mov,mp4,mkv) (read more about them here) which can hold video stream (eg. mpeg2,xvid,h264,sorenson3) (read more about them here) and audio stream (eg. ac3,mp3,aac,qdesign) (read more about them here).

To be able to play a file, a player needs:
- a splitter for the container to recognise and seperate the different streams and send them to the appropriate decoders
- a codec for the video stream
- a codec for the audio stream
These 3 components are built-in in an all-in-one player, and can be internal or external components of a directshow player (see below these categories).

To playback movie files on Windows you have 3 options:
- if a codec has an own player (like Real Codecs and Qiucktime) you can use that (these player are freely available, at least the limited versions)
- go for an all-in-one player, like MPlayer, VLC (and of course there are others, but these two are opensource and crossplatform players (MAC OSX too )), which can play all the files (and codecs in it) that it support
- or go for a directshow player, like MPC, TCMP, ZoomPlayer, Bsplayer (and of course there are others), (personally, I prefer MPC, but it's just a matter of taste, until you want play old mov files), which can play all the files which one's directshow splitters and codecs are installed on the operating system. We'll explore this category.

The DirectShow chain
A classical ds player is "only a GUI" which uses the installed splitters and codecs (of course the advanced players can contains built-in ones, like MPC do). When a file is opened, a directshow chain has created. Let's take a look at this:
Code:
                  ---> video codec ---> video filters (if any) ---> video renderer
                  |
movie-file --> splitter
                  |
                  ---> audio codec ---> audio filters (if any) ---> audio renderer
You can manipulate this chain in the player or in external programs (like GraphEdit). The important thing is that you can specify which splitter and codecs and filters should be used by the player!
The order in the chain (the naming is not random ) is important. eg. the later one try to connect to the previous one if it can.

In MPC you can see this builted chain in "Play menu -> Filters".
If you install a splitter/codec/filter for a specific task, the latest installed component will work (of course if a previously installed component has a configuration surface, you can "re-register" it, so this will be working component.)
If the ds player has built-in component for the same task as an external one, these external filters are only working, if the built-in is switched off.

So with this knowledge, you can specify that which splitter, which codecs, and which filters are being used for a specific file!

2. The practice (We will use MPC, but the other ds players are good too.)
- download:
-MPC (there are downloadable multilanguage help files too), and extract to some dir
- if you want to use the QuickTime engine and don't want to install the QuickTime player, download QuickTime Alternative (it also includes MPC)
- ffdshow (it's basically a ds codecs and filters collection): it has ds decoders for aac,mp3,ac3,h264,xvid,divx,sorenson3 etc.
After it installed, set these to liba* codecs in it: (audio: aac,mp3,ac3,dts,amr,flac,qdm2; video:h263,h264,svq1,svq3,ffv1,flv1,qtrle)
- in "View -> Option -> Formats" press the video button: it registers all the video filetypes to MPC (if you double-click one of them in a file manager, MPC will open it)
And here is one thing that will be important for us: 1 engine is assigned to each file extension group (at theirs right). See "Quicktime file" group and see that the default engine is QuickTime. Here you can change the renderer to directshow (and back to QuickTime) if you want. Set this to Directshow.
- "View -> Option -> Output": here you can specify the video and the audio renderer (look back to the upper directshow chain diagram if you don't know what it is).
- At the "DirectShow" part it can stay at "Overlay Mixer".
- At the "QuickTime video" part set to "DirectX 7". This section specifies which renderer should be used if QuickTime engine is selected within the "Formats"
- "View -> Option -> Internal filters": here you can see the built-in splitters (Source filters) and codecs (Transform Filters), and here you can disable one if you want by uncheck it.
What is important for us is the "MP4/MOV" splitter: this is the best directshow mov splitter available (but it's not perfect: some files will not play, or have no audio. In this case change back to QuickTime engine.)
- "View -> Option -> Internal filters": here you can add any external video or audio filter in the ds chain (which will be always loaded). Remember: the order is important. The upper is the 1st in the chain and so on...

3. Examples
- playing mov files:
- 1. in mpc set DirectShow engine in "Formats"
- 2. ensure that the built-in MP4/MOV splitter is enabled
(see if ffdshow tray icon is displayed after the playback is started)
If a mov file isn't playable in this scenario (very rare), set the engine back to QuickTime. (it takes about 10 second)


That's for now. I hope that it's useful to somebody and I have spent almost 2 hours with this article not for nothing ...
Of course, any feedback is welcomed !