WhepOutputSettings interface

The settings for a WebRTC WHEP Output see NorskOutput.whep()

Signature:

export interface WhepOutputSettings extends SinkNodeSettings<WhepOutputNode>, StreamStatisticsMixin

Properties

Property Type Description

hostIps?

string[]

(Optional) List of IPs to advertise as your host address - useful e.g. when on a cloud server so that the public rather than private IP is used.

iceServers?

IceServerSettings[]

(Optional) ICE servers (STUN/TURN) the Norsk node uses to gather its own candidates. Must be reachable from the node itself - e.g. an internal/private TURN address inside the VPC or container network. Also advertised to the remote peer unless reportedIceServers overrides that.

jitterBuffer?

JitterBufferConfig

(Optional) Jitter buffer configuration

maxQueueMs?

number

(Optional) Maximum duration to hold any media stream in the case that one or more are running behind. In the case the late stream is delayed rather than having a large gap, this will result in discarded input frames. Should not be required in general, could be useful to ensure low latency when there are gaps in input (eg few seconds of decode error)

name

string

onPublishStart?

() ⇒ void

(Optional) Callback to signify the WHEP output is publishing media and ready for client connection

onPublishStop?

() ⇒ void

(Optional) Callback to signify the WHEP output has stopped publishing media and will reject client connections

i.e. A WHEP output which has previously been usable, and has now had its source turned off, but may become usable in the future if a new source appears.

onStats?

(stats: WebRtcStatsMessage) ⇒ void

(Optional) Callback giving stats from the WebRTC stack for an individual client session

reportedIceServers?

IceServerSettings[]

(Optional) ICE servers advertised to the remote peer (the browser / WHIP / WHEP client) for its own candidate gathering. Must be reachable from that client - e.g. the public TURN address. Defaults to iceServers. Set this when the node and the client reach the STUN/TURN server at different addresses (node via a private/internal address, client via the public one).

serverReflexiveIps?

string[]

(Optional) Similar to hostIps, but a list of server reflexive candidates so that ICE negotiations can be sped up