Skip to main content
Version: v1.17.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