Create free lossless screencasts!

rec is written in C++ by Péter Joó ( for Windows XP and above.

Technology and features:
  • portable: no install, no uninstall, no need for administrator rights
  • lightweight: during recording a special intermediate format is used, 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
  • saves space: identical and consecutive frames are saved as only one frame with proper timecode
  • 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
rec has to acquire, compress and save huge amount of video data in every second.
A little math shows how huge it is: the video bitrate on screen at
of 1280x1024 with 32 bit colors and at frame rate of
25fps is:

1280 x 1024 x 25 x 32/8 bytes/sec = 131072000 byte/sec
131 megabyte/sec 1049 Mbit/s

For comparison the maximum video bitrate of the standard blu-ray disc in encoded form is 40 Mbit/s which is ~26 times less.
Even the decoded blu-ray video in its original raw YUV 4:2:0 format has
~43% less bitrate: 1920x1080x24000/1001x12/1000/1000 597 Mbit/s

Configuration used:
Operating system:     32-bit Windows XP SP3
CPU:                  3 GHz Intel Core 2 Duo E8400
Video card:           512MB ATI Radeon HD 3400
Screen resolution:    1280x1024 32-bit


In idle state, when there is no change on the screen: rec consumes 15% CPU and 0 byte/sec disk space.
The typical case, when screen changes a lot but the content is flat: rec consumes ~17% CPU and few kilobyte/sec disk space.
The worst case, when full-screen or noisy video playback is on the screen: rec consumes ~22% CPU and several megabyte/sec disk space.

How to use:
Download and extract it wherever you want, for example to C:\myStuff\rec\
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 set up its working directory, for example to C:\myScreencasts\

Features excluded
sound recording, custom region recording

Playing your screencasts
I recommend VLC or MPlayer
but rec produces Adobe Flash Player compliant video, so your existing video player should also play it properly.

How about lagging?
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.
You can check that rec produces no lags: original vs recorded.
SelectionFile type iconFile nameDescriptionSizeRevisionTimeUser

View Download
  4004k v. 1 Oct 16, 2012, 1:41 PM Peter Joo

  20015k v. 1 Oct 16, 2012, 1:34 PM Peter Joo

  8876k v. 1 Oct 27, 2012, 11:14 AM Peter Joo