# homebridge-camera-ui puts RTSP cameras into HomeKit with a web UI

> homebridge-camera-ui is a Homebridge plugin that bundles the camera.ui NVR and exposes RTSP cameras to HomeKit, with motion detection, AWS Rekognition labelling, a PWA interface and HomeKit Secure Video support. The trade is that the plugin installs a whole application on the bridge, and the last npm release is from 2022 even though the code has moved on since.

**seydx/homebridge-camera-ui** — Homebridge plugin for RTSP Cameras with HSV, motion detection support, Image Rekognition, Web UI to manage/watch streams and WebApp support

- Repository: https://github.com/seydx/homebridge-camera-ui
- Stars: 708 · Forks: 97
- Language: JavaScript
- License: MIT
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/seydx-homebridge-camera-ui

## The plugin installs the NVR for you

The problem is that HomeKit has no notion of an RTSP camera, and a bridge that exposes one camera has to do a lot of work that a native HomeKit accessory does not. homebridge-camera-ui solves it by bundling camera.ui, the NVR-like PWA the author also maintains, and exposing its cameras to HomeKit through Homebridge. The key practical point is in the README: camera.ui does not need to be installed separately, it is installed right away with homebridge-camera-ui. The plugin is published on npm as homebridge-camera-ui, it carries the verified by Homebridge badge, and the repository carries a Discord invite and a demo video link. It requires Node 14.18.2 or newer and Homebridge 1.4.0 or newer, and it depends on camera.ui at 1.1.17, ffmpeg-for-homebridge for the video work, and pick-port for the port selection.

## The interface is a PWA with motion history, not a settings page

What the plugin adds on top of plain HomeKit exposure is the whole camera.ui application, and the README lists what that gives you. Live streams on the web, a Camview that is a resizable, drag and drop camera overview, and a web application with almost full PWA support including push notifications. There is motion detection via video analysis with MQTT, FTP, SMTP or HTTP as the trigger source, and image Rekognition through AWS Rekognition. Notifications can go out through Alexa, Telegram, Webhook and WebPush, and snapshots and video can be saved locally when motion is detected, with prebuffering that shows the seconds before the movement event. The interface itself has eight colour themes and a dark mode. HomeKit Secure Video is supported, along with Config UI X for configuration from the Homebridge admin UI, and the supported languages are German, English, Dutch, French, Thai and Spanish.

## The install is a global npm command, run with sudo

Installation is one command, and it is a global install with sudo, which is worth pausing on before running it:@@C1@@```bash
sudo npm install -g homebridge-camera-ui@latest
```The reason for the global install is that the plugin has to run as a long lived process alongside Homebridge and serve its own web interface, so it is not installed as a local dependency of your Homebridge project. After installation, camera.ui installs itself in the homebridge directory under /var/lib/homebridge/camera.ui/, and that folder holds the database, the recordings and a copy of the camera.ui config.json. The README says those are stored locally and never accessible to others, and that the settings can be changed directly through the interface or over homebridge-config-ui-x. There is also a config.schema.json at the root of the repository, which is what lets a configuration editor validate the settings.

## Port 8081 and the default master credentials

Once installed and configured, the interface is reachable at http://localhost:8081, and the default username is master with the default password master. The README is clear that this is only a starting point, because camera.ui asks you to change the username and password the first time you log in. The port is also configurable, and the minimal example configuration in the README shows the platform block with the platform name, the name, the port and a cameras array:```json
    "platforms": [
        {
            "platform": "CameraUI",
            "name": "CameraUI",
            "port": 8081,
            "cameras": [ ... ]
        }
    ]
}
```A full config.json is pointed at in the repository as example-config.json, and that file is where the real work sits, because every camera, motion rule, notification target and Rekognition setting is declared there rather than in the UI.

## Motion detection has four trigger sources and Rekognition labels what it saw

The motion pipeline is the part with real engineering in it, and the README separates the trigger from the analysis. The trigger can be video analysis of the stream itself, or an external signal arriving over HTTP, MQTT, SMTP or FTP, which matters because an RTSP camera that cannot do its own motion detection still works if something else can raise the event. The analysis side is image Rekognition through AWS Rekognition, and the effect shows up in the recordings list, where the label for the recording is displayed along with the date and time when AWS Rekognition is used. That label is the point of Rekognition here: it turns a movement event into a described event, so a recording of a person at the front door is distinguishable from a recording of a car in the street, and the notifications and recordings views can both be filtered.

## The interface and the plugin are separate codebases in one package

The repository layout explains how the project is put together and why the build script looks the way it does. There is a homebridge-ui/ directory holding the front end, a src/ directory and a services/ directory for the plugin side, an index.js entry point, an example-config.json, a config.schema.json and an images/ directory for the README screenshots. The package.json build script is a single line that delegates into the front end directory, and the watch and lint scripts do the same, so the two halves are developed and linted independently. The front end is a separate published artifact, the homebridge-ui package, and the plugin depends on it rather than embedding it. That separation is why a plugin release and a UI release can move at different speeds, and it is also the thing to watch when you upgrade, since a plugin update can pull a newer UI with it.

## The npm release line is old and the code has moved

Two date facts sit next to each other and a reader should not confuse them. The recent releases listed for the repository are 5.0.27, 5.0.26 and 5.0.25, all from 2022-04-24, and the package.json version is 5.0.27, so the published npm line has not moved in a long time. The last push to the repository was on 2026-06-04, so the source tree is being worked on well past that. At the top of the README there is a notice that a new version of camera.ui is currently under active development, with an initial alpha and beta release and previews coming soon, and a link to the tracking issue. The repository is MIT licensed. The practical advice is to read the changelog and the linked issue before assuming the npm tag reflects the current state of the tree, and to expect a rename or a version jump when the new version lands.

## Conclusion

homebridge-camera-ui suits a Homebridge user with RTSP cameras who wants them in HomeKit and wants a browser interface and motion event history alongside, and who is prepared to give the bridge a few gigabytes of disk for recordings. It does not suit someone who wants a lightweight HomeKit bridge, since the plugin installs a database, a web UI and a video pipeline under the homebridge directory. Before adopting, read the config schema in the repository and change the default master credentials, confirm your camera model appears in the supported list, and note that the last push to the repository was on 2026-06-04 while the newest npm release is 5.0.27 from 2022-04-24.

## FAQ

### How do I install homebridge-camera-ui?

Run `sudo npm install -g homebridge-camera-ui@latest`. camera.ui does not need to be installed separately, it is installed right away with the plugin, under the homebridge directory at /var/lib/homebridge/camera.ui/, where the database, the recordings and a copy of the config are stored.

### What is the default login for the homebridge-camera-ui web interface?

The interface is reachable at http://localhost:8081 and the default username is master with the default password master. On first login camera.ui asks you to change both. The port is configurable through the platform block in the Homebridge config.

### Which motion detection triggers does homebridge-camera-ui support?

Motion detection works via video analysis of the stream, and the event can also be raised externally over HTTP, MQTT, SMTP or FTP. On the analysis side, image Rekognition through AWS Rekognition labels recordings, and the label is shown in the recordings list alongside the date and time.

### Does homebridge-camera-ui support HomeKit Secure Video?

Yes, HSV support is listed among the features, and there is a section on what you need for HomeKit Secure Video. Config UI X support is also listed, so the plugin can be configured from the Homebridge admin interface rather than by editing config.json by hand.

### What does homebridge-camera-ui require to run?

Node 14.18.2 or newer and Homebridge 1.4.0 or newer. The package depends on camera.ui at 1.1.17, ffmpeg-for-homebridge, fs-extra, pick-port and the Homebridge plugin UI utilities. The latest published npm version is 5.0.27 from 2022-04-24, while the repository itself was last updated on 2026-06-04.

## Sources

- [Issues](https://github.com/seydx/homebridge-camera-ui/issues)
- [License: MIT](https://github.com/seydx/homebridge-camera-ui/blob/master/LICENSE)
- [README](https://github.com/seydx/homebridge-camera-ui/blob/master/README.md)
- [Releases](https://github.com/seydx/homebridge-camera-ui/releases)
- [seydx/homebridge-camera-ui on GitHub](https://github.com/seydx/homebridge-camera-ui)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/seydx-homebridge-camera-ui
