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.
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.
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.
-
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 -
02
Viewers vote
A tap, a tally, and the tab bounces them straight back to your stream. No account, ever.
-
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.
-
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.
Vote: BEACH VIEW
The most-voted view wins when the window closes. The stream runs a few seconds behind — that is normal.
Vote counted. Taking you back…
- SCENERY VIEW–
- BEACH VIEW Your vote1 100%
- MOUNTAIN VIEW–
1 vote this round
24s left — switching at 6:53:30
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.
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.
- An Axis camera with PTZ presets— or CamSwitcher, if it doesn't move Required
- A connection — either kind— Direct connection with our free camera app (AXIS OS 10.7 and newer), or CamStreamer Cloud Remote Access. Both supported, neither needs port forwarding Required
- CamOverlay— the in-stream announcement Recommended
- A public stream— YouTube, Kick, your own site, or all three Required
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.
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.