Skip to main content
Version: v1.18.0

Class: AmazonIVSBroadcastClient

A class implementing the Web Broadcast SDK API.

Constructors

new AmazonIVSBroadcastClient()

new AmazonIVSBroadcastClient(config): AmazonIVSBroadcastClient

Creates an instance of the AmazonIVSBroadcastClient.

Parameters

config: Config

[[Config]]

Returns

AmazonIVSBroadcastClient

Properties

config

config: Config

[[Config]]


emitter

emitter: IEventEmitter

Methods

addAudioInputDevice()

addAudioInputDevice(device, name): Promise\<void>

Adds the specified audio input to the broadcast stream.

Parameters

device: MediaStream

Audio input to add to the stream.

name: string

Unique string you assign to the audio-input device.

Returns

Promise\<void>


addImageSource()

addImageSource(image, name, position): Promise\<void>

Adds the specified image to the broadcast stream.

Parameters

image: HTMLVideoElement | HTMLCanvasElement | HTMLImageElement | ImageBitmap

Image to add to the stream. Must be of type HTMLImageElement, HTMLVideoElement, HTMLCanvasElement or ImageBitmap.

name: string

Unique string you assign to the image.

position: VideoComposition

The desired position of the image in the stream.

Returns

Promise\<void>


addVideoInputDevice()

addVideoInputDevice(device, name, position): Promise\<void>

Adds the specified video input to the broadcast stream.

Parameters

device: MediaStream

Video input to add to the stream.

name: string

Unique string you assign to the video-input device.

position: VideoComposition

The desired position of the video in the stream.

Returns

Promise\<void>


attachPreview()

attachPreview(element): void

Attach a HTMLCanvasElement to display a preview of the output.

Parameters

element: HTMLCanvasElement

An HTMLCanvasElement on which to draw the composited preview.

Returns

void


delete()

delete(): void

Explicitly stop and/or free internal components that would otherwise leak.

Returns

void


detachPreview()

detachPreview(): void

Detach the HTMLCanvasElement preview element.

Returns

void


disableAudio()

disableAudio(): void

Disables all audio content from the stream.

Returns

void


disableVideo()

disableVideo(): void

Disables all video content from the stream.

Returns

void


enableAudio()

enableAudio(): void

Enables all audio content from the stream if previously disabled.

Returns

void


enableVideo()

enableVideo(): void

Enables all video content from the stream if previously disabled.

Returns

void


exchangeVideoDevicePositions()

exchangeVideoDevicePositions(name1, name2): void

Exchanges (swaps) the VideoComposition settings of two video devices.

Parameters

name1: string

Unique name of the video device to swap (one of two).

name2: string

Unique name of the video device to swap (two of two).

Returns

void


getAudioContext()

getAudioContext(): AudioContext

Returns the Media Stream Manager's Audio Context to allow a user to have more direct control over the audio stream.

Returns

AudioContext


getAudioInputDevice()

getAudioInputDevice(name): Maybe\<MediaStream>

Gets the MediaStream of the specified audio device.

Parameters

name: string

Unique name of the audio device.

Returns

Maybe\<MediaStream>


getCanvasDimensions()

getCanvasDimensions(): CanvasDimensions

Gets the dimensions of the canvas on which the stream is drawn.

Returns

CanvasDimensions


getConnectionState()

getConnectionState(): ConnectionState

Gets the state of the webRTC connection.

Returns

ConnectionState


getSessionId()

getSessionId(): undefined | string

Get active session ID

Returns

undefined | string


getVideoInputDevice()

getVideoInputDevice(name): Maybe \<VideoDevice>

Gets the [[VideoDevice] of the specified video-input device.

Parameters

name: string

Unique name of the video-input device.

Returns

Maybe \<VideoDevice>


off()

off\<Key>(event, callback): void

Deregisters (stops) a specified callback to a given event.

Type Parameters

Key extends string

Parameters

event: Key

The event to which the callback was registered.

callback: Callback

The callback to remove.

Returns

void


on()

on\<Key>(event, callback): void

Registers (starts) a specified callback to a specified event.

Type Parameters

Key extends string

Parameters

event: Key

The event to listen to.

callback: Callback

The callback that will called when the event is fired.

Returns

void


removeAudioInputDevice()

removeAudioInputDevice(name): void

Removes the specified audio-input device from the stream.

Parameters

name: string

Unique name of the device to remove.

Returns

void


removeImage()

removeImage(name): void

Removes the specified image from the stream.

Parameters

name: string

Unique name of the image to remove.

Returns

void


removeVideoInputDevice()

removeVideoInputDevice(name): void

Removes the specified video-input device from the stream.

Parameters

name: string

unique name of the device to remove.

Returns

void


startBroadcast()

startBroadcast(streamKey, ingestEndpoint?): Promise\<void | BroadcastClientError>

Starts broadcasting to IVS.

Parameters

streamKey: string

IVS-generated stream key for your IVS channel.

ingestEndpoint?: string

IVS-generated ingest endpoint for your IVS channel. This is optional but will need to be specified in either the config or as a parameter of this function.

Returns

Promise\<void | BroadcastClientError>

Throws

Throws a [[BroadcastClientError]] if unable to stream.


stopBroadcast()

stopBroadcast(): void

Stops the broadcast.

Returns

void


updateVideoDeviceComposition()

updateVideoDeviceComposition(name, composition): void

Updates the position of the specified video device in the stream.

Parameters

name: string

Unique name of the device to update.

composition: VideoComposition

The new position.

Returns

void