Skip to main content

Amazon IVS Extension

About Amazon IVS​

The Amazon IVS SDK, is designed to minimize the performance impact on your application and on the devices with which your users access your application. More on: https://docs.aws.amazon.com/ivs/.

Set up your own customized stream by using Amazon IVS Extension. Enhance your audience's experience by applying effects to your voice and playing music and sound effects in your stream. By using the Amazon IVS Extension you can control the audio signals that are sent into the IVS stream.

Amazon IVS provides two key features: Low-Latency and Real-Time streaming. Each offers unique benefits suited to different types of interactive applications. To determine which option best aligns with the specific requirements of your project, it's recommended to consult the official Amazon IVS documentation.

The extension is available for iOS and Android, and ships in two variants that match the two Amazon IVS streaming modes:

ModeWhen to use itiOS moduleAndroid artifact
Low-LatencyBroadcasting to a large audience over RTMPS (IVSBroadcastSession)SwitchboardAmazonIVSLowLatencyamazonivs-lowlatency
Real-TimeInteractive, low-latency stages (IVSStage)SwitchboardAmazonIVSRealTimeamazonivs-realtime

Nodes​

The Amazon IVS Extension provides the following audio node for a Switchboard SDK audio graph:

NodeDescription
IVSBroadcastSinkNodeThe audio that is streamed into this node will be sent directly into your stream.

Installation​

Download the extension for your chosen mode from the downloads page, then add it to your project and load it.

Low-Latency​

Add SwitchboardAmazonIVSLowLatency.xcframework (and the AmazonIVSBroadcast SDK) to your Xcode project under Frameworks, Libraries and Embedded Content, selecting Embed & Sign.

Load the extension when you initialize the SDK:

import SwitchboardAmazonIVSLowLatency
import SwitchboardSDK

SBAmazonIVSExtension.loadExtension()

let initConfig: [String: Any] = [
"appID": "Your app ID",
"appSecret": "Your app secret",
"extensions": ["AmazonIVS": [:]],
]
Switchboard.initialize(withConfig: initConfig)

Real-Time​

Add SwitchboardAmazonIVSRealTime.xcframework (and the AmazonIVSBroadcast SDK) to your Xcode project under Frameworks, Libraries and Embedded Content, selecting Embed & Sign.

Load the extension when you initialize the SDK:

import SwitchboardAmazonIVSRealTime
import SwitchboardSDK

SBAmazonIVSExtension.loadExtension()

let initConfig: [String: Any] = [
"appID": "Your app ID",
"appSecret": "Your app secret",
"extensions": ["AmazonIVS": [:]],
]
Switchboard.initialize(withConfig: initConfig)

Usage​

To send a Switchboard audio graph into an IVS stream, route the audio you want to broadcast into an IVSBroadcastSinkNode and bind your IVS audio source to it. See the node reference for full, platform-specific end-to-end examples.

Examples & sample apps​

  • Karaoke App with Amazon IVS — a complete walkthrough combining Switchboard effects with an IVS broadcast, with iOS and Android source repositories.
  • The iOS sample app includes a Simple Stream example (Low-Latency, IVSBroadcastSession) and a Simple Stage example (Real-Time, IVSStage) demonstrating the node end to end.

Download SDK Extension​

You can download this SDK extension from our Downloads Page.

Visit the page to access the latest version and start integrating it into your project!