How to Bond Cellular and Wi-Fi for a VISP Phone Stream with Speedify

Compare VISP Native's built-in Wi-Fi and cellular bonding with a Speedify tunnel under any encoder, and learn when each approach helps a phone stream.

By VISP Team ·

A field phone's Wi-Fi and cellular links are bonded by Speedify into one tunnel that feeds a single SRT stream through the VISP relay into a home OBS studio

To make a VISP phone stream survive one weak connection, run a Speedify bonded tunnel on the field device, then publish into VISP over plain SRT as usual. Speedify combines the phone's Wi-Fi and cellular links into one steady tunnel underneath your encoder, and VISP authenticates the single feed and sends it on to Twitch, Kick, or YouTube with Direct, or to your own OBS if you produce there.

You may not need Speedify at all. The VISP phone app has its own Network bonding for Wi-Fi plus cellular, and the VISP relay accepts SRTLA from encoders such as Moblin or BELABOX. Speedify is the option for everything else: a system-wide tunnel that bonds the uplink for any encoder, including ones that cannot bond by themselves. VISP is a self-hosted SRT/RTMP relay and control plane. It gives each publishing device revocable access and carries the feed it receives; Speedify works a layer below it.

VISP Native bonding versus Speedify bonding

The VISP relay sits between publishing devices and the platforms or your OBS. A phone connects outward to VISP, and with Direct the relay makes one encode per destination, so the phone never holds a stream key. Each device can be revoked on its own.

In the VISP iOS and Android app, Settings → Network → Network bonding uses Wi-Fi and cellular at the same time. The Mode picker offers SRTLA (aggregating), which spreads the stream across both links; Broadcast, which sends every packet over both links and keeps the first copy (more redundancy, roughly double the mobile data); and Main + backup, which prefers one link and falls back to the other. Bonding is off until you turn it on.

There are four common ways to bond, and they live at different layers:

  • In the VISP app, through Network bonding as above. Nothing else to install, but it only covers the phone's own Wi-Fi and cellular links.
  • On a third-party encoder, through SRTLA. Apps like Moblin and BELABOX can spread one SRT stream across several links. Per the BELABOX SRTLA project this needs a matching srtla_rec receiver to reassemble the links, and the VISP relay runs one. Turn on Show RTMP and SRTLA fallback URLs in the dashboard Devices tab to copy a device's SRTLA URL.
  • In dedicated hardware, such as LiveU Solo, which pairs an encoder with a commercial bonding service. That trade-off is covered in VISP vs BELABOX vs LiveU Solo.
  • Below every app, through a system-level bonding VPN like Speedify. This is the approach that lets you keep your existing VISP encoder unchanged and still bond the uplink.

Speedify is attractive because it is app-agnostic. You do not have to switch encoders; you install it on the field device and every stream that leaves the phone, including your VISP SRT feed, rides the bonded tunnel. It can also bond links a phone app cannot see, such as Ethernet or satellite on a laptop encoder. If you run Speedify, leave VISP's Network bonding off so you are testing one bonding layer at a time.

How Speedify fills the gap

Speedify describes itself as connection bonding software that "combines Wi-Fi, 4G / 5G cellular, Ethernet, Starlink and other satellite internet connections together" and "works with all live streaming software and social platforms." On its channel bonding page it explains the mechanism: it "breaks your traffic into packets and sends them across every connection at once," so "to everything you use, it looks like one fast, steady connection." Crucially, that bonding happens at the connection level, transparently, without per-app configuration.

That last point is what makes it work with VISP. SRT still runs end to end between your encoder and the VISP relay; Speedify simply carries that traffic over a bonded, encrypted tunnel and reassembles it at its own Speed Server before it egresses to VISP. Your encoder and VISP both see one connection. Speedify also ships two reliability behaviors worth knowing: a Redundant Mode that "sends every packet over every connection at the same time and keeps whichever copy lands first," and a default Streaming Mode that automatically switches real-time traffic between bonding for speed and duplicating for reliability. Speedify installs on iPhone, iPad, Android, Windows, macOS, and Linux, so it can run on the same phone that publishes to VISP.

What you need

  • A VISP account signed in with Twitch, Kick, or Google
  • Your usual VISP publisher on the phone: the native app, or an encoder like Larix Broadcaster or Moblin
  • Speedify installed on that same field device, with at least two working connections (for example Wi-Fi plus cellular, or two cellular modems)
  • A plan for a total outage: the optional BRB card with Direct, or a local fallback scene if you produce in OBS
  • Optional: OBS Studio on a production computer
  • Headphones for checking audio without creating a return-path echo

Rehearse with the same phone, carriers, route, and time of day you expect to use live. Bonding two connections that are both congested at the same spot does not create bandwidth, and a fast Wi-Fi test at home never validates a moving cellular production.

1. Install and start Speedify on the field device

Install Speedify on the phone, sign in, and confirm it shows two or more active connections. On a phone that usually means Wi-Fi plus cellular; enabling both radios at once is what gives Speedify something to bond. Because Speedify runs as a system-level tunnel, you do not point your encoder at it — once it is active, the VISP SRT traffic already flows through it.

2. Choose the right bonding mode

Leave Speedify in its default Streaming Mode for most live shows; it is built for real-time traffic and adapts per stream. If you are crossing an area where you expect frequent brief drops and can spare the extra data, Redundant Mode sends a copy over every link so a single dropped path does not interrupt the feed. Redundant Mode trades bandwidth for reliability, so test it on the real route at the bitrate you actually stream.

3. Publish into VISP over plain SRT

Nothing changes in your VISP setup. With the VISP app, sign in and go live as usual; it creates its device for you. With a third-party encoder, open the dashboard Devices tab, choose Add device under Video sources, and name it something practical like "roaming phone." Copy the srt:// sending URL and paste it into your encoder, as in the phone-as-a-remote-camera guide. Treat the whole URL as a password. Keep SRT selected unless the network blocks UDP; turn on Show RTMP and SRTLA fallback URLs for an RTMP URL, and the video-source docs show the exact dashboard flow.

Use H.264 video and AAC audio. With Direct, the relay re-encodes for each platform but can only work with the picture that arrives; in the optional relay-to-OBS path it does not transcode at all, so the codec, resolution, frame rate, and bitrate your encoder sends are what OBS receives. Choose a bitrate the bonded connection can sustain with margin, not a single speed-test peak. A stable 720p30 picture beats a nominal 1080p feed that constantly queues.

4. Set SRT latency for the bonded path

SRT can retransmit lost UDP packets while they are still useful, and its latency window gives those retransmissions time to arrive. The SRT project documents this automatic-repeat behavior, and the SRT Alliance overview explains why the latency window is tied to round-trip time. Speedify adds a Speed Server hop and its own reassembly, so the effective round-trip can be a little longer than a direct cellular path. Third-party encoders take the SRT latency from their own settings (the VISP app uses a fixed window). Run VISP's latency probe from the dashboard Advanced tab on the connection you will actually use and choose the cellular profile, then keep some extra headroom rather than shrinking the value to advertise a smaller delay. VISP turns the median of seven round-trip samples into starting recommendations:

ProfileRecommendationMinimum
Wired3× measured RTT120 ms
Wi-Fi4× measured RTT300 ms
Cellular6× measured RTT600 ms

The OBS SRT guide describes latency the same way; VISP simply applies more conservative floors tuned for mobile contribution. For the encoder-side settings, see the broadcaster setup docs.

5. Check the output and rehearse recovery

With Direct, watch the dashboard Home tab preview or a private test on the platform. If you also produce in OBS (optional), your encoder uses the sending URL and OBS uses the separate OBS read URL from the Destinations tab. The quickest OBS setup is to pair the VISP plugin, select the device, and add it to the current scene, as described in VISP OBS remote control. That creates the authenticated Media Source without exposing a public control port. You can also download the generated scene collection, which includes a Fallback scene and one reconnecting Media Source per device.

Then run a short failure drill before a real broadcast:

  1. Confirm motion and audio for several minutes.
  2. Turn off one of the phone's connections (drop Wi-Fi, keep cellular).
  3. Watch the feed continue on the remaining bonded link.
  4. Restore the connection and confirm Speedify re-adds it.
  5. Now disable both connections and confirm the BRB card (Direct) or the OBS fallback scene appears.
  6. Restore the network and wait for stable playback before cutting back.

Steps 2–4 prove the bonding is doing its job; steps 5–6 prove that even bonding cannot beat a total outage, which is why you keep a fallback. For a production that should keep entertaining viewers during any interruption, follow the mobile-network resilience guide.

Speedify vs on-encoder bonding vs hardware

Speedify is the least intrusive option: it rides under any VISP encoder and bonds whatever links the device has. Its trade-offs are a subscription, an extra Speed Server hop, and dependence on Speedify's servers for the reassembly. VISP's own Network bonding and on-encoder SRTLA through Moblin or BELABOX bond the SRT stream itself with no third-party service; the VISP relay is the SRTLA receiver. They only bond the links that encoder can reach. Dedicated hardware like LiveU Solo bundles the encoder and a bonding service into one supported appliance at a higher cost. Choose Speedify when you want to keep your current encoder and just harden the uplink; choose VISP's bonding, SRTLA, or hardware when you need bonding that does not depend on a consumer VPN service.

What this setup does not do

No bonding layer can invent bandwidth. If both links are saturated or dead in the same spot, no bonding mode will keep the stream alive, and that is when the BRB card or OBS fallback scene earns its place. Only one publisher can own a VISP device path at a time, so give every phone its own device; the multi-phone IRL guide shows how those independent sources compose. Speedify is also not part of VISP, is not required for VISP, and is not endorsed by it — it is one third-party layer that happens to fit below the relay.

Troubleshooting

Bonding is on, but the stream still stutters

Confirm both connections are genuinely active in Speedify and are not congested at the same location. Lower the encoder bitrate, raise the SRT latency window, and re-run VISP's latency probe. Bonding two weak links does not add up to one strong one when both degrade together.

VISP never shows Live

Check that the full current srt:// publishing URL is pasted, that no other encoder owns that device path, and that UDP is not blocked. If the credential was rotated, replace the old URL. This is unrelated to Speedify.

VISP is Live, but OBS is blank

This only applies if you use OBS. Make sure OBS has the OBS read URL, not the sending URL, with Local File disabled, and wait for a keyframe. If the OBS read credential was rotated, refresh the source.

Latency feels high

Speedify's Speed Server adds a hop. Pick a nearby server if the app lets you, keep Streaming Mode rather than Redundant Mode when data allows, and accept that a bonded, reassembled path trades a little delay for resilience.

Pre-stream checklist

  • Speedify shows two or more active connections and the intended mode.
  • VISP's own Network bonding is off while Speedify runs.
  • The encoder publishes the current VISP srt:// URL over plain SRT.
  • H.264, AAC, orientation, keyframe interval, and bitrate are tested on the route.
  • SRT latency comes from a probe on the real bonded connection.
  • The Direct output reports Live, or OBS (if used) receives picture and audio.
  • Dropping one link keeps the feed alive; dropping both shows the BRB card or fallback scene.
  • No stream key is typed into the phone.

Frequently asked questions

Does Speedify replace VISP?

No. Speedify is a network layer that bonds connections; VISP is the relay and control plane that authenticates devices and sends the feed to the platforms or your OBS. They solve different problems and work together — Speedify hardens the uplink, VISP manages the feed.

Do I need to configure my encoder to use Speedify?

No. Speedify bonds at the connection level, so once it is running on the phone, your VISP SRT traffic already flows through it. You publish into VISP exactly as you would without it.

Is Speedify the only way to bond for VISP?

No. The VISP app has built-in Network bonding, Moblin or BELABOX can send SRTLA to the VISP relay's SRTLA URL, and dedicated bonded hardware is another route. Speedify is the option that works under any encoder without changing it.

Will bonding stop my stream from ever dropping?

No. Bonding and SRT recovery ride out brief interruptions and single-link failures, but neither creates bandwidth. Keep a BRB card or OBS fallback scene for a total outage.

Sources and next steps

If a shaky field uplink keeps ending your show, try VISP: go live from the app, test its Network bonding, add Speedify if you need a tunnel under another encoder, and run the failure drill before your next live broadcast.

Bring the field into your OBS studio

Try VISP free during beta. You never have to paste a stream key anywhere.

Try VISP free

Related guides