Docs › Stream › Links that open the app

Links that open the app

Add stream profiles by opening a link.

A dualirl:// link opens Dual IRL Stream and offers to save one or more stream profiles. A streaming service or a friend can send you one, and you can put one in a note, a message or a QR code. You never have to copy an address and a Stream ID into the profile screen by hand.

What happens when you open a link

  1. Tap the link. Your phone opens Dual IRL Stream. If it asks which app to use, pick Dual IRL Stream. A link sent to you as text can also be shared to Dual IRL Stream from the share sheet.
  2. The app shows Import stream profile with every profile the link would save. For each one you see its name, which you can change, whether it is new or replaces one of yours, the server address, whether it is a single connection or bonded over every network, the latency, the codec and whether it includes a Stream ID. The Stream ID itself is not shown.
  3. Tap Import to save them, or Cancel to save nothing. Nothing is saved until you tap Import.

Only import a link from someone you trust. A profile points your stream at a server, so a link from a stranger could send your video to them.

A link that is damaged or does not make sense shows a message saying so and saves nothing. If a link holds several connections and only some can be used, the app imports those and lists the ones it left out. A connection whose Stream ID or passphrase the app cannot send, such as one with a space or an &, is left out the same way.

What a link looks like

Every link starts with dualirl://set/v1?. set is the action and v1 is the version of this format. The rest is a list of name=value pairs joined by &. Each value is percent-encoded, so a colon is %3A, a slash is %2F and a space is %20.

The parts of a link

A link describes one or more connections. Each connection becomes one profile. The pairs for connections are written like conn[][url]. A connection starts at its conn[][url], and the pairs after it, up to the next conn[][url], belong to it. A link can hold up to 8 connections.

PartWhat it does
conn[][url]Required. The server address. srt://host:port makes a single-connection SRT profile. srtla://host:port makes an SRT profile that is bonded over every network. Other kinds of address are not imported.
conn[][name]The profile name. If it is missing, the profile is named after the server.
conn[][srtstreamid]The Stream ID the server asks for.
conn[][srtlatency]The SRT latency in milliseconds.
conn[][active]A connection becomes your active profile unless it says off. When several would, the first one wins.
conn[][overwrite]on replaces your profile that has exactly the same name, keeping its resolution and bitrate and swapping in the new connection. Without it the link always adds a new profile.
enc[vid][format]hevc or h264. Sets the codec of every profile in the link. Without it, new profiles start on H.265 / HEVC.

Other parts of a link are ignored.

A worked example

This link adds two profiles for one server, one single-connection and one bonded, and makes the bonded one active:

dualirl://set/v1?conn[][url]=srt%3A%2F%2Fingest.example.com%3A6000&conn[][name]=Example%20SRT&conn[][srtstreamid]=publish%3Alive%3Ayourname%3Ayourkey&conn[][active]=off&conn[][overwrite]=on&conn[][url]=srtla%3A%2F%2Fingest.example.com%3A5000&conn[][name]=Example%20Bonded&conn[][srtstreamid]=publish%3Alive%3Ayourname%3Ayourkey&conn[][active]=on&conn[][overwrite]=on

Links from Larix

The app also opens larix://set/v1?… links, which use exactly the same format, so a link made for Larix works here too.