Table of Contents

Class HlsServerParameters

Namespace
VAST.HLS
Assembly
VAST.HLS.dll

Contains configuration parameters for an HLS server instance.

public class HlsServerParameters
Inheritance
HlsServerParameters
Inherited Members

Constructors

HlsServerParameters()

public HlsServerParameters()

Properties

DiskCachePath

Gets or sets disk path to write master index, stream indices and segments to. Server creates subfolder for each publishing point with its publishing path. Can be used to tamper indices and segments due to user's needs or for delivery via external HTTP server or CDN service. User is fully responsible for cleaning up of files in this folder because server will not delete expired segments automatically. Makes sense for live publishing points only.

public string DiskCachePath { get; set; }

Property Value

string

EnableEncryption

Gets or sets a value indicating whether encryption is enabled.

public bool EnableEncryption { get; set; }

Property Value

bool

EnableLowLatency

Gets or sets a value indicating whether low-latency mode is enabled.

public bool EnableLowLatency { get; set; }

Property Value

bool

EnableMaximumPerformance

Gets or sets a value indicating whether maximum performance mode is enabled. Should be set to true only in case if expected continuous concurrent user count exceeds 1000. For low performance servers with tens or hundreds of concurrent users it should be set to false to keep resource usage on low level.

public bool EnableMaximumPerformance { get; set; }

Property Value

bool

EnableVodIframeStream

Gets or sets a value indicating whether the server generates an I-frame stream for VOD publishing points. I-frame stream can be used for the faster than realtime rewind or fast-forward playback on clients while keeping download bandwidth relatively low. Default value is true (enabled).

public bool EnableVodIframeStream { get; set; }

Property Value

bool

HlsPath

Gets or sets the path relative to a root HTTP server path to resolve requests as HLS.

public string HlsPath { get; set; }

Property Value

string

InactivityTimeout

Gets or sets the interval after which user is considered as disconnected if there was no requests received from this user during this interval

public TimeSpan? InactivityTimeout { get; set; }

Property Value

TimeSpan?

MaxSegmentWaitingTime

Gets or sets maximum waiting time for a segment to arrive to HLS sink after a user request. Can be used to set longer waiting time for sources which tend to be slow (eg slower than real-time or network sourced). Default value is 3 seconds.

public TimeSpan? MaxSegmentWaitingTime { get; set; }

Property Value

TimeSpan?

MinimumPartialSegmentDuration

Gets or sets minimum partial segment duration. Makes sense only if low latency mode is enabled.

public TimeSpan MinimumPartialSegmentDuration { get; set; }

Property Value

TimeSpan

MinimumSegmentDuration

Gets or sets minimum segment duration. According to Apple recommendation segment duration should be at least 5 second long.

public TimeSpan MinimumSegmentDuration { get; set; }

Property Value

TimeSpan

OverrideRedirectPort

Gets or sets port to use for internal redirects instead of a request port which is used by default. Could be necessary if the HLS server is behind a reverse proxy.

public int? OverrideRedirectPort { get; set; }

Property Value

int?

OverrideRedirectProtocol

Gets or sets protocol to use for internal redirects instead of a request protocol which is used by default. Could be necessary if the HLS server is behind a reverse proxy.

public string OverrideRedirectProtocol { get; set; }

Property Value

string

TimeshiftBufferDuration

Gets or sets the timeshift buffer duration or in other words playlist duration. Value should be a multiple of MinimumSegmentDuration and must be at least 3 times bigger than MinimumSegmentDuration (to hold 3 segments in the playlist) according to Apple recommendations. The higher the value is the more memory is needed to keep the buffer. Only makes sense for live publishing points.

public TimeSpan TimeshiftBufferDuration { get; set; }

Property Value

TimeSpan

UserContextStrategy

Gets or sets the user context processing strategy.

public UserContextStrategy UserContextStrategy { get; set; }

Property Value

UserContextStrategy

Methods

Clone()

Creates a shallow copy of this HlsServerParameters instance.

public HlsServerParameters Clone()

Returns

HlsServerParameters

A new HlsServerParameters instance with the same property values.

Equals(HlsServerParameters)

Determines whether the specified HlsServerParameters instance is equal to this instance.

public bool Equals(HlsServerParameters obj)

Parameters

obj HlsServerParameters

The parameters to compare with this instance.

Returns

bool

true if the specified parameters are equal to this instance; otherwise, false.