rec is written in C++ by Péter Joó (joo.peter@gmail.com) for Windows XP and above, back in 2012.
Technology and features
portable: no install, no uninstall, no need for administrator rights
lightweight: uses a special intermediate format during recording to save as many RAM, CPU, and disk space as possible
minimalistic: no configuration, no parameters, no GUI
lossless: screencasts are encoded in the 8-bits per channel RGB color space
no frame drops: variable frame rate format is used to save the timecode of each video frame with accuracy of 1 millisecond or less
illusion of continuity: screen changes detected at 25Hz, in a real-time thread, driven by a multimedia timer
codec: ffmpeg is used to encode the video into the popular Adobe Flash Screen Video Codec V1 format
container: mkvmerge is used to put the result into Matroska container, which is designed to store variable frame rate content properly
How about the usual video lags produced by nearly every other screencast recorder?
Jason Garrett-Glaser (lead developer of x264) uses an entirely lossless, artificially created high-motion flash video called Azumanga Daioh OP. Recording that flash animation without lags is a real torture for screencast recorders. Check the Azumanga Daioh OP-original.swf vs Azumanga Daioh OP-rec.mkv to see that rec produces no lags.
Performance measurement
rec has to acquire, compress and save huge amount of video data in every second.
A little math shows how huge it is: the maximum video bitrate on a 1280x1024 screen at 25Hz with 32 bit colors are:
1280 x 1024 x 25 x 32/8 bytes/sec = 131'072'000 byte/sec ≈ 131 MB/sec ≈ 1049 Mbit/s
Even the maximum video bitrate of the 100 GB UHD Blu-ray disc - which is 144 Mbit/s - is ~7.3 times smaller.
Test configuration
OS: 32-bit Windows XP SP3
CPU: 3 GHz Intel Core 2 Duo E8400
GPU: 512MB ATI Radeon HD 3400
Video mode: 1280x1024 32-bit
Measurement results
in idle state, when there are no changes on the screen: 15% CPU and 0 byte/sec disk space
the typical case, when screen changes a lot but the content is flat: ~17% CPU and few kB/sec disk space
the worst case, when a noisy video playback is on the screen: ~22% CPU and several MB/sec disk space
How to use
Download and extract it wherever you want, for example to the C:\myStuff\rec directory.
Run C:\myStuff\rec\rec.exe and press Ctrl-PrintScreen to start and to stop recording.
If you want to use an other directory for your screencasts
Create a shortcut for C:\myStuff\rec\rec.exe and add a working directory to C:\myScreencasts\ for example:
Features excluded
sound recording, custom region recording
Playing your screencasts
I recommend VLC/MPlayer/mpv but rec produces fourcc:FSV1 compliant video file, so nearly all video player will play it properly.
Download: rec.zip (from my Microsoft OneDrive)