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)