Class: WebrtcIngest
Represents a Vindral WebrtcIngest instance
The most most essential methods when using the WebrtcIngest class are:
- connect() - establish connection with WebRTC ingest server
- setVideoTrack() - sets video track (if any), called before starting broadcast
- setAudioTrack() - sets audio track (if any), called before starting broadcast
- broadcast() - starts sending the actual stream to make it accessible for viewers
- unload() - unloads the instance, its very important that this is called when cleaning up the instance, otherwise background timers may leak.
The WebrtcIngest instance will emit a variety of events during its lifetime. Use .on("event-name", callback) to listen to these events. See WebrtcIngestEvents for the events types that can be emitted.
See Vindral examples repository and the WebRTC Ingest docs for usage examples.
Hierarchy
Emitter
<WebrtcIngestEvents
>↳
WebrtcIngest
Accessors
broadcastState
• get
broadcastState(): BroadcastState
The unique session ID given to the WebrtcIngest by the server
Returns
connectionState
• get
connectionState(): ConnectionState
The unique session ID given to the WebrtcIngest by the server
Returns
id
• get
id(): string
The unique session ID given to the WebrtcIngest by the server
Returns
string
stats
• get
stats(): IWebrtcIngestStats
Represents the current session state
Returns
Methods
broadcast
▸ broadcast(): void
Starts the actual stream. This will initiate the actual broadcast and make the stream available for viewers.
Returns
void
connect
▸ connect(): Promise
<void
>
Will try to connect to the server. Throws if neither channel id + jwt or streamKey is undefined.
Returns
Promise
<void
>
getStatistics
▸ getStatistics(): Statistics
This method collects a statistics report from internal modules. While many of the report's properties are documented, the report may also contain undocumented properties used internally or temporarily for monitoring and improving the performance of the service.
Use undocumented properties at your own risk.
Returns
Statistics
setAudioTrack
▸ setAudioTrack(track
, overrides?
): Promise
<void
>
Sets the audio track. If this is called a second time, there will be a playback gap for viewers.
Parameters
Name | Type |
---|---|
track | MediaStreamTrack |
overrides? | AudioTrackOverrides |
Returns
Promise
<void
>
setVideoTrack
▸ setVideoTrack(track
, overrides?
): Promise
<void
>
Sets the video track. If this is called a second time, there will be a playback gap for viewers. Important: If the resolution is changed, the playback may not work correctly. For gapless playback but with interchanging sources, we recommend streaming from a canvas and just changing the contents of the canvas. In effect, not having to use setVideoTrack more than once.
Parameters
Name | Type |
---|---|
track | MediaStreamTrack |
overrides? | VideoTrackOverrides |
Returns
Promise
<void
>
unload
▸ unload(): void
Unloads / disconnects the session. You may not reuse the WebrtcIngest instance after this call. Instead, create a new instance.
Returns
void
updateAuthenticationToken
▸ updateAuthenticationToken(token
): void
Updates the authentication token runtime. Use with care, as updating an existing working token with an invalid token will shut down the session.
Parameters
Name | Type |
---|---|
token | string |
Returns
void