2 ways wich make sense:
You go into COnsole and type:
/cl_avidemo x
whereas the x defines the frames taken per second.
now do:
/g_Synchronousclients 1
and
/record blabla
Your base/screenshots folder gets now filled up with single shots of the ingame action you can compile into a movie later on with a video converter such as VirtualDub or TMPGEnc.
Now if you set the cl_avidemo to a high value, lets say like 25 you'll get MANY pics in your screenshots folder and in a resolution of 1024x768 they will take away much space so I recommend to use a lower value (between 10 and 15)
The other method would be to use a Realtime Video capturing tool like FRAPS (
http://www.fraps.com/)
They offer a Trial version with limitations though.
This tool just records your ingame stuff into an .avi format (can also become very huge though)