VISP Relay

Direct output

Stream a device straight to Twitch, Kick, or YouTube without running OBS.

VISP Direct forwards one publishing device to any combination of Twitch, Kick, and YouTube without OBS in the path. It is the default platform output. Before publishing, VISP reserves encoder capacity on the assigned relay; a full relay blocks Go Live instead of silently starting without a platform output.

What changes

Without Direct, your device does the full encode and the relay forwards that bitstream to OBS untouched. With Direct enabled on a device:

  • your device still encodes, because SRT needs a compressed feed to upload;
  • the relay runs a separate distribution encode per destination — H.264 video and stereo AAC audio, always re-encoded, never stream-copied;
  • each destination is its own process, so one platform failing does not interrupt the other.

VISP Native uses a lower Direct contribution bitrate while keeping 1080p available; platform quality comes from the relay encode.

Each selected platform consumes a relay forwarding slot and a separate encode. Selecting several platforms increases relay CPU and outbound bandwidth, but it does not add another upload from your phone.

BRB hold

When Never drop again is enabled, a lost ingest keeps each Direct output open. Accounts in the BRB highlights beta can upload up to five short H.264 MP4 clips in the web dashboard. Enabled clips play in order and loop; the current still BRB card remains the fallback when the flag is off, no clips are enabled, or the relay cannot play them. The playlist and its audio/message preferences are captured when BRB starts, so edits apply on the next BRB.

Returning to live or choosing End broadcast interrupts the hold. Highlight configuration is web-only; the native BRB controls are unchanged.

Choose where the program is made

  • Cloud Studio burns the last saved web Studio scene into Direct. It supports up to three scenes, eight layers per scene, two public HTTPS browser sources, and one VISP alert layer. Save is explicit: unsaved edits never reach a live program. Native publishes with the last saved program and opens the web editor.
  • I use OBS keeps the existing workflow. VISP does not host OBS; your own OBS owns scenes, overlays, plugins, recording, and the platform output.

The program preview is normally under three seconds behind ingest. A saved live edit is normally applied in under two seconds. These are operating targets, not hard customer SLAs. If Studio is unhealthy or killed, Direct falls back to camera-only passthrough and retries; saved scenes remain intact.

Enable it

  1. During setup, choose Twitch, Kick, or YouTube and authorize streaming. Existing users can instead open Direct output on the dashboard.
  2. Next to a destination, choose Authorize streaming. This re-opens the provider's consent screen and asks for the permission Direct needs. VISP requests every permission you had already granted at the same time, so authorizing Direct never switches off chat or title and category editing.
  3. Enable any combination of Twitch, Kick, and YouTube for the device.

Outputs are saved as the account default. The newest device takes ownership at Go Live when the previous owner is offline. A running device is never interrupted automatically.

Landscape and portrait together

Accounts with portrait Direct output enabled can add a separate Portrait destination from the dashboard or phone settings. Choose Add portrait output, position the 9:16 crop over the landscape contribution, and save. The landscape destination remains a passthrough distribution encode while the portrait destination applies the saved crop and scales it to 1080×1920.

Portrait uses its own forwarder slot. You can save framing while the relay is full, but the portrait destination will not start until a slot is free; landscape may still go live. Each side reports status independently. See the portrait Direct output guide for the full flow.

Your stream key

You are never asked to paste a stream key. At stream start VISP fetches a Twitch or Kick key with the consent you granted, builds the destination URL in memory, hands it to the forwarding process, and drops it when the stream ends. For YouTube, VISP creates a public broadcast, binds a stream, and uses the returned RTMPS ingest destination. Provider credentials are never sent to the web or phone app or stored as separate database values.

The relay-to-OBS workflow is unchanged and still never touches a stream key.

Using OBS at the same time

OBS can keep reading the feed for monitoring or recording. Do not point OBS at a platform that Direct already owns — that is two publishers on one stream key, and the platform will reject or interrupt one of them.

What OBS reads is your device's contribution feed, not the encode the platform receives. To check what viewers actually see, watch the platform.

Platform rules

  • Twitch. Its simulcasting terms prohibit showing another platform's activity on the Twitch stream, so do not burn Kick chat into the video. Floating chat in the phone app stays fine — only you see it.
  • Kick. Partners must switch on Kick's own Multistreaming toggle before streaming to both. Kick currently reduces Partner Program payout for the duration of a multistreaming session. VISP does not toggle this for you.
  • YouTube. Direct creates a new public broadcast when publishing starts and uses automatic start and stop. Set the default title before going live and verify the public watch page from a muted device.

Title and category editing is unchanged; Direct adds no metadata behavior.

When something fails

Each destination shows its own state and last error under the device.

  • A provider is unavailable. VISP retries that destination with backoff and leaves the other one running.
  • Permission was revoked at the platform. The destination fails and the card offers Reauthorize.
  • "Direct is at capacity." The relay is at its concurrent-forwarder limit. Your relay-to-OBS path keeps working; try the Direct output again shortly.
  • VISP is unreachable when your device connects. No Direct output starts. A stream already running keeps forwarding until the source disconnects.

On this page