Complete walkthrough for using the DeepLabCut-live-GUI application.
- Open a terminal/command prompt
- Run the application:
dlclivegui
- The main window will appear with three control panels and a video display area
┌─────────────────────────────────────────────────────┐
│ File Help │
├─────────────┬───────────────────────────────────────┤
│ Camera │ │
│ Settings │ │
│ │ │
│ ─────────── │ Video Display │
│ DLCLive │ │
│ Settings │ │
│ │ │
│ ─────────── │ │
│ Recording │ │
│ Settings │ │
│ │ │
│ ─────────── │ │
│ Bounding │ │
│ Box │ │
│ │ │
│ ─────────── │ │
│ [Preview] │ │
│ [Stop] │ │
└─────────────┴───────────────────────────────────────┘
│ Status: Ready │
└─────────────────────────────────────────────────────┘
The Backend dropdown shows available camera drivers:
| Backend | When to Use |
|---|---|
| opencv | Webcams, USB cameras (universal) |
| gentl | Industrial cameras (Windows/Linux) |
| aravis | GenICam/GigE cameras (Linux/macOS) |
| basler | Basler cameras specifically |
Note: Unavailable backends appear grayed out. Install required drivers to enable them.
- Click Refresh next to the camera dropdown
- Wait for camera detection (1-3 seconds)
- Select your camera from the dropdown
The list shows camera details:
0:DMK 37BUX287 (26320523)
│ │ └─ Serial Number
│ └─ Model Name
└─ Index
- Range: 1-240 FPS (hardware dependent)
- Recommendation: Start with 30 FPS, increase as needed
- Note: Higher FPS = more processing load
- Auto: Set to 0 (default)
- Manual: Microseconds (e.g., 10000 = 10ms)
- Tips:
- Shorter exposure = less motion blur
- Longer exposure = better low-light performance
- Typical range: 5,000-30,000 μs
- Auto: Set to 0.0 (default)
- Manual: 0.0-100.0
- Tips:
- Higher gain = brighter image but more noise
- Start low (5-10) and increase if needed
- Auto mode works well for most cases
Reduce frame size for faster processing:
- Set crop region: (x0, y0, x1, y1)
- x0, y0: Top-left corner
- x1, y1: Bottom-right corner
- Use Bounding Box visualization to preview
- Set all to 0 to disable cropping
Example: Crop to center 640x480 region of 1280x720 camera:
x0: 320
y0: 120
x1: 960
y1: 600
Select if camera is mounted at an angle:
- 0° (default)
- 90° (rotated right)
- 180° (upside down)
- 270° (rotated left)
- Click Start Preview
- Video feed should appear in the display area
- Check the Throughput metric below camera settings
- Verify frame rate matches expected value
Troubleshooting:
- No preview: Check camera connection and permissions
- Low FPS: Reduce resolution or increase exposure time
- Black screen: Check exposure settings
- Distorted image: Verify backend compatibility
- Exported DLCLive model (see DLC documentation)
- DeepLabCut-live installed (
pip install deeplabcut-live) - Camera preview running
- Click Browse next to "Model directory"
- Navigate to your exported DLCLive model folder
- Select the folder containing:
pose_cfg.yaml- Model weights (
.pb,.pth, etc.)
We only support newer, pytorch based models.
- PyTorch: PyTorch-based models (requires PyTorch)
Common options:
processor: "cpu" or "gpu"resize: Scale factor (0.5 = half size)pcutoff: Likelihood thresholdcropping: Crop before inference
If using custom pose processors:
- Click Browse next to "Processor folder" (or use default)
- Click Refresh to scan for processors
- Select processor from dropdown
- Processor will activate when inference starts
- Ensure camera preview is running
- Click Start pose inference
- Button changes to "Initializing DLCLive!" (blue)
- Wait for model loading (5-30 seconds)
- Button changes to "DLCLive running!" (green)
- Check Performance metrics
Performance Metrics:
150/152 frames | inference 42.1 fps | latency 23.5 ms (avg 24.1 ms) | queue 2 | dropped 2
- 150/152: Processed/Total frames
- inference 42.1 fps: Processing rate
- latency 23.5 ms: Current processing delay
- queue 2: Frames waiting
- dropped 2: Skipped frames (due to full queue)
Check "Display pose predictions" to overlay keypoints on video.
- Keypoints appear as green circles
- Updates in real-time with video
- Can be toggled during inference
-
Configure output path:
- Click Browse next to "Output directory"
- Select or create destination folder
-
Set filename:
- Enter base filename (e.g., "session_001")
- Extension added automatically based on container
-
Select format:
- Container: mp4 (recommended), avi, mov
- Codec:
h264_nvenc(NVIDIA GPU - fastest)libx264(CPU - universal)hevc_nvenc(NVIDIA H.265)
-
Set quality (CRF slider):
- 0-17: Very high quality, large files
- 18-23: High quality (recommended)
- 24-28: Medium quality, smaller files
- 29-51: Lower quality, smallest files
-
Start recording:
- Ensure camera preview is running
- Click Start recording
- Stop recording button becomes enabled
-
Monitor performance:
- Check "Performance" metrics
- Watch for dropped frames
- Verify write FPS matches camera FPS
Settings:
- Codec:
h264_nvenc(requires NVIDIA GPU) - CRF: 28 (higher compression)
- Crop region: Reduce frame size
- Close other applications
Settings:
- Codec:
libx264orh264_nvenc - CRF: 18-20
- Full resolution
- Sufficient disk space
Enable automatic recording triggered by processor events:
- Select a processor that supports auto-recording
- Enable: Check "Auto-record video on processor command"
- Start inference: Processor will control recording
- Session management: Files named by processor
- Explore Features Documentation for detailed capabilities
- Review Camera Backend Guide for advanced setup
- Check Processor System for custom processing
- See Aravis Backend for Linux industrial cameras