Streaming production guide

Use a random wheel in OBS without exposing the control room

A stream-ready wheel needs two layers: a clean audience view and a private operator view. Separating them prevents accidental edits, notifications, workspace controls, or confidential entries from becoming part of the broadcast.

For
Livestream hosts, webinar producers, esports organizers, and virtual event operators
Reading time
9 minutes
Reviewed

Step 1

Capture the local audience window, not the host controls

Prepare the primary wheel in your normal browser, open Host and audience, select 16:9, 4:3, or 1:1, and choose Open audience window. This read-only window receives the current wheel and the host's displayed result; it cannot edit the roster or run another draw. Both windows must stay on the same device, in the same browser session, with the host open.

In OBS, add Window Capture and select that audience window rather than the host editor. On recent macOS versions, use macOS Screen Capture with its window option. OBS Browser Source is a separate embedded browser: pasting the audience URL there does not connect it to Chrome, another profile, or another device. This feature is not remote audience synchronization or a hosted browser source.

Check before continuing

  • The audience was opened by the live host browser, not by copying its URL.
  • The operator can spin without exposing editor controls.
  • The read-only window reconnects after refresh without starting a new draw.
  • A static holding graphic is ready if the source fails.

Step 2

Prepare a public-safe copy of the entries

Create labels specifically for the broadcast. Replace email addresses, order numbers, student names, private usernames, and internal project titles with approved display names or ticket aliases. Inspect not only the visible segments but also result dialogs, history panels, file names, and any workspace selector the capture could reveal.

Do not place a private share fragment in a stream description or paste it into a public browser source configuration. Fragment data is not uploaded by the site, but anyone who receives the complete URL can read the encoded entries and settings. Build a dedicated stream wheel instead of reusing a workspace that contains unrelated private wheels.

Step 3

Keep the host, audience, and embedded sessions separate

The audience window is opened by the host with a temporary connection token, not a copy of the private workspace in its URL. Refreshing it requests the current state and never spins. If the host closes or reloads, reopen the audience from the host; copying its address is not a sharing or remote-connection method. The audience does not read or write the host's saved workspace.

The optional ?embed=1 query requests reduced page chrome, not permission to control a wheel. When the primary wheel runs inside an iframe, it uses an isolated temporary workspace from initialization and does not read or overwrite the device's saved workspace. An embedding page must request access and the user must approve its exact origin before versioned commands work. Export JSON before leaving if the temporary list should be kept; never put private names or session tokens in public configuration or logs.

Run it in this order

  1. Build the public-safe wheel in the host browser and save a JSON backup.
  2. Open the audience from Host and audience and select it in OBS Window Capture.
  3. Refresh only the audience once and verify that it shows the current host result without a new draw.
  4. Close the host during rehearsal, then practice reopening and recapturing the audience.

Step 4

Compose the scene for legibility at the viewer's size

Choose the audience aspect ratio before framing the scene, then resize and crop the captured window in OBS. Browser window borders and operating-system sizing may differ from the requested dimensions; verify the actual capture rather than assuming a pixel-perfect frame. Test the stream preview at a small player size. Short labels, strong contrast, and a clear result panel matter more than fitting every segment label on screen.

Reserve space for captions, chat overlays, lower thirds, and platform controls. Do not cover the selected label with decorative graphics. If colors communicate categories, repeat the category in text so viewers with color-vision differences or compressed video still receive the result.

Step 5

Control motion, audio, and the moment of capture

Run the wheel from one designated operator surface and prevent double activation from hotkeys, mouse clicks, or a producer and host acting at the same time. Agree on a verbal cue before the official spin and another cue after the result has been accepted. Keep enough dwell time for captions, interpretation, and viewers on delayed streams.

The five procedural result cues play in the host browser; the read-only audience does not generate another audio cue. Capture the host's audio separately if wanted, or keep it muted, and test the OBS audio meters to avoid silence or duplicate capture. If a cue fails, keep the visible result and history instead of redrawing. The optional 3, 2, 1 countdown and Cancel countdown action remain host controls.

For public-safe surprise rounds, mystery mode can replace disc labels with numbered placeholders until the result dialog, but it does not redact entries from the browser workspace or share data. Respect reduced-motion needs and offer a static selection presentation where appropriate. The host should read the result aloud because a spinning graphic or sound alone is not accessible and may be difficult to perceive after video compression.

Step 6

Rehearse a failure and a privacy check before going live

Test network loss, source refresh, an accidental scene change, and a list that is too long to read. Keep the approved entries in a protected backup and prepare a fallback selector or manual process with the same declared rules. If recovery requires rebuilding the list, stop the draw until the active count is verified against that backup.

Record a private rehearsal and review every frame around scene transitions, results, and browser focus. After the event, clear the source workspace if the production computer is shared, remove unneeded copies, and rotate any shared link that reached a wider audience than intended by creating a new one with different non-sensitive labels.

Use the right surface

Tools mentioned in this guide

Common questions

Questions about random wheel in obs

Should I use an OBS browser source or window capture?

For synchronized host and audience use, capture the audience window opened by the host with OBS Window Capture. On recent macOS, select a window through macOS Screen Capture. A Browser Source does not join the local host connection.

What does ?embed=1 do?

It requests reduced page chrome, not access permission. A primary wheel inside an iframe is temporary and isolated from saved local workspaces; an embedding page needs explicit origin approval before it can issue commands.

Why does pasting the audience URL into OBS Browser Source not connect?

The audience needs the original host window reference and same-origin session on the same device and browser. OBS Browser Source is a separate browser environment, so use Window Capture instead. The audience does not synchronize across devices or profiles.

Can I put a share link into a public stream description?

Only if every encoded entry and setting is intended to be public. Anyone with the complete link can decode its fragment, even though the site does not upload that fragment.

What is the safest stream fallback?

Prepare a static holding scene plus a second selection method that uses the same frozen list and published rule. Verify the count before resuming and record any interrupted or invalid action.