|
NAMErfbproxy - record, play back, or export a VNC sessionSYNOPSISrfbproxy [OPTION]... ACTION filesDESCRIPTIONrfbproxy is a simple proxy for VNC, which allows recording of screen updates, key presses and mouse events, for later replay to a VNC client or export as a series of PPM frames. It can also record screen updates by connecting to a VNC session shared by other client(s). Exporting as a series of PPMs is the first step towards converting a session to video using tools such as mjpegtools(1), ffmpeg(1), and/or ffmpeg2theora.OPTIONSACTION is exactly one of:
OPTIONS can be:
EXAMPLES
Here's simple shell script that simultaneously records VNC and audio at DVD's 48 kHz sample rate (vrec is from sndtools): #!/bin/sh
function terminate() {
rfbproxy -rs fbs &
vrec -s 48000 -b 16 -r audio This one converts the recorded fbs/audio pair into a DVD-standard MPEG-2 with MP2 audio using mjpegtools(1) and toolame(1). #!/bin/sh
rfbproxy -x fbs | ppmtoy4m -S 420_jpeg | \
yuvscaler -n ntsc -O DVD | mpeg2enc -f 8 -o video.mpv
And this one converts the recorded fbs/audio pair into an DivX6-compatible MPEG-4 with MP3 audio using ffmpeg(1) and lame(1). #!/bin/sh
lame -m m -x -r -s 48 -h audio audio.mp3
Both MPEG-2 and MPEG-4 files can be converted to Ogg/Vorbis with ffmpeg2theora: ffmpeg2theora -o video.ogg video.avi
SECURITYTo avoid recording passwords (even encrypted), rfbproxy discards authentication information when recording a session, and instead changes the recorded authenticated scheme to look like the session used no authentication.rfbproxy does not authenticate incomming connections in playback mode. Recording keystrokes with --type=events can record passwords. BUGS AND CAVEATSA proxy record will create a version 1.0 FBS file whose pixel formats can't be reliably interpreted, and will probably only work for playback to the same (or a very similar) client that recorded it, and not for export. Shard-session records create version 1.1 FBS files that don't have this problem.Playback makes no attempt to handle client FramebufferUpdateRequests; it justs transmits a series of FramebufferUpdates exactly as they were recorded. This defect is most noticeable with clients that pan across a session larger than their window size; the exposed areas will probably remain undrawn by rfbproxy. Clients that switch pixel formats (i.e, xvncviewer) can also be affected by this; parts of the screen can remain drawn in a low-resolution format after the client has switched to a high-resolution format. Fix this by stopping the client from changing pixel formats. For xvncviewer try -autoselect=0 -fullcolor (version 4.1.1) or -noauto -depth 24 (version 3.3.7). If you intend to use the --loop or --cycle options when playing back an FBS 1.0 file, you cannot use the ZRLE encoding when recording. This is because the zlib state cannot be maintained. FBS 1.1 files do not use ZRLE at all. Suspending rfbproxy (or any script using it) when recording in shared session mode can freeze all sessions attached to the VNC server. Neither export nor FBS 1.1 playback work on colormap sessions (only true color is supported). Pixel formats larger than 32 bits are not supported. AUTHORSTim Waugh <twaugh@redhat.com>Brent Baccala <baccala@freesoft.org> SEE ALSOvncviewer(1), vncserver(1), Xvnc(1), ppm(5), mjpegtools(1), ffmpeg(1).
Visit the GSP FreeBSD Man Page Interface. |