RtpStreamSettings interface

A description of an incoming RTP stream

Signature:

export interface RtpStreamSettings

Properties

Property Type Description

allowedSourceAddresses?

string[]

(Optional) Only accept datagrams from these source IP addresses (exact match, v4 or v6), on this stream’s RTP and RTCP ports alike. Empty/undefined = accept from anywhere. The only admission control a connection-less input can have: datagrams from other sources are dropped before parsing (logged engine-side once per source), never delivered.

interface

string

The interface to bind to, "loopback" and "any" are special cases and anything else will be interpreted as the name of a network interface

ip

string

The IP Address to join the RTP stream on. This is the address to join, not a filter on who may send to it - see RtpStreamSettings.allowedSourceAddresses

rtcpPort

number

The port to connect to for the associated RTCP stream

rtpPort

number

The port to connect to for the RTP stream itself

seamlessProtection?

SeamlessProtectionSettings

(Optional) ST 2022-7 seamless protection for THIS stream: a second path carrying an identical copy, merged by RTP sequence number as the packets arrive, so that losing either path is invisible downstream.

Per stream rather than per input, because each stream has its own port pair and is protected independently of its siblings.

The redundant path carries RTP only, so RTCP keeps coming from the primary path’s RtpStreamSettings.rtcpPort - except where this stream multiplexes the two onto one port (rtcpPort equal to rtpPort), in which case RTCP is taken from whichever path is currently live. RTCP has no sequence number, so it cannot be merged: one path’s copy is used and the other’s discarded.

streamId

number

A streamID to assign to the outgoing stream key

streamType

RtpLinearPcm | RtpEac3 | RtpMpeg4GenericAacHbr | RtpH264 | RtpHEVC

A description of the stream being joined