EstimateOutputBitRate Method

Summary

Gets the estimated capture output bit rate, in bits per second.

Syntax
C#
VB
C++
public virtual int EstimateOutputBitRate() 
Public Overridable Function EstimateOutputBitRate() As Integer 
public: 
virtual int EstimateOutputBitRate();  

Return Value

The estimated capture output bit rate, in bits per second.

Remarks

The retrieved bit rate depends on the state of the capture object. If the object is in the running state, the retrieved bit rate is related to the actual number of bytes written. If the object is not running, the retrieved bit rate is a theoretical value dependent on the capture settings and the chosen encoder settings.

Example
C#
VB
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
public bool _result = false; 
public CaptureCtrlForm _form = new CaptureCtrlForm(); 
public CaptureCtrl _capturectrl; 
 
public void EstimateExample() 
{ 
   // reference the capture control 
   _capturectrl = _form.CaptureCtrl; 
 
   // output file  
   string outFile = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_EstimateOutputBitRateExample.avi"); 
 
   // set the video capture device, use your capture device name here 
   if (_capturectrl.VideoDevices["USB"] == null) 
      throw new Exception("No USB video device available"); 
 
   _capturectrl.VideoDevices["USB"].Selected = true; 
 
   try 
   { 
      // set the capture target file 
      _capturectrl.TargetFile = outFile; 
 
      // set the capture mode to still and start 
      _capturectrl.ReadyCapture(CaptureMode.Video | CaptureMode.InhibitRun); 
 
      // get the bit rate estimate 
      int bitRate = _capturectrl.EstimateOutputBitRate(); 
 
      // get file size estimate for 60 secs 
      double fileSize = _capturectrl.EstimateOutputSize(60.0); 
 
      // set the result to what we expect 
      _result = (bitRate != 0 && fileSize != 0.0); 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media"; 
} 
Imports Leadtools 
Imports Leadtools.MediaFoundation 
Imports LeadtoolsMediaFoundationExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As New CaptureCtrlForm() 
Public _capturectrl As CaptureCtrl 
 
Public Sub EstimateExample() 
   ' reference the capture control 
   _capturectrl = _form.CaptureCtrl 
 
   ' output file  
   Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "CaptureCtrl_EstimateOutputBitRateExample.avi") 
 
   ' set the video capture device, use your capture device name here 
   If _capturectrl.VideoDevices("USB") Is Nothing Then 
      Throw New Exception("No USB video device available") 
   End If 
 
   _capturectrl.VideoDevices("USB").Selected = True 
 
   Try 
      ' set the capture target file 
      _capturectrl.TargetFile = outFile 
 
      ' set the capture mode to still and start 
      _capturectrl.ReadyCapture(CaptureMode.Video Or CaptureMode.InhibitRun) 
 
      ' get the bit rate estimate 
      Dim bitRate As Integer = _capturectrl.EstimateOutputBitRate() 
 
      ' get file size estimate for 60 secs 
      Dim fileSize As Double = _capturectrl.EstimateOutputSize(60.0) 
 
      ' set the result to what we expect 
      _result = (bitRate <> 0 AndAlso fileSize <> 0.0) 
   Catch generatedExceptionName As Exception 
      _result = False 
   End Try 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.MediaFoundation Assembly