rfbproxy is a program for recording, playback, and video conversion of Virtual Network Computing (VNC) screen sessions.
The heart of VNC is the RFB protocol, a simple network protocol to transmit an image of a computer's display, update the images as changes occur, and relay mouse and keyboard events. A VNC server maintains a desktop, which may correspond to a real physical computer display, or may be completely virtual, existing only in the computer's memory. VNC clients connecting to the VNC server can use this display as if it was their own, even though it may exist on another computer over the network. In this way, VNC is similar to Microsoft's Remote Desktop or Symantic's PCanywhere.
Yet the simple, open design of the RFB protocol, combined with VNC's support for multiple simultaneous clients, allows a client to unobtrusively connect to a VNC server and record the changing contents of its screen to a file, independent of any other activity on the desktop. This is the function of rfbproxy:
Since VNC server support is available for both X Windows and Microsoft Windows, this means you can use VNC and rfbproxy to record a UNIX X Windows or Microsoft Windows screen session, then either play it back or convert it to a MPEG, DivX, or Theora video. Since almost all computers also have soundcards, only a few more steps are required to couple audio with your video.
Here are some sample videos I created using rfbproxy. Linux users can use ffplay to decode and display both MPEG-4 and Ogg/Vorbis files. Microsoft users can display MPEG-4 videos using either the DivX or Xvid codecs. The Makefile in the rfbproxy source distribution contains rules for building DVD, MPEG-4, and Ogg/Vorbis videos from recorded rfbproxy sessions.
There is always plenty of work to be done with any computer project. rfbproxy is no exception. Here are a few ideas:
VNC was developed at Olivetti Research Labs, Cambridge (now AT&T Laboratories, Cambridge) by Tristan Richardson, Ken Wood, James Weatherall, Andy Harter, Charlie McLachlan, Paul Webster, Quentin Stafford-Fraser and others.
Tim Waugh wrote the original version of rfbproxy.
Brent Baccala added the video export capability to rfbproxy.