I want to create a background low-privilege process that captures all my screen activity from my "log on" time to "log off" time of Windows XP. It should:
- render a video to some formats like avi, wmv, or any other video format.
 - be "lightweight" (have low overhead) as many other processes would also be running with it
 - output videos with minimal file size
 
I am aware of CamStudio and the Easy Screen Capture Video program, but I don't need such software. I need a simple function or module in C# .NET so that I can integrate, optimize or customize it as per my needs. Please don't recommend software.
I know how to capture a single image as shown here:
 private static void CaptureScreen()
    {
        Size s = Screen.PrimaryScreen.Bounds.Size;
        Bitmap bmp = new Bitmap(s.Width, s.Height);
        Graphics g = Graphics.FromImage(bmp);
        g.CopyFromScreen(0, 0, 0, 0, s);
        bmp.Save("C:\\d.jpg");    //location to save image
    }
but I don't know how to get a video in some avi or different video formats.
This isn't for spyware. I just want to monitor all my daily activity once I log on and keep it in video. Then in the future it might be possible to search the recorded sessions.
These questions are similar but not what I am looking for:
Video capture SDKs and Frameworks for Windows
Alternatives to DirectShow for video capture on Windows
How to capture screen to be video using C# .Net?
Record Video of Screen using .NET technologies
Video Capturing + Uploading + Processing + Streaming back - .NET & C#