Skip to main content

RTMP and RTMPS Output

THIS FEATURE IS AVAILABLE FOR OPT-IN ONLY AT THIS TIME. If you would like to opt-in and access NDI output, please message support@tryiris.ai. Learn how to configure and use RTMP/RTMPS in Iris to external platforms like YouTube, Facebook, and Twitch.

Updated over a week ago


Overview

RTMP (Real-Time Messaging Protocol) and RTMPS (its secure, TLS-encrypted variant) let you stream live video from your Iris Studio directly to external platforms like YouTube Live, Twitch, Facebook Live, Vimeo, or any custom RTMP-compatible server.

You set up one or more "destinations" — each pointing to a different streaming platform — then choose which video source to stream from, and go live. You can stream the same source to multiple platforms simultaneously, or send different cameras to different destinations.

RTMP Output is currently available as an Early Access (beta) feature. You need to opt in before the RTMP tab appears. Both rtmp:// and rtmps:// URLs are supported — use RTMPS when your platform supports it for encrypted streams.


What You'll Need

  • Early Access enabled for Output. If you haven't opted in, clicking "Start Output" will prompt you to enable it.

  • At least one connected video source in your Studio.

  • Destination details from your streaming platform: the Server URL (e.g., rtmp://a.rtmp.youtube.com/live2) and the Stream Key they provide.

  • A stable internet connection — the required bandwidth depends on your stream profile (see below).


Setting Up a Stream Profile

Before streaming, choose a stream profile that determines the resolution, frame rate, and bitrate of your output:

  1. Open the Output Settings panel by clicking Start Output in the production toolbar.

  2. Select the RTMP tab.

  3. Under Stream Profile, choose one of the presets:

Profile

Resolution

FPS

Video Bitrate

1080P - 30FPS (default)

1920×1080

30

6,000 kbps

1080P - 60FPS

1920×1080

60

9,000 kbps

720P - 30FPS

1280×720

30

3,000 kbps

720P - 60FPS

1280×720

60

4,500 kbps

4. Then Click Save Changes.

The stream profile applies to all destinations. You can't change the profile while any stream is active — stop all streams first, then update.


Adding a Destination

  1. In the RTMP tab, click Add Destination.

  2. A side panel opens with three fields:

    • Destination Nickname — A friendly name (e.g., "YouTube", "Twitch")

    • Server — The RTMP or RTMPS server URL (must start with rtmp:// or rtmps://)

    • Stream Key — The secret key from your streaming platform

  3. Click Save Changes.

The destination appears as a card in the Destinations section.

You can add up to 25 destinations. Each URL + Stream Key combination must be unique — you can't add two destinations with the same server and key.


Starting a Stream

  1. On the destination card, use the source selector dropdown to choose which video source to stream.

  2. Click Start Streaming. The button shows "Starting..." while the stream is being established.

You can start streaming on multiple destinations — each can use the same or a different video source.


While Streaming

Once a stream is live, the destination card shows:

  • Destination name and source name displayed prominently

  • Duration — Live timer (HH:MM:SS)

  • Resolution — Current output resolution (e.g., "1080p")

  • Bitrate — Current bitrate in kbits/s

  • FPS — Current frame rate

  • A red Stop Streaming button

While streaming is active on a destination:

  • The gear icon and source selector on that card are disabled

  • You can't change the stream profile until all streams are stopped

  • You can start additional destinations — they join the same session

You'll see toast notifications for key events:

  • "RTMP streaming started" — Stream to the destination has begun

  • "RTMP streaming stopped" — Stream has stopped normally

  • "RTMP streaming failed" — The stream unexpectedly dropped

  • "RTMP failed to start" — Check your server URL and stream key

If starting or stopping takes more than 10 seconds, you'll see a timeout message. The operation may still complete in the background.


Stopping a Stream

Per destination: Click Stop Streaming on the card. A confirmation dialog asks: "Are you sure you want to stop streaming to [destination name]?" Confirm or dismiss.

All at once: Use the Stop Output button in the production toolbar to stop all output (both RTMP and NDI) across all devices. This also prompts for confirmation.


Editing or Deleting a Destination

Click the gear icon on the destination card (only available when not streaming). The side panel opens with your current settings. Make changes and click Save Changes, or click Delete Destination to remove it. Deletion requires confirmation and can't be undone.


What Happens If…

…the stream fails to start? You'll see an error notification and an inline error on the destination card: "RTMP streaming could not be started. Verify your RTMP server URL and stream key, then try again."

…the stream drops unexpectedly? Error notification: "RTMP streaming failed — [destination] unexpectedly stopped streaming." The card shows: "RTMP streaming unexpectedly stopped. Check your connection and destination settings."

…you try to edit a destination while streaming? The gear/settings button is disabled. Stop the stream first.

…you try to update the stream profile while streaming? The update is rejected. Stop all active streams, then change the profile.

…your device disconnects or bridge goes offline? The device list appears empty and streaming controls become unavailable. Active streams may fail with a notification.

…you close the browser or navigate away? Your destination configurations are saved. Active streams continue running server-side. When you reopen the Studio, the system detects and displays any ongoing streams.

…you try to start a destination that's already streaming? The system silently skips the duplicate request. No error shown.


Limits and Restrictions

  • Max 25 destinations per Studio

  • Unique URL + Stream Key combinations — no duplicates

  • Stream profile locked during streaming — stop all streams to change

  • Only rtmp:// and rtmps:// URLs accepted

  • 10-second operation timeout — if start/stop takes longer, a message appears

  • Early Access required — RTMP tab won't appear until you opt in

  • Supported video codecs: H.264 Baseline, H.264 Main (default), H.264 High, VP8

  • Supported audio codecs: Opus (default), AAC

  • Custom codec selection isn't currently available in the UI — the default configuration (H.264 Main + Opus) is applied automatically through the stream profile.


Tips and Best Practices

  • Use RTMPS when your platform supports it — encrypts the stream in transit.

  • Verify your stream key and URL before going live. The most common failure is a typo in the server URL or an expired stream key.

  • Choose the right profile for your bandwidth. 1080p/30fps at 6,000 kbps is a good default. Drop to 720p if your upload speed is limited.

  • Monitor your stream using the stats on the destination card. Watch for bitrate drops or frame rate issues.

  • Use a wired connection when possible to avoid Wi-Fi instability.

  • Name your destinations clearly — "YouTube Main" is more useful than "Destination 1" during a live production.

  • RTMP and NDI can run simultaneously — they're independent features.


Troubleshooting

What's happening

Likely cause

What to do

"RTMP failed to start" notification

Incorrect server URL or stream key

Double-check the URL starts with rtmp:// or rtmps:// and the stream key matches

"RTMP streaming failed" notification

Network interruption or platform issue

Check internet. Verify platform is accepting connections. Try restarting the stream.

"Starting..." stuck for >10 seconds

Network latency or server issue

A timeout message will appear. Wait and try again.

RTMP tab not visible

Feature not enabled

Opt in to the Output Early Access program

Can't add a new destination

Hit 25-destination limit, or duplicate URL+key

Remove an unused destination or use a different URL/key

Can't change stream profile

Stream is active

Stop all active streams first

Destination shows "Starting..." but never goes live

RTMP server unreachable or rejecting

Verify URL is correct, platform is ready, and firewall allows outbound RTMP traffic

Stream disconnects intermittently

Aggressive firewall/NAT timeouts or Wi-Fi instability

Use a wired connection. Check firewall rules.


FAQs

What's the difference between RTMP and RTMPS? RTMP sends your stream unencrypted. RTMPS encrypts it with TLS (like HTTPS). Use RTMPS when your platform supports it. Both work — just use the right URL prefix.

Can I stream to multiple platforms at once? Yes. Add up to 25 destinations and stream to as many simultaneously as you like. Each can use the same or a different video source.

What stream profile should I choose? 1080p/30fps is a good default. Use 720p if bandwidth is limited. Use 60fps for fast-motion content. Higher profiles need more bandwidth.

Can I stream different cameras to different destinations? Yes. Each destination card has its own source selector.

Where do I find my stream key? Your streaming platform provides it in their live streaming dashboard. Check YouTube Studio, Twitch Dashboard, Facebook Creator Studio, etc.

Will my destinations be saved if I close the browser? Yes. Configurations persist. Active streams also continue server-side — they'll be detected when you return.

Can I use a custom RTMP server? Yes. Any server accepting RTMP or RTMPS connections works.

Can I change the video/audio codec? The defaults (H.264 Main video, Opus audio) are applied through the stream profile. Custom codec selection isn't currently in the UI.

Is there a maximum stream duration? No limit enforced by Iris. Streams run until you stop them or they fail.

Can I stream and record at the same time? Yes, but make sure your Bridge has enough CPU and bandwidth for both.

Did this answer your question?