SHA256
54 lines
1.4 KiB
Markdown
54 lines
1.4 KiB
Markdown
# Getting Started
|
|
|
|
## Prerequisites
|
|
|
|
- A **Rust toolchain** (`cargo`, `rustc`).
|
|
- **`ffmpeg` / `ffprobe`** on `PATH` — video decode shells out to the CLI and
|
|
pipes raw frames; no native FFmpeg bindings or dev headers are needed.
|
|
- A GPU with a **WebGPU backend** — Vulkan (Linux/Windows), Metal (macOS),
|
|
DX12 (Windows), or WebGPU/wasm. On Linux, RADV (Mesa) or AMDVLK works.
|
|
- For the **masks** stage: an **ONNX** export of a YOLO segmentation model
|
|
(e.g. `yolo11x-seg.onnx`). The `.pt` is not loadable in Rust:
|
|
|
|
```bash
|
|
yolo export model=yolo11x-seg.pt format=onnx imgsz=1280 dynamic=True
|
|
```
|
|
|
|
## Build
|
|
|
|
Masks are enabled by default, so a plain build is the full pipeline:
|
|
|
|
```bash
|
|
cargo build
|
|
```
|
|
|
|
Lighter build without ONNX Runtime (no masks stage):
|
|
|
|
```bash
|
|
cargo build --no-default-features
|
|
```
|
|
|
|
Build with the native GUI:
|
|
|
|
```bash
|
|
cargo build --features gui
|
|
```
|
|
|
|
## First run (sanity check)
|
|
|
|
```bash
|
|
cargo run -- rig --self-test # 6 check groups; should pass
|
|
```
|
|
|
|
## First real run
|
|
|
|
```bash
|
|
cargo run -- all --project-dir out --video day1.mp4 \
|
|
--mask-model yolo11x-seg.onnx --mask-device rocm --mask-imgsz 1280
|
|
```
|
|
|
|
- `--mask-device rocm` runs YOLO on an AMD GPU (see [GPU](GPU.md)); use `cpu`
|
|
if you don't have the ROCm/MIGraphX runtime.
|
|
- The first GPU masks run compiles the model (slow); later runs are fast (see
|
|
the cache note in [GPU](GPU.md)).
|