public double MinimumFragmentDuration { get; set; }
Double value that represents the minimum output fragment duration, in seconds.
The minimum output fragment duration indicates the minimum time to accumulate a fragment for delivery to all the protocols. The default value is 2 seconds. Setting this to a smaller value can result in reduced latency. However, some protocols will not function with a value that is too small.
using Leadtools;
using Leadtools.MediaStreaming;
public Server _server = null;
public bool _result = false;
public void PrintLiveStreamsExample()
{
try
{
string strLiveStreams = "";
// create an instance of the server object
_server = new Leadtools.MediaStreaming.Server();
// retrieve a copy of the Live Streams
LiveStreams Streams = _server.GetLiveStreams();
strLiveStreams += string.Format("--- Live Streams (count = {0}) ---\n\n", Streams.Count.ToString());
// print the all live streams properties to a string
for (int nIndex = 0; nIndex < Streams.Count; nIndex++)
{
LiveStream stream = Streams.GetLiveStream(nIndex);
strLiveStreams += string.Format("Live Stream[{0}]: Path = \"{1}\".\n", nIndex.ToString(), stream.Path);
int nSelection = stream.VideoDevices.Selection;
string strDevice = "";
if (nSelection < 0)
strDevice = "<none selected>";
else
strDevice = stream.VideoDevices[nSelection].FriendlyName;
strLiveStreams += string.Format("Video Device = \"{0}\".\n", strDevice);
nSelection = stream.AudioDevices.Selection;
strDevice = "";
if (nSelection < 0)
strDevice = "<none selected>";
else
strDevice = stream.AudioDevices[nSelection].FriendlyName;
strLiveStreams += string.Format("Audio Device = \"{0}\".\n", strDevice);
strLiveStreams += string.Format("Video Width = \"{0}\".\n", stream.VideoWidth.ToString());
strLiveStreams += string.Format("Video Height = \"{0}\".\n", stream.VideoHeight.ToString());
if (stream.UseVideoInputSize)
strLiveStreams += string.Format("Use Video Input Size = \"true\".\n");
else
strLiveStreams += string.Format("Use Video Input Size = \"false\".\n");
strLiveStreams += string.Format("Video Frame Rate = \"{0}\".\n", stream.VideoFrameRate.ToString());
if (stream.UseVideoInputFrameRate)
strLiveStreams += string.Format("Use Video Input Frame Rate = \"true\".\n");
else
strLiveStreams += string.Format("Use Video Input Frame Rate = \"false\".\n");
strLiveStreams += string.Format("Video Bit Rate = \"{0}\".\n", stream.VideoBitRate.ToString());
if (stream.QSVAcceleration)
strLiveStreams += string.Format("QSVAcceleration = \"true\".\n");
else
strLiveStreams += string.Format("QSVAcceleration = \"false\".\n");
if (stream.CUDAAcceleration)
strLiveStreams += string.Format("CUDAAcceleration = \"true\".\n");
else
strLiveStreams += string.Format("CUDAAcceleration = \"false\".\n");
nSelection = stream.AudioTypes.Selection;
string strType = "";
if (nSelection < 0)
strType = "<none selected>";
else
strType = stream.AudioTypes[nSelection].FriendlyName;
if (stream.UseDeviceEncoding)
strLiveStreams += string.Format("Use Device Encoding = \"true\".\n");
else
strLiveStreams += string.Format("Use Device Encoding = \"false\".\n");
strLiveStreams += string.Format("Minimum Fragment Duration = \"{0}\".\n", stream.MinimumFragmentDuration.ToString());
if (stream.Enable)
strLiveStreams += string.Format("Enable = \"true\".\n");
else
strLiveStreams += string.Format("Enable = \"false\".\n");
if (stream.ActivateOnDemand)
strLiveStreams += string.Format("ActivateOnDemand = \"true\".\n");
else
strLiveStreams += string.Format("ActivateOnDemand = \"false\".\n");
strLiveStreams += string.Format("IdleTimeOut = \"{0}\".\n", stream.IdleTimeOut.ToString());
if (stream.CUDADecoding)
strLiveStreams += string.Format("CUDADecoding = \"true\".\n");
else
strLiveStreams += string.Format("CUDADecoding = \"false\".\n");
if (stream.QSVDecoding)
strLiveStreams += string.Format("QSVDecoding = \"true\".\n");
else
strLiveStreams += string.Format("QSVDecoding = \"false\".\n");
if (stream.HasVideoDeviceURL)
{
strLiveStreams += string.Format("VideoDeviceURL = \"{0}\".\n", stream.VideoDeviceURL);
}
}
// display a message contains the Live Streams information string
MessageBox.Show(strLiveStreams, "LEADTOOLS Media Streaming Examples", MessageBoxButtons.OK, MessageBoxIcon.Information);
_result = true;
}
catch (Exception)
{
_result = false;
}
}