Overview of PVRCarbon

PVRCarbon can be broken down into three main components:

  • GUI

  • Recorder

  • Player


The GUI is the main component of PVRCarbon. It is used for opening, analysing, and processing PVRCarbon recordings.

Recordings can be taken using the Recorder component or directly in the GUI using the remote recorder. The remote recorder can be accessed by selecting 'Capture' from the starting screen when first opening PVRCarbon.

The IP address of the device is required to connect.

-Note:- If using an Android device, remember to connect via adb before attempting to find the device in the remote recorder.

Recordings are stored as .pvrcbn files.

Once a PVRCarbon recording has been loaded, the GUI allows the recording to be analysed in various ways including:

  • Viewing all of the API calls which occurred during the recording;

  • Performing static analysis on the captured API calls;

  • Exporting the recording as C++ source code;

  • Playing back the API calls to render a frame;

  • Individual frame analysis.

Currently, the GUI is available for Windows, macOS, and Linux.


The PVRCarbon Recorder is a set of libraries that are used to intercept the API calls made by an application before forwarding them on to the graphics drivers. These libraries allow calls to be saved out to a PVRCarbon file (.pvrcbn) or streamed over the network to the GUI.

While the Recorder libraries can be used manually on all platforms to take recordings, the PVRCarbon GUI contains the libraries for Android, so that it can deploy them automatically during remote recording sessions.

The Recorder libraries are available for Android, Windows, and Linux.


The PVRCarbon Player is a component used to play back a PVRCarbon recording. It replicates the sequence of API calls that were captured during the recording as closely as possible.

While the GUI contains its own internal Player, it can also connect to a stand-alone instance that is running remotely, such as on a connected phone or tablet. Alternatively, a stand-alone Player can play back a recording from a PVRCarbon file (.pvrcbn) directly, without the need for the GUI.

The stand-alone Player is available for Android, Windows, and Linux.