Skip to content
use-cases / broadcast-a-workshop-to-200-viewers / hero
PIPE · BROADCAST · ?N=200

Broadcast a workshop to 200 viewers from your laptop

It's a free Saturday workshop. Two hundred people signed up. You don't want a Zoom 200-seat tier, a Twitch account, or a calendar with three time zones. You stream your screen to one pipe path with ?n=200, paste the receiver URL on the event page, and let two hundred browser tabs do the rest.

Read the pipe docs
use-cases / broadcast-a-workshop-to-200-viewers / mechanism

One ffmpeg pipe. Two hundred curls.

ffmpeg encodes your X11 display to webm. curl PUTs that stream into /api/v1/pipe/workshop?n=200. The pipe waits until two hundred receivers connect to the same path. Each one is a normal browser tab on the receiver URL with ?video appended — Hoody serves an embedded MSE player. No platform sits in the middle, the bytes never touch a disk, and the URL evicts itself when you stop the encoder.

One sender, up to two hundred receivers4 STEPS · ZERO INSTALLS
0101 · CAPTURE

Encode your screen

ffmpeg -f x11grab -i :0 -c:v libvpx -f webm reads the display and writes webm to stdout. Webcam, slide deck, terminal — whatever is on :0.

0202 · STREAM

Pipe into curl

curl -T - PUTs stdin to /api/v1/pipe/workshop?n=200. The pipe holds the sender open until two hundred receivers connect on the matching path.

0303 · LINK

Paste the URL

Drop the receiver URL with ?video into the event page or DM. No app, no signup, no calendar invite — just a link the attendee clicks.

0404 · WATCH

URL is the player

The pipe returns an HTML page with an embedded MSE video element. Two hundred browser tabs watch the same live stream at the speed of the slowest receiver.

?n=200 caps the audience. The pipe accepts up to 256 receivers and forwards the sender's Content-Type so an in-browser MSE player can decode the stream. Mismatched n returns 400. When you ctrl-C the encoder, the URL evicts itself — there is nothing to delete.

use-cases / broadcast-a-workshop-to-200-viewers / cost

What it costs the laptop

A 200-attendee workshop normally means renting a tier, an account wall, and a recording you didn't want. The pipe URL is what's left after you remove all of that — one egress out of your laptop, zero accounts, zero artifacts to clean up afterwards.

EGRESS
/ workshop

One stream out, two hundred in

Bytes leave your laptop once. The pipe fans them out. Your uplink does not multiply by audience size — the slowest viewer sets the pace, not your bandwidth.

ACCOUNTS
0presenter + viewer

Nobody signs up

No Zoom seat tier, no Twitch handle, no YouTube channel. The presenter has Hoody. The two hundred attendees have a browser. That's the whole list.

STORAGE
0bytes after ctrl-C

No recording, no replay

The pipe is purely streaming — bytes pass through, nothing is written. When you stop the encoder, the URL is dead. No retention policy, no GDPR ticket, no FTC consent dialog about who owns the recording.

n caps at 256 per pipe path. For larger audiences, fan out across several pipe paths from the same encoder, or front the pipe URL with a CDN that aggregates.

use-cases / broadcast-a-workshop-to-200-viewers / angles

Three workshops, one URL

The same pipe-and-?video mechanism reads three different ways depending on what kind of room you're filling. They all collapse into the same one-liner.

FOR THE FREE-WORKSHOP HOST

Two hundred quiet seats, no tier

You did not want to upgrade Zoom for one Saturday afternoon. Stream the screen, paste the URL on the event page, and stop paying for capacity you use four times a year.

FOR THE PRIVACY-FIRST EDUCATOR

No platform owns the room

Nothing is recorded on a server somewhere. The pipe streams; nothing is stored. Your students do not need a Twitch handle, a Discord, or a Google account to watch — they need a URL.

FOR THE COMMUNITY ORGANIZER

A URL travels further than an invite

A meetup link gets reposted, embedded, mirrored. Anyone who has the URL can open it; when you ctrl-C, the URL is gone for everyone. The audience scales without the platform scaling with it.

use-cases / broadcast-a-workshop-to-200-viewers / punchline

A workshop, a URL, and 200 quiet seats. No platform, no logins.

stream starts when you press enterstream ends when you press ctrl-C
livepipe.hoody.com/api/v1/pipe/workshop?videowhile the encoder is up
ctrl-C
404pipe.hoody.com/api/v1/pipe/workshop?videono recording, no replay
use-cases / broadcast-a-workshop-to-200-viewers / replaces

What this replaces

The lineup of broadcast tools every event organizer accumulates — each one assumes a tier, an account, or a recording you didn't ask for. The pipe URL assumes none of those.

  • Zoom (200-seat plan)Tier upgrade, account wall, host privileges
  • Loom recordingsRecords first, uploads, then a link — never live
  • Video tutorialsPre-baked, edited — not the live workshop
  • Twitch streamingChannel, branding, chat moderation, ToS
  • OBS + RTMP serverSelf-host an ingest box, manage keys, scale fan-out
  • YouTube LiveAccount, channel verification, copyright matcher
  • Vimeo ShowcaseHosted plan with viewer caps and seat fees
  • Custom WebRTC fan-outTURN, signaling, per-viewer connection — months of glue
use-cases / broadcast-a-workshop-to-200-viewers / cta

The next time two hundred people sign up, send them a URL — not a meeting invite.

Read the pipe API
use-cases / broadcast-a-workshop-to-200-viewers / related

Read the others