Leadtools.MediaFoundation Namespace > CaptureCtrl Class : EstimateOutputSize Method |
'Declaration Public Overridable Function EstimateOutputSize( _ ByVal duration As Double _ ) As Double
'Usage Dim instance As CaptureCtrl Dim duration As Double Dim value As Double value = instance.EstimateOutputSize(duration)
The estimated output size is calculated using the following equation: Size = (Bitrate * Duration) / 8.
The retrieved size depends on the state of the capture object. If the object is in the running state, the retrieved size is related to the actual number of bytes that have been written. If the object is not running, the retrieved size is a theoretical value dependent on the capturing settings and the chosen encoding settings.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 18\Media" End Class
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 18\Media"; }