Skip to main content

RTMP input

RTMP input support overview

Almost all livestream software and hardware supports RTMP. Our API supports using third-party software for streaming using RTMP.

Please not that this page is about publishing video/audio using RTMP, NOT watching livestreams using RTMP.

RTMP publishing

This is how you can acquire the necessary information for publishing RTMP using a third-party software.

const resp = await call.get();

// userId of existing user
const userId = 'jane';
await client.upsertUsers({
users: {
[userId]: {
id: userId,
},
},
});
const token = client.createToken(userId);
const rtmpURL = resp.call.ingress.rtmp.address;
const streamKey = token;

console.log(rtmpURL, streamKey);

The user(s) streaming from the third-party software will show up as regular users in the call.

You can see an example in the Quickstart.

Streaming into a call with OBS

  1. Open OBS and go to Settings (CMD + , on macOS).
  2. Set the Stream Type to Custom.
  3. Set the URL to the rtmp_url you got from the API.
  4. Set the Stream Key to the stream_key you got from the API.

Streaming into a call with restream.io

  1. Go to restream.io and create an account.
  2. For streaming to a custom RTMP server, you need to have a paid account.
  3. Add a new channel and select Custom RTMP.
  4. Set the Server to the rtmp_url you got from the API.
  5. Set the Stream Key to the stream_key you got from the API.

Did you find this page helpful?