Skip to main content

3.11 – Session Recording and Playback

Spark View can record your session in RDP stream format (.rdpv) and play it anywhere. This format has smallest size and best quality in the world.

You need to configure following 3 properties in gateway.conf:

#session recording, 1 means recording graphic only, no sound. 3 means recording graphic and sound.
recording = 1

#parent directory for session recording
recdir = C:\\apps\\share

#warn user about recording
recwarning = true;

Recording, playback is also supported in VNC, SSH, TELNET sessions.

You can also record session on client side (use recording=on parameter).

Since 4.8.8, Spark View supports seamless session shadowing: no need to reconnect (to rest the client status) when user is joining. The seamless joining may take more time if network is slow. You can go back to the old way by setting resetOnJoin=true in gateway.conf

The player.html can play local recording, and playeremote.html can play a file on the gateway (server side).

Converting recording to MP4:

Download the tool:

Convert a recording file to mp4 in command line:

java -jar converter.jar -s record.rdpv //convert record.rdpv to record.mp4
java -jar converter.jar -s record.rdpv -d new.mp4 //convert record.rdpv to new.mp4
java -jar converter.jar -h //help

Use the jar file as a library:

import com.toremote.record.converter.VedioConverter;

* @param sourcePath source path of a .rdpv type video file
* @param destinationPath OPTIONAL destination path of the converted .mp4 format video file
* @param acceleration OPTIONAL integer bwtween 0 and 10. The acceleration of the speed up effect
* @param fps OPTIONAL frames per second, default is 25.
* @param imgInterval OPTIONAL the interval in seconds of persisting snapshot pictures, default is 10 seconds.
* @param convertType convert type, 0: default, convert to .mp4 video only; 1: convert to png image files only; 2: convert to both png image files and .mp4 video.

VideoConverter converter = new VideoConverter(srcPath, destPath, speed, timeRational,
imgInterval, convertType);