You may need to record a remote desktop session with several purposes. For instance, I created it to record multiple operator's workplaces to know what and when they did exactly.
This solution is running on linux (and probably on mac os). You need ruby >= 2.0 installed on recording side, a VNC server (I used x11vnc) on the side being recorded.
By default, it writes video in raw format, which consumes... well, A LOT of space. Install ffmpeg also. This will enable vncrec to use it for encoding video at runtime.
FPS, colormap, transfer mode, etc. are adjustable.
Notice: by default it uses reverse-connect feature.
To install it run:
gem install vncrec.