Movement.js is open-source library created with HTML5 and JavaScript. It implements basic algorithms for movement recognition. Here is a list of the actions which are recognizable with movement.js:

How to use

The easiest way for start using movement.js is to clone it's github repository and put the directory in path which is accessible through your webserver. After that open the basic demo page. For running the demo successfully you need to use browser which supports getUserMedia. After you allow to the browser to use your webcam you have to make sure that you're not in front of your camera. For using movement.js you need to find proper background which will allow the library to recognize your movements with biggest precision. My recommendations are to use as lighter background as possible and dark clothes. After the background is being captured make sure that it's color is black (like in the pictures above) if it's not refresh and try again. When you move in front of your camera your figure should be colored white. You can try whether the demo works properly by squating in front of the camera. If your squats are counted properly you've run the demo successfully.

If you wish to use movement.js in your project you can use and initialize it by calling: Movement.init(callbacks);. The callbacks parameter is an object with two methods: movementChanged and positionChanged. Both methods accepts a single argument - the new position/movement. You can find all positions/movements at: Movement.positions and Movement.movements. If you need further help you can find me at twitter.