Frigate-Timelapse Add-on App

Sorry in advance if I posting this to the wrong place.

I've built a Home Assistant add-on that generates timelapse videos directly from Frigate NVR recordings, and I wanted to share it with the community.

What it does

Frigate removed timelapse from its UI back in v0.14, leaving it API-only and difficult to use. This add-on fills that gap with a proper browser-based UI that lets you visually select a time range and render an MP4 timelapse from your recorded footage.

Features

  • Visual timeline scrubber populated with real thumbnails from your recordings
  • Drag handles to set start/end range, or double-click any hour to snap to it
  • Direct time entry fields for precise control
  • Start and end frame previews with timestamp watermarks so you know exactly what you're rendering
  • Speed multiplier from 5× to 1200×
  • Quality/Balanced/Speed encode options
  • Watermark overlay (camera name + timestamp, configurable position and size)
  • Multithreaded rendering using all available CPU cores
  • Output saves to /media/frigate/timelapses/ — appears automatically in HA Media Browser
  • Direct browser download
  • Background indexing of recordings at startup with incremental filesystem watching

Installation

Add this custom repository in the HA Add-on Store (Settings → Add-ons → Add-on Store → ⋮ → Repositories):

https://github.com/paulforrester/frigate-timelapse

Requirements

  • Frigate NVR running as an HA add-on
  • Continuous recording enabled on the cameras you want to timelapse (continuous: days: N in your Frigate config) — motion-only recording works but will produce timelapses with gaps during quiet periods

Roadmap

  • Multi-day time range selection
  • Multi-camera grid view (2-up, 4-up, 8-up) for cross-camera context — think watching your front door, driveway, and backyard simultaneously across the same time window

Screenshot

Source

Feedback, bug reports, and PRs welcome. This was built with Claude Code and has been running on my own setup for the past few days — it's working well but treat it as early-stage software.

This is in your repo, it doesn't work...
This is a custom add-on repository. To install:

  1. In HA, go to Settings → Add-ons → Add-on Store → ⋮ → Repositories

I like this, any future plans to make this a card? I like the timeline scrubber idea.

Liking the idea of this. I run Frigate in a dedicated LXC outside of HA, so the ability to point to an external Frigate instance would be really great. Following to see progress. Thanks for your work so far!

Thanks for the quick feedback @Sir_Goodenough — you're right, the installation instructions in the original post were out of date. They've been updated in the repo and the README now reflects the correct process.

Please refer to the updated README.md file for update date installation instructions.

Best of luck in getting it up and running in your environment.

There's really nothing HA specific about this except for the installer. When I was bringing up the code, I was packaging as a standalone container and then mapping through the a subset of media for testing. It would not be difficult for you to fork the project and add a standalone installer

I'm not a dev, but I think what I'm hearing you say is that it may be possible to stand up a docker container alongside my Frigate instance and run it there, as opposed to running as an HA app? If so.... anyone able to make that happen?

Hi Terryhonn. I've created a standalone docker version in the same repo. Full instructions for installation are in the README.md in the repo. This is from the readme.

Standalone Docker Deployment

Run Frigate Timelapse as a plain Docker container — no Home Assistant required. Frigate
can be running anywhere (bare Docker, another host, etc.) as long as you can mount its
recordings directory.

Prerequisites

  • Docker and Docker Compose installed on the host
  • Frigate NVR running with recordings enabled and accessible from this host

Find your Frigate recordings path

Setup Typical path
Home Assistant OS /media/frigate/recordings
Some HA configurations /config/media/frigate/recordings
Bare Docker (Frigate) Wherever you mapped Frigate's /media/frigate/recordings volume

Steps

  1. Get the compose file — either clone the repo or download just the file:

    curl -O https://raw.githubusercontent.com/paulforrester/frigate-timelapse/main/docker-compose.yml
    
  2. Create the output directory (if it doesn't exist yet):

    mkdir -p /path/to/frigate/media/timelapses
    
  3. Edit docker-compose.yml — update the two volume paths and the timezone:

    volumes:
      - /actual/path/to/frigate/recordings:/recordings:ro   # ← your recordings path
      - /actual/path/to/frigate/timelapses:/output:rw       # ← where timelapses are saved
    environment:
      - TZ=America/Los_Angeles   # ← your camera timezone (IANA name)
    
  4. Start the container:

    docker compose up -d
    
  5. Open the UI at http://<host-ip>:8088

Updating

docker compose pull && docker compose up -d

Let me know how it works for you

Works perfectly, easy instructions. I'll play with it for a couple of days and let you know what I see. Thanks so much for this!

Thank you for this amazing project! I would like to submit a feature request.

Currently, creating a timelapse requires enabling continuous video recording. For users who only want a timelapse and do not need full 24/7 video archives, it would be great to have the ability to generate a timelapse from periodic snapshots.

Frigate already has a built-in API function to get the latest frame:
https://docs.frigate.video/integrations/api/latest-frame-camera-name-latest-extension-get

If Frigate could automatically save these snapshots at a configurable interval (e.g., every 5 minutes), we could compile a timelapse from them, which would take up significantly less disk space.

I’m traveling right now. I’ll look into this when I get back home next week.

For me, I ended up tuning my cameras to do full video recording and then just purge all but events after two days. It still requires a lot of storage if you have a lot of cameras. Your solution would be a worthwhile addition.

Great idea about using snapshots instead of continuous recordings. I’ll investigate that for a future update.