FreeMoCap is a completely free and open-source multi-camera video-to-mocap application. Multi-camera means exactly what it sounds like: you shoot the same action from two or more cameras at the same time. That makes setup more demanding than a single-camera app like QuickMagic, but the payoff is real. The quality can rival suits and optical systems costing thousands or even millions.
This article is part of a series on video-to-mocap solutions. If you want to compare everything at once, the full list lives at addons.cgdive.com under Mocap & Retargeting → AI Video to Mocap. Every tool I've actually tested has an article attached, usually with a video from me or someone else.
Installing FreeMoCap
FreeMoCap isn't the most user-friendly tool out there, but it has come a long way.
Go to freemocap.org and click Try FreeMoCap, then click Download, and grab the build for your system. I use the Windows .exe.
Drop the .exe anywhere on your drive and double-click it. The first launch downloads and installs a bunch of things before the UI appears. After that, you just double-click the same file again and it starts straight up.
You'll also need Blender installed, since FreeMoCap hands the results off to it.
Run a single-camera test first
The results from a single-camera test are basically useless but please do it anyway. It's the fastest way to confirm the whole pipeline works before you invest time in a real shoot.
In the UI, go to Cameras → Detect available cameras. A console window will pop up showing the processes FreeMoCap is running — you can ignore it for the most part.
If you have several cameras connected, FreeMoCap will find all of them, but for this test you want one. Disable the rest and hit Apply settings to camera.
Now start the motion capture recording and move around, then stop the recording. After a moment, FreeMoCap processes the data and launches Blender.
You'll see a skeleton roughly imitating your movement. It won't be usable because FreeMoCap simply isn't built for one camera. But getting this far confirms everything is wired up correctly.
If something breaks…
Join the FreeMoCap Discord and post in help requests. If the install failed or Blender never launched, they'll likely ask you to paste some of the console output, and they'll figure it out from there. They've bailed me out a couple of times already.
Live cameras or pre-recorded video?
For a real multi-camera capture you've got two paths:
- record live with several cameras plugged into your computer,
- import pre-recorded footage.
Live recording was too much for me. I'd need three or more cameras running long cables back to my PC, positioned several meters apart.
I do, however, have a pile of phones lying around, and I can put those anywhere I like. The tradeoff is that I then have to pull the footage off each phone and sync it by hand. Still the better option for my setup.
Whicever approach you choose, you’ll have to run a calibration using a printed ChArUco board (downloadable from the FreeMoCap site). More about that in a bit.
Everything below uses pre-recorded videos, but the steps for live recording are nearly identical.
Shooting tips
Lock your cameras down. They must not move at all during the shoot.
Clap your hands at the start. That spike in the waveform makes syncing the clips easier later.
And here's the tip you won't find anywhere else: before you do the main camera calibration, lay the ChArUco board flat on the ground where every camera can see it and leave it there for 3–4 seconds. Include that in your calibration footage. It helps FreeMoCap work out where the floor is, and it can meaningfully improve your final result.
Then run the calibration itself by "painting" the camera views with the board, making sure at least two cameras can see it clearly at any given moment. This is how FreeMoCap works out where each camera sits relative to the others, and it's essential to getting a proper capture.
Now, without touching the cameras, shoot the motion you actually want to capture.
Finally, bring everything into a video editor, sync the clips, and render them out one by one. With three cameras, I ended up with three calibration videos and three mocap videos.
One quirk to know about: your videos have to sit in a folder named synchronized videos. My structure looks like this:
calibration/
synchronized videos/
cam1.mp4, cam2.mp4, cam3.mp4
mocap/
synchronized videos/
cam1.mp4, cam2.mp4, cam3.mp4Running the calibration
Click Load recording, navigate to your calibration folder, and select the synchronized videos folder. The UI switches views automatically.
Go to the Process data tab and choose Calibrate from active recording. Select your board type and enter the square size. If you’re not sure, just count the squres on the board (e.g. 5x3) and measure the length of one square with a tape measure.
Hit Run calibration and let it crunch. My calibration video was fairly long, so this took a couple of minutes.
When it finishes, your calibration folder will contain some new subfolders and a .toml file. That file holds everything FreeMoCap needs to know about your camera positions.
Switch to Load calibration file, click Load TOML, and open the file you just generated.
Note that as long as your cameras stay exactly where they are, you need to run the callibration just this once. You can create an unlimited amount of mocap based on it! But if the cameras are offset even slightly, you’ll need to re-record and run the calibration again.
Processing the actual capture
Back on the Home tab, click Load recordings again. This time point at the synchronized videos folder inside your mocap folder.
FreeMoCap now knows where your cameras are. There are various options available, but the defaults are fine to start with. Press Process motion capture videos.
A couple of minutes later, Blender opens again, this time with a real capture.
The results
Blender will open with your source videos playing in the background and a skeleton performing my action.
Note about frame-rate. My footage was 30 fps, but Blender defaults to 24 and FreeMoCap doesn't switch it automatically, so everything played back slightly slow. Setting the scene to 30 fps fwill ixed that.
There may be artifacts. In my test from the video above: one leg flickers badly where it was occluded and there simply wasn't enough data. Another spot breaks down for reasons I can't explain, since there should have been plenty of coverage there.
But the good parts are genuinely good. The movement is stable and convincing.
Overall: not perfect, but very faithful to the source footage. With a better camera setup you should get high-quality mocap with very little drift, stable feet, and smooth motion. The setup is a bit involved, but it's completely doable. And as a free multi-camera solution, FreeMoCap is among the best available.
Baking the action into a usable armature
So what do you actually do with this skeleton?
That's Skelly, and it's only meant as a visualization. Enable overlays and you'll see it's driven by an ordinary Blender armature underneath.
To extract it:
- Enter Pose mode and select all bones.
- Go to Pose → Animation → Bake Action, enabling Visual Keying and Clear Constraints.
- Back in Object mode, press Ctrl+I to invert your selection, then delete everything except the armature.
You're left with a clean armature ready for your normal retargeting workflow.
Alternatives worth knowing about
Don’t forget you can compare various single-camera and multi-camera mocap solutions right here on this site.
Aside from FreeMocap, two multi-camera apps stand out:
Open Mocap Blender works with exactly two cameras positioned at roughly 90° from each other. It’s great because it needs no calibration! Just two cameras and you’re in business. A much simpler setup.
mimem AI supports many cameras (up to nine, I believe) with no calibration. Your clips don't even need to be perfectly in sync, mimem can figure sync them for you. It's the simplest and highest-quality option I've found, but it's paid, and depending on your budget it may be expensive.