Analysis updated 2026-05-18
Install it as a Home Assistant add-on to review footage from multiple security cameras in one place.
Run it standalone on a home server to browse CCTV recordings stored on local disk or network shares.
Deploy it in Docker with recordings mounted read-only to keep original files untouched.
| robertoamd90/cctv-timeline-viewer | 0-bingwu-0/live-interpreter | 010zx00x1/faresnipe | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | ops devops | general | general |
Figures from each repo's GitHub metadata at analysis time.
Standalone mode has no built-in authentication, so it should run on a trusted network or behind a reverse proxy.
CCTV Timeline Viewer lets you browse recordings from several security cameras on one shared, synchronized timeline. It works with recordings that already exist as files on your computer or network storage, and it does not depend on any particular camera brand. You can play back multiple cameras at once, navigate by day, zoom in on the timeline, and arrange the camera layout however you like. The interface is available in English and Italian. The tool is read only: it never changes or deletes your original recording files. It reads recordings from folders organized by date, such as a year, month, and day structure, and keeps a local index so it can find footage quickly even in large archives stored locally or over SMB and NFS network shares. There are three ways to run it. The easiest is as a Home Assistant add on, installed by adding the GitHub repository as a source in the Home Assistant app store, then configuring each camera to point at a folder under Home Assistant's media directory. A separate beta add on is available for testing upcoming releases without disturbing the stable version. For people who do not use Home Assistant, it can run standalone with Python 3.11 and ffmpeg, started as a small web server you open in a browser, though this mode has no login screen and should stay on a trusted network. It can also run in Docker, mounting your recordings folder as read only. Administrators can rebuild the search index at any time without losing camera settings or the original files, and can set a time offset per camera if a recording's file name does not match exactly when the footage actually starts. Supported video formats include MP4, AVI, MKV, MOV, TS, H264, H265, and DAV, with H.264 video in MP4 or MOV recommended for the best browser compatibility. Under the hood, the project has a FastAPI backend with a SQLite index and a plain JavaScript frontend, built and published as a multi-architecture container image through GitHub Actions. It is licensed under the GNU General Public License version 3 or later.
A read-only, vendor-independent viewer that lets you browse and sync recordings from multiple CCTV cameras on one shared timeline.
Mainly Python. The stack also includes Python, FastAPI, SQLite.
You can use, modify, and share the code, but any modified version you distribute must also be released under the same GPL license with source code available.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.