MoCapSTR v1.4.0 — Hardware-Synchronized Multi-Camera Recording for FreeMoCap
Welcome to the initial public release of MoCapSTR!
MoCapSTR is an open-source recording client engineered specifically to capture frame-accurate, hardware-synchronized multi-camera datasets on Windows for FreeMoCap.
⚡ Highlights & Key Features
- Arduino Hardware Synchronization: Triggers Innomaker OV9281 global-shutter USB cameras synchronously via an Arduino
FSINsquare-wave pulse. Includes automatic fallback to free-run mode if disconnected. - Zero-Copy PyAV Recording Backend: Writes incoming raw MJPEG camera streams straight to disk via FFmpeg/PyAV without CPU decoding overhead, minimizing frame drops even with high camera counts.
- Blackmagic SDI Support: Full Genlock/SDI capture card support via Blackmagic Desktop Video drivers.
- Live Multi-Cam Preview & Charuco Overlay: Real-time multi-view grid with per-camera rotation (0°, 90°, 180°, 270°) and live
cv2.arucoCharuco board detection overlay for instant calibration checks. - One-Click FreeMoCap Integration: Built-in offline batch converter (raw
.avito H.264.mp4) and one-click transfer to~/freemocap_data/recording_sessions/. - Complete 3D Printing & Enclosure Guide: Includes FreeCAD source models, ready-to-print STLs, fastener BOMs, and step-by-step photo assembly guides for camera cases, trigger boxes, and XLR splitter boxes.
⚠️ Important Hardware Requirements & USB Bandwidth
Because hardware-triggered cameras expose and transmit raw video packets at the exact same microsecond, simultaneous bandwidth spikes occur on the USB bus:
- Motherboard Limit: Standard onboard PC USB controllers typically handle up to 3 cameras reliably in trigger mode.
- Recommended Setup for 4+ Cameras: We strongly recommend installing a PCIe USB expansion card with dedicated controller chips per port (e.g. 4 separate USB controller chips) to prevent dropped frames.
- USB Polling: Set
USB Pollingin the Setup tab 1 step higher than your target FPS (e.g. Target 30 FPS -> USB Polling 60 FPS).
📦 Installation & Download
- Windows Standalone Executable: Download the attached
MoCapSTR.exebelow, place it in a folder of your choice, and run it directly. No Python installation required! - Source Code: Clone the repository and run
pip install -r requirements.txtfollowed bypython python/main.py.
🤝 Community & Bug Reports
This project is in active beta development. If you encounter bugs, hardware quirks, or have ideas, please open an Issue on GitHub!