Gets the average bit rate achieved by the multiplexer.
[DispIdAttribute(1)]
int BitRate {get;}
<DispIdAttribute(1)>
ReadOnly Property BitRate As Integer
[DispIdAttribute(1)]
property int BitRate {
int get();
}
An System.Int32 value that represents the average bit rate achieved by the multiplexer.
The average bit rate is affected dramatically by the input media type. Compressed media has a much smaller bit rate.
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;
public bool _result = false;
public CaptureCtrlForm _form = new CaptureCtrlForm();
public CaptureCtrl _captureCtrl;
const int MaxBitRate = 128;
const int TestBitRate = MaxBitRate + 1;
public void NetworkMultiplexerExample()
{
// reference the capture control
_captureCtrl = _form.CaptureCtrl;
// output file
string outFile = @"ltsf://127.0.0.1:27015";
try
{
// try to find a USB camera
if (_captureCtrl.VideoDevices["Logitech"] == null)
throw new Exception("No Logitech video device available");
_captureCtrl.VideoDevices["Logitech"].Selected = true;
// select a video compressor
_captureCtrl.VideoCompressors.Mpeg4.Selected = true;
// set the target output file
_captureCtrl.TargetFormat = TargetFormatType.NET;
_captureCtrl.TargetFile = outFile;
if (_captureCtrl.IsModeAvailable(CaptureMode.Video))
{
// just 10 seconds of capture time
_captureCtrl.TimeLimit = 10;
_captureCtrl.UseTimeLimit = true;
// ready the capture graph in order to get the LNMetMux instance
_captureCtrl.ReadyCapture(CaptureMode.Video);
// get the network multiplexer reference
LMNetMux pMux = _captureCtrl.GetSubObject(CaptureObject.TargetFilter) as LMNetMux;
if (pMux != null)
{
// set live source (dropping samples is allowed if the sink is not sending fast enough to keep up)
pMux.LiveSource = true;
// atleast 10 seconds for the netmux sample queue
if (pMux.MaxQueueDuration < 10)
pMux.MaxQueueDuration = 10;
// 128 kbps max
pMux.BitRateLimit = MaxBitRate * 1024;
// set the result to what we expect
_result = true;
}
// start capture
_captureCtrl.StartCapture(CaptureMode.Video);
// we'll loop on the state and pump messages for this example.
// but you should not need to if running from a Windows Forms application.
while (_captureCtrl.State == CaptureState.Running)
{
if (pMux != null)
{
// confirm that the actual bitrate does not exceed our max specified above
_result &= (pMux.BitRate / 1024 < TestBitRate);
}
Application.DoEvents();
}
// release the mux since its a COM object
if (pMux != null)
Marshal.ReleaseComObject(pMux);
}
}
catch (Exception)
{
_result = false;
}
}
Imports Leadtools
Imports Leadtools.Multimedia
Imports LeadtoolsMultimediaExamples.Fixtures
Public _result As Boolean = False
Public _form As CaptureCtrlForm = New CaptureCtrlForm()
Public _captureCtrl As CaptureCtrl
Private Const MaxBitRate As Integer = 128
Private Const TestBitRate As Integer = MaxBitRate + 1
Public Sub NetworkMultiplexerExample()
' reference the capture control
_captureCtrl = _form.CaptureCtrl
' output file
Dim outFile As String = "ltsf://127.0.0.1:27015"
Try
' try to find a USB camera
If _captureCtrl.VideoDevices("Logitech") Is Nothing Then
Throw New Exception("No Logitech video device available")
End If
_captureCtrl.VideoDevices("Logitech").Selected = True
' select a video compressor
_captureCtrl.VideoCompressors.Mpeg4.Selected = True
' set the target output file
_captureCtrl.TargetFormat = TargetFormatType.NET
_captureCtrl.TargetFile = outFile
If _captureCtrl.IsModeAvailable(CaptureMode.Video) Then
' just 10 seconds of capture time
_captureCtrl.TimeLimit = 10
_captureCtrl.UseTimeLimit = True
' ready the capture graph in order to get the LNMetMux instance
_captureCtrl.ReadyCapture(CaptureMode.Video)
' get the network multiplexer reference
Dim pMux As LMNetMux = TryCast(_captureCtrl.GetSubObject(CaptureObject.TargetFilter), LMNetMux)
If Not pMux Is Nothing Then
' set live source (dropping samples is allowed if the sink is not sending fast enough to keep up)
pMux.LiveSource = True
' atleast 10 seconds for the netmux sample queue
If pMux.MaxQueueDuration < 10 Then
pMux.MaxQueueDuration = 10
End If
' 128 kbps max
pMux.BitRateLimit = MaxBitRate * 1024
' set the result to what we expect
_result = True
End If
' start capture
_captureCtrl.StartCapture(CaptureMode.Video)
' we'll loop on the state and pump messages for this example.
' but you should not need to if running from a Windows Forms application.
Do While _captureCtrl.State = CaptureState.Running
If Not pMux Is Nothing Then
' confirm that the actual bitrate does not exceed our max specified above
_result = _result And (pMux.BitRate / 1024 < TestBitRate)
End If
Application.DoEvents()
Loop
' release the mux since its a COM object
If Not pMux Is Nothing Then
Marshal.ReleaseComObject(pMux)
End If
End If
Catch e1 As Exception
_result = False
End Try
End Sub
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.