CamReview
A private, local CLI for finding and reviewing motion in existing security-camera recordings.
Key Features • Installation • Usage • Documentation • Support • Contributing • License
CamReview retrospectively scans timestamped MKV, MP4, MOV, and AVI files, groups motion into events, and writes portable JSON, CSV, and text reports. Classification and clip extraction are opt-in. It is not an NVR, service, scheduler, web application, or database.
Footage and decoded frames remain on the local machine. CamReview has no telemetry and uses no cloud API; Ultralytics may download a model only when classification is requested and the configured model is not already cached.
Key Features
- Preserves motion continuity across short recording files without loading a day into memory.
- Uses filename wall-clock times and presentation timestamps to build an accurate timeline.
- Supports local disks, Windows mapped drives and UNC paths, and mounted SMB/CIFS shares.
- Produces atomic, deterministic JSON, CSV, and text reports with gaps and processing issues.
- Optionally classifies moving COCO objects with Ultralytics YOLO on CPU or NVIDIA CUDA.
- Copies source recordings or creates event-sized clips with FFmpeg without changing originals.
- Offers CPU-first decoding plus tested automatic or explicit hardware-decoder selection.
Installation
Python 3.11 or newer is required:
python -m pip install camreview
Activate the environment using the command for your shell. FFmpeg is additionally required for event-sized extraction. See Installation for platform-specific steps, optional classification dependencies, and verification.
Usage
Recordings must use <camera>_YYYY-MM-DD_HH-MM-SS.<ext> filenames. Inspect a directory,
then scan one camera-day:
camreview inspect /path/to/recordings
camreview scan /path/to/recordings --time all
The current directory receives canonical CAMERA_DATE_motion.json plus CSV and text
reports. Start with Getting started for a complete first run.
Documentation
Full documentation lives in docs/:
Getting started · Installation · Usage · Command reference · Configuration · Architecture · Report schema · Automation · Troubleshooting
Support
File an issue.
Contributing
Contributions welcome. See the org-wide Contributing Guide and Code of Conduct.
License
MIT — see LICENSE.md.
Release files for camreview 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| camreview-1.0.0.tar.gz | 88.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| camreview-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:133.8 kB
Release files / camreview-1.0.0.tar.gz
| Download URL | camreview-1.0.0.tar.gz |
|---|---|
| Size | 88.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fcb38aa0151e1d3254e306c404459f3e04a12b937f605d017a24eda6911e8199
|
|
BLAKE2b-256 checksum How to use checksums |
52991090cafdb0061d4fc1d642c94b6d24376fd83ff3c0fc5ae8e6a0b7cf6212
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / camreview-1.0.0-py3-none-any.whl
| Download URL | camreview-1.0.0-py3-none-any.whl |
|---|---|
| Size | 45.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
86ca4fd5ef23914041b3805bdce830d843e1a14fbc8f652713de18ad9fbfb805
|
|
BLAKE2b-256 checksum How to use checksums |
97a4e3bfe97e58ae49525363e73796e9367b34ae8715f45f76b14ef60e21e76b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency log