Live — real camera, real votes Secured & hosted on Cloudflare Direct or CamStreamer Cloud

You run the AXIS camera on YouTube Let viewers control the PTZ view

Test it live — select the next view

These links are live on that camera — allow 10–15 seconds for the switch to reach the stream.

This camera is live and open to votes right now. The line across the bottom of the video is the real overlay — not a mockup. The chat beside it is an example.

Drop a few links under your stream. Viewers vote for the next view, the winner takes the lens. Something happens every thirty seconds — and they decide what.

Set up my camera Sign in

No password, no card. One camera free, permanently.

Four moves, then it repeats forever.

Rounds are clock-aligned: 30, 60 or 120 seconds. Nothing to install on your site, nothing for viewers to sign up for.

  1. 01

    Post the links

    One short URL per view, anywhere you already write.🌅 Scenery ptz.4xs.dev/resort/scenery-view
    🏖️ Beach ptz.4xs.dev/resort/beach-view
    🏔️ Mountain ptz.4xs.dev/resort/mountain-view

  2. 02

    Viewers vote

    A tap, a tally, and the tab bounces them straight back to your stream. No account, ever.

  3. 03

    The camera moves

    Presets you chose — reached directly by our app on the camera, or through CamStreamer Cloud Remote Access. Never free movement, never a stranger driving your lens.

  4. 04

    The stream says so

    CamOverlay burns the result into the video you already publish — so every embed of it gets the announcement too.

One tap, then back to your stream.

This is the whole viewer experience. No account, no app, no cookie banner — the page counts the vote, shows the running tally and the exact time the switch lands, then returns them to the video they came from.

They can see their own vote in the count. That is the part that makes people click a second time.

You can see whether it is working

Opens tell you they looked. Votes tell you they cared.

Every link records both, per view, per hour. So you learn which angle your audience actually wants — and whether a description tweak, a pinned comment or a new platform moved anything.

No viewer accounts, no tracking pixel, no third party. Two counters and an hourly bucket, which is all a click really is.

Link activity Day · Week · Month
124 link opens 68 votes
SCENERY VIEW52 opens · 31 votes
BEACH VIEW41 opens · 22 votes
MOUNTAIN VIEW31 opens · 15 votes

Pale bar: link opens. Solid bar: votes. Illustrative figures.

The part nobody else got right

A clock time. Never a countdown.

Your stream reaches viewers ten to thirty seconds late, so a ticking countdown is already wrong by the time anyone reads it. We announce the actual wall-clock moment of the next switch — which stays true however late the frame arrives.

Your delay stops being a bug. It becomes their thinking time.

What the overlay shows

next switch 21:04:30


  • The seconds tick camera-side, at no cost to your quota.
  • Rounds land on the hour, so the rhythm is predictable.
  • When voting stops, the line quietly drops the time claim.

Why a voted camera holds an audience.

A stream where things happen

A live camera that never changes is wallpaper. Give people something to decide and they stay to see the result — then stay for the next round. Voting turns the one thing a camera can't share, where it points, into the reason to keep watching.

Nothing to install

The vote links live in your description. The result is announced by CamOverlay inside the video you already publish — so your website embed gets it too, with no plugin and no code on your site.

You decide what they can do

Viewers pick from presets you choose. Never free movement, never a stranger aiming your camera somewhere it should not go. Set the limits on the camera itself and even that is enforced in hardware.

Hardened by Cloudflare

The whole service runs on Cloudflare Workers at the edge, behind Cloudflare's DDoS protection, and every vote passes a Cloudflare Turnstile check before it can reach your camera — so a flood of clicks costs the camera nothing. Your camera token is encrypted at rest and your admin sign-in is a verified email, never a password.

No PTZ? Still works

With CamSwitcher, viewers vote between your cameras, scenes or video clips instead — so a fixed camera can run this too. One mode or the other, chosen per camera, or both mixed in one round.

What you need

No recording, no accounts for your viewers, and your video never passes through us — it keeps going exactly where you publish it today.

Before you sign up: what we hold

Two connections are supported, and they differ in what has to be installed and what has to be stored. Pick whichever suits the camera; both are first class here.

Direct connection — our app on the camera

Install our free app and it calls us, asks what the audience voted for, and carries it out locally. Nothing needs opening to the internet, and nothing is stored on our side that could touch your camera: on AXIS OS 11 and newer the camera issues the app its own credentials and they never leave the device. It runs on AXIS OS 10.7 upwards, so most cameras already in service can use it.

The app will only ever obey a command for a view you ticked in your own settings, plus the overlay line. It refuses anything else — not as a promise, but because the list of allowed calls is compiled into the app on your camera, where we cannot reach it. Sign in and the download is on your dashboard.

CamStreamer Cloud Remote Access

Already using CamStreamer Cloud? Point us at it and there is nothing to install — the camera is reachable through your Cloud account, which is what that product is for. We store a device access token to use it. Worth knowing plainly: that token is not limited to PTZ, so we encrypt it, never display it back, and only ever use it to switch a view or update your overlay. Revoking it in CamStreamer Cloud cuts us off immediately.

We say that here rather than in the small print, because what each option stores is the real difference between them. Sign in with your email and you can set either up straight away — no waiting for approval.

Either way

  • A token, if you use one, is encrypted at rest (AES-GCM) and never rendered back to any page. It is decrypted only to send a preset or an overlay command. We are not going to claim nobody here can use it — switching your view is using it — but it is never shown, never logged and never sent anywhere else.
  • You can cut us off in one click. Remove the app in the camera's Apps page, or revoke the token in CamStreamer Cloud, and this service stops reaching your camera immediately — whichever connection you chose.
  • There is no password to steal. The admin lives behind Cloudflare Access (Zero Trust), which verifies your email with a one-time code. This app never sees, stores or resets a password.
  • Every vote clears Cloudflare Turnstile before it can reach your camera, on top of a per-round limit per address and a daily ceiling per camera. A flood of clicks costs your camera nothing.

Protected by Cloudflare Running on Cloudflare Workers, D1 and Durable Objects at the edge.

Give your viewers something to argue about.

One camera, free, permanently. Sign in with an email — there is no password and no card.

Set up my camera