Table of Contents

Class TrackPublishOptions

Namespace
LiveKit.Rtc
Assembly
LivekitRtc.dll

Options for publishing a track.

public class TrackPublishOptions
Inheritance
TrackPublishOptions
Inherited Members

Properties

AudioEncoding

Audio encoding settings.

public AudioEncodingOptions? AudioEncoding { get; set; }

Property Value

AudioEncodingOptions

DegradationPreference

Controls how the encoder trades off between resolution and framerate when bandwidth is constrained. When null, the SDK default (maintain resolution) is used.

public DegradationPreference? DegradationPreference { get; set; }

Property Value

DegradationPreference?

Dtx

Whether to enable DTX (discontinuous transmission) for audio tracks. When null, the SDK default (enabled) is used.

public bool? Dtx { get; set; }

Property Value

bool?

FrameMetadataFeatures

Per-frame metadata features to enable for this track (user timestamps, frame IDs, user data...).

public IList<FrameMetadataFeature>? FrameMetadataFeatures { get; set; }

Property Value

IList<FrameMetadataFeature>

PreconnectBuffer

Whether to use the preconnect audio buffer for this track. When null, the SDK default (disabled) is used.

public bool? PreconnectBuffer { get; set; }

Property Value

bool?

Red

Whether to enable RED (redundant encoding) for audio tracks. When null, the SDK default (enabled) is used.

public bool? Red { get; set; }

Property Value

bool?

ScalabilityMode

RTP scalability mode (e.g. "L3T3_KEY"). When set, a single RTP encoding is produced with this mode, enabling true SVC for codecs that support it (VP9, AV1). Has no effect for VP8/H264.

public string? ScalabilityMode { get; set; }

Property Value

string

Simulcast

Whether to publish video in several quality layers, so each subscriber receives the one it can handle. Defaults to true; must be false for pre-encoded tracks.

public bool Simulcast { get; set; }

Property Value

bool

Source

Track source.

public TrackSource Source { get; set; }

Property Value

TrackSource

Stream

Name of the stream the track belongs to, used to group tracks together (e.g. camera and screen share with their audios). When null, the server infers it from the track source.

public string? Stream { get; set; }

Property Value

string

VideoCodec

Preferred codec for video tracks (VP8, H264, AV1, VP9...). When null, the SDK default codec (VP8) is used.

public VideoCodec? VideoCodec { get; set; }

Property Value

VideoCodec?

VideoEncoder

Preferred encoder backend to use when publishing a video track. When null, the backend is chosen automatically.

public VideoEncoderBackend? VideoEncoder { get; set; }

Property Value

VideoEncoderBackend?

VideoEncoding

Video encoding settings.

public VideoEncodingOptions? VideoEncoding { get; set; }

Property Value

VideoEncodingOptions