Class HlsServerParameters
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
EnableEncryption
Gets or sets a value indicating whether encryption is enabled.
public bool EnableEncryption { get; set; }
Property Value
EnableLowLatency
Gets or sets a value indicating whether low-latency mode is enabled.
public bool EnableLowLatency { get; set; }
Property Value
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
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
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
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
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
MinimumPartialSegmentDuration
Gets or sets minimum partial segment duration. Makes sense only if low latency mode is enabled.
public TimeSpan MinimumPartialSegmentDuration { get; set; }
Property Value
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
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
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
UserContextStrategy
Gets or sets the user context processing strategy.
public UserContextStrategy UserContextStrategy { get; set; }
Property Value
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
objHlsServerParametersThe parameters to compare with this instance.
Returns
- bool
trueif the specified parameters are equal to this instance; otherwise,false.