@sky-tracker/node
v0.1.6
Published
Node.js SDK wrapper for the Sky Tracker runtime.
Readme
@sky-tracker/node
Node.js SDK for Sky Tracker - C++ tracking core for fast-moving small objects.
Install
npm install @sky-tracker/nodeLicense
Set your license key before running:
# Windows
set SKY_TRACKER_LICENSE_KEY=SKT1.<your-token>
# Linux / macOS
export SKY_TRACKER_LICENSE_KEY=SKT1.<your-token>Quick Start
import { trackVideo, parseTrackCsv } from "@sky-tracker/node";
const run = await trackVideo({
source: "video.mp4",
bbox: [469, 409, 26, 38], // x, y, w, h
maxFrames: 120,
csv: "output.csv",
});
const rows = await parseTrackCsv(run.csv);
console.log(
`tracked ${rows.length} frames, avg ${run.metrics.averageFps.toFixed(1)} fps`,
);
for (const row of rows) {
console.log(
`frame ${row.frame}: (${row.center_x}, ${row.center_y}) state=${row.state}`,
);
}API
trackVideo(options)
| Option | Type | Description |
| ------------ | -------------- | ------------------------------------------ |
| source | string | Video path, stream URL, or camera ID |
| bbox | [x, y, w, h] | Initial target bounding box |
| maxFrames | number | Stop after N frames |
| csv | string | Output telemetry CSV path |
| profile | string | default, fast-sky, pi4-target |
| licenseKey | string | Override SKY_TRACKER_LICENSE_KEY env var |
parseTrackCsv(csvPath)
Returns all telemetry rows as an array. Each row contains:
frame, id, state, center_x, center_y, speed_px_s, bbox_x, bbox_y, bbox_w, bbox_h
readTrackCsv(csvPath)
Async generator for streaming large CSV files row by row.
