BVHplay - a free, open-source BVH animation player

This is the home page for BVHplay, a free, lightweight, Python-based, multi-OS, open-source playback utility for BVH animation files.

To get BVHplay, you can go directly to the DOWNLOAD PAGE.
You might also want to read the BVHplay FAQ.

Here's a screenshot of BVHplay in action:

Below is the September 2008 announcement about the v1.00 release of BVHplay:


Announcing: BVHplay, a free, lightweight, open-source BVH animation player.

I've just finished working out the bugs (or at least, the obvious bugs) from this program and decided to make it available for free. I've prepackaged it into some ready-to-run versions as much as possible.

Where to get it:  or

Presently (mid-September, 2008) I have a Windows 32-bit prebuilt version, a Linux/Intel 64-bit built version, and a source code archive posted.

A README file is included with each distribution that tells you how to install and run BVHplay.

Features and facts about BVHplay:

- Plays any BVH file that conforms to the basic BVH file format.  It
  doesn't matter what skeleton is represented by the file, BVHplay
  should be able to play it.

- Resizable view window.  Some BVH players force you to display the
  playback in a small or fixed-size window.  BVHplay doesn't do this -
  you can make the animation view window as large as your screen if you
  want to.

- Mouseless "asdw"-style camera control which people will either love
  or hate.  You can control the view camera with just one hand.  Modeled
  after video game left-right-forward-back first-person keyboard

- Four degrees-of-freedom camera control allows you to position the
  camera pretty much any where you want to watch the BVH animation.
  You can also move the camera during the animation playback if you

- Provides the usual transport control buttons that you'd expect to
  see in an animation program: play, stop, step forward, step back, go
  to start, go to end.

- Optional grid display, XYZ axis display at world origin, and camera
  position display.

- Built-in help.  If you forget the keyboard commands, just bring up
  the help screen and they're in there.

- Doesn't use OpenGL.  This means no video card driver issues, and
  keeps the source code simple

- Written entirely in Python.  Should be (very) easy to port between

- The GUI is coded using Python's Tkinter GUI library.  This means
  that the 3D perspective functionality is "faked" using Tkinter's
  2D-only canvas functionality.  So BVHplay is a good example of how
  to do simple animation in Python.


- BVHplay only plays back BVH -- it's not a BVH file or animation editor.
  There is no "save" option because there's nothing to save.

- True realtime playback not supported for animation sequences faster
  than 30fps.  Most BVH files are 30fps (or even 24fps), however some
  are 60fps or even 120fps.  BVHplay can still play those files, it
  just won't play the animation back in realtime -- it will be a bit

- Doesn't provide full 6 degrees-of-freedom camera control.  Camera
  tilt left/right and camera tilt forward/back aren't supported.
  However, I have yet to encounter a BVH file that actually needed the
  ability to tilt the camera like this.