UniFi Protect Video Downloader

Node service that listens for UniFi Protect motion events and exports recordings to disk.

  • UniFi
  • TypeScript
  • Docker

View on GitHub (UniFi Protect Video Downloader) · MIT

This service connects to a UniFi NVR running UniFi OS (tested on Cloud Key Gen2+ and UDM SE; intended to work on similar devices). When a camera reports motion, it waits for the matching end event, then requests an export from Protect and writes the clip under a configurable directory tree (by camera name and date).

Highlights

  • Event-driven — Subscribes to real-time motion events from the NVR.
  • Configurable — Host, credentials, optional MQTT availability, camera include/exclude lists, download path, and preference for smart vs. optical motion where supported.
  • Deployment — Run with Node (npm run build / npm start) or Docker with env-based configuration.

See also

← All projects