hydra_video_out
Start or stop broadcasting the browser canvas as a live Syphon/NDI video source, then verify sent and published frame rates and dropped frames to confirm output quality.
Instructions
Send the primary tab's canvas out of the browser as a native video source: a Syphon server named "Hydra" (macOS). TouchDesigner receives it with a Syphon Spout In TOP. TouchDesigner names Syphon senders App:Server, and the publisher runs as Python, so the sender to pick is "Python:Hydra" — plain "Hydra" matches nothing and leaves the TOP on its checkerboard.
With hydra_out.py started with --ndi, the same
frames also go out as an NDI source, which receivers list as " (Hydra)". NDI
reaches other machines on the network; ndi_connections in
the status says whether anything is receiving it.
action: "start", "stop" or "status". fps: 1–60, the capture rate to request.
Needs out/hydra_out.py running — a separate process with its own Python 3.12, because
the Syphon library only supports up to 3.12 (see the README). Start waits two
seconds, then returns both ends:
page_after_2s sent_fps, dropped — what the tab actually sent
out_after_2s fps, syphon_clients — what was published, and whether anything is
receiving
Report those numbers, not the fps you asked for. Frames are dropped rather than queued
when the receiver lags, so a high dropped means lower the resolution
(hydra_transport) or the fps.
Chromium tabs only (MediaStreamTrackProcessor). The primary must stay visible: a hidden tab stops producing frames.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | ||
| action | No | status |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |