BVH Motion Capture Guide

Disclaimer: The BVH Motion Capture Guide is NOT owned by It is the the property of Integrate Systems Engineering. wishes to share this guide to its viewers in order to help Kinect enthusiasts to properly use the BVH Motion Capture software and benefit from it. The move to feature this guide on our growing website is to give due recognition to its makers. For more information about the Integrate Systems Engineering visit the group’s website.


User detection and skeleton tracking follows the standard OpenNI/NITE approach (note that the depth and colour images from the Kinect cameras are displayed in mirror):

  1. Stand in front of the Kinect and wait to be detected (user highlighted in blue in the depth image).
  2. Calibrate the skeleton tracking by standing in full view in the ‘psi’ pose. 
  3. Hold this position until calibration is completed (user highlighting will change to green with skeleton overlaid).

If multiple users are detected then the ‘primary’ user for whom data is captured will be the first one to complete calibration. If skeleton joints have low confidence measurements (for example when occluded) they are shown in red.

Calibrations can be saved to file using the ‘Save As’ button next to the ‘Skeleton Calibration Mode’ button.  This file can then be re-used to get faster start up. Clicking on the ‘Skeleton Calibration Mode’ button toggles between ‘New Calibration’ and calibration from an existing file. For the latter case, use the ‘Select User Calibration file’ button to select the file to be used, which will then be indicated on the mode button.

Controlling Capture

Once the skeleton is being tracked the capture can be started and stopped in several ways. These are selected using the ‘Capture Start Mode’ and ‘Capture Stop Mode’ dropdown menus.

  • Start Manual.  Use the spacebar to start recording, or the record button to the left of the toolstrip.
  • Start AutoOnPose.  Recording will start automatically when the ‘psi’ pose is detected (either as a new calbration or calibration from file).
  • Start AutoOndetection.  When using calibration from an existing file recording will start as soon as a user is detected without the need for the ‘psi’ pose.
  • Stop Manual.  Use the spacebar or click on the stop button to the left of the toolstrip to stop recording.
  • Stop Auto.  Recording will be stopped automatically when the user leaves the scene.

Two files are created when capture is stopped: the BVH file ‘kinect_mocap.bvh’ and a raw data file ‘kinect_mocap.txt’. These will be overwritten next time capture is started, so use the data Save As button to create copies of them both.


Replay mode allows a raw data file to be run through again to review the capture before importing into an animation package. This will regenerate a new BVH file as well (this was useful during development to tune the joint angle calculations without having to recapture).

Clicking on the data file open button opens a dialog for selecting the raw data file to be replayed, and the Play/Pause/Stop buttons to the left of the toolstrip control replay.


The buttons on the right of the toolstrip are used to set various application settings.

  • Output Directory.  Clicking on the Folder button opens a dialog for setting the folder to be used for output. The currently selected location is shown on the status bar at the bottom.
  • Image update.  The Settings drop down menu allows the Colour or Depth image updates to be disabled. This will help improve performance if the processor is unable to keep up with the maximum 30fps frame rate.