All topics

Camera Feeds

A drawer device already has a camera. Point it at the front door, the garage or the aquarium, and NAS Reborn serves what it sees as a live video stream any web browser can watch, with nothing installed at the other end.

Adding a feed

On the Content tab, choose New Camera Feed… and give it a name. A feed sits in the tree next to your folders, but it is not one: there is no directory behind it, so it never appears on the network drive, never becomes an S3 bucket, and never shows up in a folder listing. It does take its name from the same list as everything else, so a feed can never collide with a folder or a repository.

The feed's screen picks the back or front camera, turns audio on or off, and shows two addresses to open or share: the live stream and a still snapshot.jpg. The status line says whether the camera is Live, Idle or Stopped.

Aiming the camera is a physical job: a phone lying flat sees only the shelf and the ceiling. A printable stand holds it upright while it charges and sets how far down the camera looks.

Watching

Open the address in any browser. Safari plays the stream natively; other browsers use a copy of hls.js the device serves itself, so there is no plug-in, no app and nothing loaded from the internet.

The video is H.264 with AAC audio, delivered as low-latency HLS, which puts a viewer roughly a second and a half behind the camera rather than the ten to thirty seconds ordinary HLS costs. The low-latency parts need HTTPS, because Apple's player refuses them over plain HTTP, so a viewer on a plain http:// LAN address gets ordinary HLS instead and simply sits a little further behind.

Quality follows the audience. There is only ever one encode, and the rung a player asks for is its vote; the device tracks the slowest viewer and drops quality immediately when someone struggles, then waits until the picture has been comfortable for a while before climbing back. It also backs off on its own when the device gets warm.

The camera runs only while someone watches

Capture starts when the first viewer arrives and stops about forty-five seconds after the last one leaves, so an unwatched feed costs nothing and the lens is dark. One feed is live at a time on a device. A copied stream address also stops working once it has been idle, and in any case after twelve hours, so a URL shared by accident does not stay a window into your home.

Who can watch

A feed has three settings, and unlike a folder there is no private one: a feed has no S3 side, so "signed clients only" would mean nobody at all.

Because a live camera in a home is sensitive by definition, a public feed streams nothing at all until you additionally turn on Serve sensitive data for it. Until then the address answers with a page saying the camera is not published, and no snapshot is offered, so a link posted somewhere reveals nothing while you are still deciding.

The password itself only ever travels through a digest exchange, never in the clear. Signing in mints a short-lived token that rides along in the video URLs, because Safari loads media in a separate process that cannot answer a password challenge on its own.

An account narrowed to part of the server can be given some feeds and not others. A feed it cannot reach answers as though it did not exist, rather than asking for a password it would refuse anyway.

Camera feeds are the device's own camera. HomeKit cameras cannot be re-served: Apple seals their streams to the Home app, and no third-party app can read them. Everything else a HomeKit accessory reports is available, though; see Home and Sensor Data.