# Encoders and fallback (/docs/broadcaster-setup)







The fastest path for most streamers is the phone or browser app — see
[Get started](/docs/get-started). This page covers third-party encoders, the
dashboard latency probe, and Advanced Scene Switcher macros that keep the show
on a fallback scene while a remote feed reconnects.

## Third-party encoders [#third-party-encoders]

If you publish with Larix, Moblin, or another SRT/RTMP encoder instead of the
VISP app:

1. Sign in to the portal with Twitch or Kick.
2. Open **Video sources** and choose **Add device**.
3. Choose **Copy** next to **Add this to video source** and paste the URL into
   the sending encoder.
4. To use RTMP instead of the default SRT URL, switch the dashboard to
   **Advanced**.

Each device has an independent publish credential, so rotating or revoking one
does not interrupt the others. OBS read credentials are managed separately.

Use SRT by default and RTMP only when the network blocks UDP. Configure H.264
video, AAC audio, constant bitrate, and a two-second keyframe interval. Enable
adaptive bitrate in Larix on cellular connections.

Only one publisher can own a path. The first device remains connected; a second
device cannot pre-connect for a seamless handoff.

## Tune SRT latency [#tune-srt-latency]

Run the dashboard probe on the same network the encoder will use. It sends seven
sequential requests to the relay and uses the median RTT. Select the real network
profile and keep the rounded recommendation:

| Profile  | Multiplier | Minimum |
| -------- | ---------: | ------: |
| Wired    |     3× RTT |  120 ms |
| Wi-Fi    |     4× RTT |  300 ms |
| Cellular |     6× RTT |  600 ms |

Cellular jitter is bursty; do not tune below the recommendation.

## OBS scene collection [#obs-scene-collection]

In OBS, choose **Scene Collection → Import** and select the downloaded JSON. It
contains a fallback scene and one Media Source scene per active relay path. The
sources use `ffmpeg_source`, MPEG-TS, low buffering, and automatic reconnects.

<img alt="OBS Scene Collection Import" src="__img0" />

<img alt="Imported Scene, Fallback, and Media source" src="__img1" />

After creating a path, open **Advanced → OBS read credentials**, choose
**Reveal read URLs**, and either copy the new path's OBS URL or download a fresh
scene collection. You do not need to rotate the read credential. **Rotate
read** invalidates every existing OBS Media Source, so use it only when you
intend to replace them.

## Advanced Scene Switcher [#advanced-scene-switcher]

Create a **Media** condition for each generated Media Source. A Source condition
checks scene visibility and can deadlock the switch; Media checks playback state.

For every macro:

1. Enable both the condition and action toggles.
2. Require **Playing** for 2 seconds before switching to the live scene.
3. Require **Stopped** for 3 seconds before switching to **Fallback**.

The debounce prevents scene flapping while SRT reconnects.
