VideoLab is a set of components for complex video processing with almost zero lines of code!


  • Capture
  • Process
  • Mix
  • Record
  • Analyze
  • Display


What can I build with VideoLab?


With VideoLab you can do just about anything imaginable: synthesize, capture, process, and analyze; mix, listen, visualize and more.


Applications include:

  • Video Capture - Record videos from camcorder, Web Cam or IP Camera.
  • DVD Player - Plays DVDs.
  • Screen Capture - Record videos from the screen.
  • Combine - Mix, merge, split and transition videos.
  • Convert - converts video from one format to another.
  • Filtering - perform batch filtering on videos.
  • Jukeboxes, and Play Lists - play sequences with cool transition effects.
  • Transparency - mix videos by using transparent colors.
  • Broadcast - compress and broadcast the video.
  • Playback - create playback applications.
  • Video editing - create video editing and analysis applications.
  • Video streams - watch video from video streaming servers.


Capture and record video and audio (see .NET or VCL tutorial):


Play recorded video (see .NET or VCL tutorial):



Capture, process and record video and audio:





Mix different video sources, record and display the result:

Signals can be analyzed in real time of played later and post-processed:
The latest version of VideoLab supports the old fashioned Windows API( Video For Windows ( VFW ), VCM, WaveAPI, ACM), the newer DirectShow, DMO, the free FreeFrame and even allows if needed any mixture of them. The developer can choose the technology and can switch from one to the other at any moment: VideoLab hides the complexity of the chosen technology and makes the components look almost identical from the developer's perspective.
Here is the full list of the supported technologies:
Win32 API:
  • Video For Windows ( VFW )
  • Video Compression Manager ( VCM )
  • Audio Compression Manager ( ACM )
  • WaveAPI
  • DirectShow
  • Direct Media Objects ( DMO )
  • Intel MMX
  • Intel Performance Primitives ( IPP )
Free Third Party Libraries:
  • FreeFrame and FreeFrameGL
  • VirtualDub
The library includes AVI Player, AVI Logger with compression capabilities, DirectShow Video Player and Video Logger, Noise generators, Test Image generator, Video Display, and DirectShow video Render, Histogram, a large set of filters, geometric transformation components, Mixers, Effects, a Win32 API and DirectShow Video Capture component. Some additional components from the SignalLab and PlotLab have been added to allow processing Histogram Data, and components from AudioLab are included to allow basic audio processing and display.

Our component libraries come in 3 versions a VCL - Firemonkey version (for Delphi / C++ Builder / RAD Studio 10.3 or higher), an MFC compatible Visual C++ version, and a .NET 4.0 supporting Visual Studio 2005 or higher.
The RAD Studio version is a set of native VCL and Firemonkey components of which all include now the powerful Mitov Runtime.
The Visual C++ version is a set of native Visual C++ classes (components).
The NET 4.0 (4.5 and higher compatible) version is a set of managed .NET components.  The .NET version has the same performance as the native versions, and supports all the Microsoft .NET languages including Visual Basic, C#, J#, F# and C++/CLI.
Due to the unique architecture of the OpenWire platform, the components are implemented the same way in Managed .NET and native Windows (32 and 64 bit) environments. The code to control a component from VB.NET, C++/CLI, C#, and J#, Visual C++ MFC, Delphi, and C++ Builder is almost identical. This allows the developers to migrate and share code between the different environments thus significantly improving the productivity.
OpenWire Libraries: for fast, complex data stream processing with almost zero lines of code!
Delphi Prism RAD Studio XE8 Delphi XE8 C++ Builder XE8 RAD Studio 10 Seattle Delphi 10 Seattle C++ Builder 10 Seattle RAD Studio 2010 C++ Builder 2010 Delphi 2010

Audio Filters

ALAudioToReal ALAudioToReal Converts Wave Audio Data Buffers into Real Data Buffers
ALGenericFilter ALGenericFilter User defined filter for Audio data
VLAudioSynchronize VLAudioSynchronize

Use this component to synchronize the video with the time from the audio stream

Audio generators

ALGenericGen ALGenericGen User defined generator for Audio data

Audio output components

ALAudioOut ALAudioOut Sends audio data to an audio output device

Color transformations

VLGrayScale VLGrayScale Converts the video to gray scale
VLColorTwist VLColorTwist Twists the colors of the image
VLGammaFilter VLGammaFilter Gamma-corrects the image
VLImageAdjust VLImageAdjust
Adjusts the Brightness, Contrast, Saturation, Hue, and Lightness of the image
VLThreshold VLThreshold Sets the pixels above/bellow a threshold to a color
VLHistogramEqualize VLHistogramEqualize Equalizes the image histogram
VLColorLookup VLColorLookup Changes the pixel colors based on a lookup table


ALAudioToReal ALAudioToReal Converts Wave Audio Data Buffers into Real Data Buffers
SLChangeRange SLChangeRange Changes the output range of the signal
SLDetectLevels SLDetectLevels Detects levels in the input signal
SLPair SLPair Pairs multiple data buffers together
SLMakeStructure SLMakeStructure

Combines elements into a strucrure

SLSplitStructure SLSplitStructure

Splits a structure into multiple elements

Custom Filters

SLGenericRealValue SLGenericRealValue User defined filter for Real values
SLGenericReal SLGenericReal User defined filter for Real data
SLGenericFilter SLGenericFilter User defined filter for Binary data
SLGenericRealMatrix SLGenericRealMatrix User defined generator for Real matrix data

DirectShow Audio output components

ALDSAudioOut ALDSAudioOut Sends audio data to an audio output device

DirectShow Video Compression

VLDSVideoCompressor VLDSVideoCompressor Compresses the video using DirectShow
VLDSVideoDecompressor VLDSVideoDecompressor Decompresses compressed video using DirectShow

DirectShow Video Filters

VLDMOEffect VLDMOEffect Performs a DMO effect over the video
VLDSVideoFilter VLDSVideoFilter Passes video trough a DirectShow filter

DirectShow Video output components

VLDSImageDisplay VLDSImageDisplay Video display component using DirectShow
VLDSVideoLogger VLDSVideoLogger Records Video files using DirectShow
VLDSVideoOut VLDSVideoOut Sends video to an output device
VLASFLogger VLASFLogger Records ASF and WMV Video Files
VLASFBroadcast VLASFBroadcast Broadcasts ASF and WMV Video over Internet using TCP/IP socket and/or publishing point(s)
VLDSToSinkFilter VLDSToSinkFilter Sends video to a DirectShow filter

DirectShow Video source components

VLDSCapture VLDSCapture Captures Video from device using DirectShow
VLDSVideoPlayer VLDSVideoPlayer Plays Video files using DirectShow
VLDSFromSourceFilter VLDSFromSourceFilter Captures video from DirectShow filter

DirectShow support components

VLDSVideoPreviewDock VLDSVideoPreviewDock Docking location for video preview


MLDSGraphView MLDSGraphView DirectShow graph display


VLFire VLFire Applies fire effect over the frames, or generates frames with fire
VLRipple VLRipple Applies water ripple effect over the frames, or generates frames with water ripple
VLAlphaTrail VLAlphaTrail Applies alpha trail effect over the video.

Generic Filters

SLGenericReal SLGenericReal User defined filter for Real data
SLGenericFilter SLGenericFilter User defined filter for Binary data
SLGenericRealMatrix SLGenericRealMatrix User defined generator for Real matrix data
TLGenericTextFilter TLGenericTextFilter User defined filter for Text data
TLGenericFilter TLGenericFilter

User defined timing filter

Generic Generators

SLGenericGen SLGenericGen User defined generator for Binary data
SLGenericRealGen SLGenericRealGen User defined generator for Real data

Geometric transformations

VLResize VLResize Resizes the image
VLCrop VLCrop Crops the video
VLMirror VLMirror Mirrors the image
VLRotate VLRotate Rotates the image
VLShear VLShear Shears the image
VLWarp VLWarp Warps the image
VLFishEye VLFishEye Applies FishEye effect over the image
VLSwirl VLSwirl Applies FishEye effect over the image
VLCylinder VLCylinder Applies Cylinder effect over the image
VLMovingLeastSquaresWarp VLMovingLeastSquaresWarp

Applies Moving Least Squares Warp effect over the image

Noise generators

VLUniformNoise VLUniformNoise Adds Uniform Random noise to the image
VLGaussNoise VLGaussNoise Adds Gaussian distribution oise to the image


VLDraw VLDraw Applies(draws) graphical layers over the video frames
VLSnapshot VLSnapshot Takes a snapshot frame
VLHistogram VLHistogram Computes intensity histogram of image
VLCombine VLCombine Combines two videos
VLFrameChange VLFrameChange Combines two sequential frames
VLColorSplit VLColorSplit Splits the image into color components
VLApplyMask VLApplyMask Applies a picture mask over the image
VLTransparentColor VLTransparentColor Merges two videos with transparent(see trough) color in one of them
VLQueuedSwitch VLQueuedSwitch Multi-channel queued video and audio switch
VLDelay VLDelay Delays the video by a number of frames
VLChangeFormat VLChangeFormat Changes the video format
VLSwitch VLSwitch Enables or disables the video to go trough
VLColorsToReal VLColorsToReal Splits the color components of a frame in real buffers
VLChangeRate VLChangeRate Changes the video frame rate
VLRealToFrame VLRealToFrame Constructs frame from color space real buffers
VLColorMerge VLColorMerge Merges color components (RGB, YUV etc.) into a frame
VLHueVector VLHueVector Computes the Hue Vector of image
VLApplyAlpha VLApplyAlpha Applies an Alpha channel over the image
VLVideoMixer VLVideoMixer Mixes multiple video streams
VLFrameQueue VLFrameQueue Video frames queue component
OpenWireStudio OpenWireStudio

Loads, executes, and exchanges data with OpenWire Studio projects

Plug In filters

VLFreeFrame VLFreeFrame Applies a FreeFrame filter or effect
VLVirtualDub VLVirtualDub Applies a VirtualDub filter or effect

Signal Filters

SLGenericRealValue SLGenericRealValue User defined filter for Real values
SLGenericReal SLGenericReal User defined filter for Real data
SLGenericFilter SLGenericFilter User defined filter for Binary data
SLGenericRealMatrix SLGenericRealMatrix User defined generator for Real matrix data

Signal Generators

SLGenericRealValueGen SLGenericRealValueGen User defined generator for Real values
SLGenericGen SLGenericGen User defined generator for Binary data
SLGenericRealGen SLGenericRealGen User defined generator for Real data

Timing components

TLWatchDogTimer TLWatchDogTimer

Implements a Watch Dog Timer.

TLMainThredEvent TLMainThredEvent

Allows other threads to generate main thread notifications.

TLClockGen TLClockGen

Provides clock for other components.

TLThreadEvent TLThreadEvent

Use this component to execute code in a separated thread

TLStopWatch TLStopWatch

Use this component to implement a Stop Watch

TLFrequencyMeter TLFrequencyMeter

Use this component to implement a Frequency meter

TLCounter TLCounter

Use this component to implement a Counter


SLAverageValue SLAverageValue

Use this component to average the input values

Video Compression

VLVideoDecompressor VLVideoDecompressor Decompresses compressed video
VLVideoCompressor VLVideoCompressor Compresses the video
VLLAVVideoCompressor VLLAVVideoCompressor

Compresses video using FFMPeg/LibAV

VLLAVVideoDecompressor VLLAVVideoDecompressor

Decompresses compressed video using FFMPeg/LibAV

Video filters

VLMorphFilter VLMorphFilter Erodes or deludes the video
VLWienerFilter VLWienerFilter Performs Wiener filter over the video
VLGenericFilter VLGenericFilter User defined filter for Video data
VLBoxFilter VLBoxFilter Performs Average, Min, Max or Median filter operation
VLFixedFilter VLFixedFilter Performs predefined filter operation over the image
VLRectKernelFilter VLRectKernelFilter Performs user defined rectangular kernel filter
VLGaussianBlur VLGaussianBlur Gaussian blur filter
VLHistory VLHistory

Provides history for the last N frames.

VLUnsharp VLUnsharp

Performs Unsharp masking over the image

VLNegative VLNegative

Converts the image into a negative

VLSolarize VLSolarize

Applies Solarization effect over the image

Video output components

VLImageDisplay VLImageDisplay Video display component
VLAVILogger VLAVILogger Records AVI Video files
VLNDIVideoBroadcast VLNDIVideoBroadcast

Implements NDI Video Broadcast component

VLLAVVideoLogger VLLAVVideoLogger

Records Video files using FFMPeg/LibAV

VLDebugDisplayWindow VLDebugDisplayWindow

Opens a debug window showing the video sent to the component

Video source components

VLImageGen VLImageGen Generates video from image
VLAxisCapture VLAxisCapture Captures Video from Axis IP Camera using the Axis media control
VLCapture VLCapture Captures Video from device
VLAVIPlayer VLAVIPlayer Plays AVI Video files
VLGenericGen VLGenericGen User defined generator for Video data
VLASFPlayer VLASFPlayer Plays ASF and WMV Video Files
VLJaehneGen VLJaehneGen Generates a test Jaehne image
VLScreenCapture VLScreenCapture Captures Video from the screen
VLDVDPlayer VLDVDPlayer Plays DVDs
VLIPCamera VLIPCamera

Use this component to capture video data from a generic IP Camera

VLNDIVideoReceiver VLNDIVideoReceiver

Implements NDI Video Receiver

VLVideoPlayer VLVideoPlayer

Cross platform Video Player (Currently only MAC implementation)

VLFMXVideoCapture VLFMXVideoCapture

Cross Platform FireMonkey Video Capture component

VLLAVVideoPlayer VLLAVVideoPlayer

Plays Video files using FFMpeg/LibAV


SLScope SLScope Visible Scope/Plot component for representing floating point data
SLWaterfall SLWaterfall Visible waterfall for representing Real(double) data

Video Layers

SLScopeLayer SLScopeLayer

A scope drawing layer.  You can add this layer to any drawing component such as TVLDraw to render a video layer containing a scope

SLWaterfallLayer SLWaterfallLayer

A waterfall draw layer.  You can add this layer to any drawing component such as TVLDraw to render a video layer containing a waterfall

VLDrawShapeLayer VLDrawShapeLayer Layer drawing simple shapes
VLDrawTextLayer VLDrawTextLayer Layer drawing text labels
VLDrawPictureLayer VLDrawPictureLayer Layer drawing image
VLDrawMarkersLayer VLDrawMarkersLayer Layer drawing markers
VLDrawXYFloatLayer VLDrawXYFloatLayer Layer drawing X,Y points
VLImageDisplayLayer VLImageDisplayLayer Layer drawing video
VLFireLayer VLFireLayer Fire effect video layer

Matrix Layers

SLExternalScopeMatrixLayer SLExternalScopeMatrixLayer A scope matrix component layer
SLExternalWaterfallMatrixLayer SLExternalWaterfallMatrixLayer A waterfall matrix component layer
VLExternalImageDisplayMatrixLayer VLExternalImageDisplayMatrixLayer Matrix element drawing video

Control Element

SLExternalScopeElement SLExternalScopeElement A scope component element
SLExternalWaterfallElement SLExternalWaterfallElement A waterfall component element
VLExternalImageDisplayElement VLExternalImageDisplayElement Component element drawing video

VideoLab: What's New

New in Version (released on 2024-06-14)

  • Improved Delphi 12.0 support
  • Improved Persistent Collections Editor
  • Improved LiveBinding editor performance
  • Added Terminate for IShellProcess
  • Added TFileHelper with ContentEquals method
  • Improved compatibility with the Delphi 12.0 Modern Compiler
  • Added Unsigned buffer support
  • Improved performance
  • Improved Scope/Waterfall screen refresh
  • Improved Debugger Visualizers

New in Version (released on 2024-02-21)

  • Improved C++ Builder support
  • Improved Design time Performance

New in Version (released on 2023-12-06)

  • Added Delphi 12 support
  • Redesigned installation not requiring Admin privileges when compiling the libraries
  • Improved Performance
  • Added Sets support
  • Improved Mitov TypeInfo
  • Improved Dynamic Type Info
  • Improved Mitov Design Time API
  • Redesigned Persistent Collection Editor
  • Modernized Dialogs
  • Improved Win64 support
  • Improved Container Classes
  • Added TDirecory helper
  • Large number of bug fixes
  • Improved Property and Component Editors
  • Added MouseHitPoint to Scope Channels, and Waterfall Highlighting
  • Improved LAVVideoPlayer

New in Version 8.0.0. 77 (released on 2022-04-30)

  • Improved DirectShow Video Capture component
  • Improved Scope Threading support

New in Version 8.0.0. 74 (released on 2022-04-25)

  • Updated maintenance release for RAD Studio/Delphi 10.4 Sydney with minor improvements

New in Version 8.0.0. 73 (released on 2022-04-20)

  • Updated maintenance release for RAD Studio/Delphi 10.3 Rio with minor improvements

New in Version 8.0.0. 69 (released on 2022-03-28)

  • Added support of indexed list collection enumebarbles
  • Improved MAC64 support
  • Improved OpenWire Graphical Editor
  • Improved performance
  • Improved support for drag-able Scope and Waterfall markers
  • Added mouse events for Scope and Waterfall marker cross hairs

New in Version 8.0.0. 63 (released on 2022-03-09)

  • Updated maintenance release for RAD Studio/Delphi 10.4 Sydney

New in Version 8.0.0. 62 (released on 2022-03-07)

  • Updated maintenance release for RAD Studio/Delphi 10.3 Rio

New in Version 8.0.0. 59 (released on 2022-03-02)

  • Improved RAD Studio 11 compatibility
  • Improved RGBW and RGBWAlpha color support
  • Improved Execute Process implementation
  • Improved support for OpenWire State pins
  • Improved Structure components support
  • Significantly expanded MouseHitPoint settings for the Scope, and Waterfall
  • Added Clock Event elements in Make/Split Structure components

New in Version 8.0.0. 48 (released on 2022-01-28)

  • Added basic RGBW and RGBWAlpha support
  • Number os small design time bug fixes

New in Version 8.0.0. 43 (released on 2021-12-21)

  • Improved Rad Studio 11 compatibility
  • Improved Mitov.Runtime collections
  • Improved performance
  • Improved Dynamic Type Info support
  • Improved Visual Live Binding support
  • Improved elements editor

New in Version 8.0.0. 36 (released on 2021-10-11)

  • Added RAD Studio 11 support
  • Improved Performance
  • Improved Property Editors
  • Improved Debugger Visualizers
  • Added more Format Converters
  • Improved JSON support
  • Improved FMX Waterfall implementation
  • Added 4bit grayscale image support
  • Added option for user provided polygons in the TVLDrawPolygonsLayer

New in Version 8.0.0. 27 (released on 2021-06-20)

  • Improved RAD Studio 10.4 Sydney support
  • Improved Dynamic Type Info implementation

New in Version 8.0.0. 21 (released on 2021-05-12)

  • Added RAD Studio 10.4 Sydney support
  • Improved Dynamic Type Info implementation

New in Version 8.0.0. 0 (released on 2020-11-26)

  • Added Visual Studio 2019 support
  • Redesigned Visual C++ support
  • Added Byte and Char visual live bindings
  • Significantly improved loading execution, and editing speed
  • Significantly improved JSON support
  • Improved IGDIPlus rendering performance
  • Modified to use interface class function methods instead of constructors
  • Redesigned pin path collection to significantly improve the speed
  • Redesigned to set pin and properties owner fields on creation
  • Improved pin information caching
  • CreateLock replaced by Create with Lock parameter
  • Improved FMX Design Time support
  • Improved FMX support
  • Improved zoom selecting in the scope

New in Version (released on 2020-09-24)

  • Updated to RAD Studio 10.3 Rio Update 3
  • Added support for Boolean Buffers
  • Improved buffer visualizers
  • Improved TVLDraw implementation
  • Improved NDI support
  • Added initial Windows support for TVLVideoPlayer
  • Added Audio and Video support to the Packet and Structure components
  • Improved Unpacket implementation
  • Added UnpackedOutputPin to the Split Structure and Unpacket components
  • Significantly Improved FMX support for the Scope and Waterfall components
  • Improved Visual Live Bindings
  • Significantly redesigned OpenWire Editor
  • Added initial Quaternion and 3D Point support
  • Added OSX64 support
  • Improved overall performance and stability
  • Added option to use Const anonymous methods for improved performance
  • Improved FMX compatibility and support
  • Simplified JSON API
  • Improved JSON implementation
  • Improved sockets implementation
  • Added Sockets Multicast support
  • Significantly improved Execute Process implementation
  • Added support TStrings reverse enumerators and Query interface trough class helper
  • Improved Dynamic Type Info implementation
  • Improved Property Collection and Component Collection editors
  • Improved Property editors

New in Version (released on 2018-12-21)

  • Added RAD Studio 10.3 Rio support
  • Improved Dynamic Type Info implementation
  • Improved property editors
  • Added optional override for Frame Rate, OnConnectionsCountChanged, and OnTallyChanged to the NDI Boroadcast 
  • Added OnStreamsCountChanged to the NDI Receiver

New in Version (released on 2018-11-12)

  • Added Initial Linux support
  • Added Initial iOS support
  • Added RAD Studio 10.2 Tokyo support
  • Added Visual Studio 2017 support
  • Added 64 bit Visual C++ support
  • Improved MAC, and Android compatibility
  • Improved video players support when audio stream is not present
  • Added TVLHistory
  • Added TVLMovingLeastSquaresWarp
  • Added TVLUnsharp
  • Added TVLNegative
  • Added TVLSolarize
  • Added TVLNDIVideoReceiver
  • Added TVLNDIVideoBroadcast
  • Added LastFrameOnStop to the TVLVideoMixer
  • Improved IP Camera support
  • Improved GPU support
  • Added TVLVideoMixer.Close and IgnoreRate
  • Added VLVideoPlayer
  • Added TVLFMXVideoCapture
  • Added TVLDebugDisplayWindow component
  • Added ROI support for Mirror
  • Added IP Camera inplace display
  • Changed to allow cropping on/off during run
  • Improved UYVY support
  • Added OnDragged event for TSLDisplayCursor
  • Improved support for Scope Cursors
  • Added separated AutoScaling EnabledMin and EnabledMax properties
  • Added initial Waterfall Interpolate option
  • Added TSLWaterfallMarkers.AddAt
  • Added CursorTrail settings
  • Added GetXIndexesAtValue and GetYIndexesAtValue to the Scope Channels
  • Added serialization for ISLDataBuffer
  • Added buffer enumerators
  • Improved bindings API
  • Pins converted to use the new Mitov.Runtime serialization
  • Added OWRequiredPinAttribute support
  • Added TOWIntToCardinalFormatConverter and TOWCardinalToIntegerFormatConverter
  • Added TOWRealToRealComplexFormatConverter
  • Added TOWRealListStatePin and TOWIntegerListStatePin
  • Added Execute Process
  • Added Command Line parsing and Process Execute
  • Added option to disable the design time extentions
  • Added Socket Binding
  • Redesigned JSON Serialization
  • Added TPeriodicThread
  • Added initial Dynamic Type Info implementation
  • Added GetIndexedSubProperty in the RTTI
  • Added GetType for TObject in the RTTI
  • Added support for both object and class in TMethodInfo.Invoke in the RTTI
  • Enchanced Query functionality
  • Added IPairCollection
  • IArrayWriter renamed to ISequentialWriter
  • IArrayReader renamed to ISequentialReader
  • Improved Serialization Readers
  • Added Reserialize
  • Improved design time property editors support
  • Added option to replace property collection items while keeping all compatible settings
  • Added filtering for property collections
  • Added support for categorized list property selection
  • Added TreeView filtering support
  • Updated to use the latest Delphi language features

New in Version (released on 2016-05-03)

  • Added RAD Studio 10.1 Berlin support
  • Removed the old .NET 2.0 Assemblies
  • Added Negative, Solarize, and Unsharp components with Multi-core, and OpenCL GPU implementations
  • New mirrored border processing Multi-core, and OpenCL GPU Morph filter, all the Box Filters, Wiener Filter, Gaussian Blur, and Rectangle Kernel filter implementation
  • New Multi-core, and OpenCL GPU Image Adjust component
  • Added Visual Live Binding property editors
  • Added Reset to Default property editors
  • Added Enum property editors
  • Added Class events property editors
  • Added Multi-Event property editors
  • Improved RTSP/IPCamera
  • Added option to Enable the processing engines
  • Introduced MAC support for some of the components when compiling with source code

New in Version (released on 2015-10-28)

  • Added 10 Seattle support
  • Added support for VS2015
  • Added TOWBoolToIntFormatConverter
  • Improved threading support
  • Improved OpenWire Editor
  • Clock pins changed to MiltiSink
  • Improved Design Time Editors
  • Improved JSON support
  • Improved collections
  • Added more Live Binding types
  • Added support for hosting OpenWire Studio projects
  • Added serialization support in the buffers
  • Improved support for IP Cameras
  • Added TVLMovingLeastSquaresWarp
  • Added OnlyTimestamps option to the TVLChangeRate

New in Version (released on 2015-04-17)

  • Added TTLGenericFilter
  • Added more visual live binding types
  • Significantly improved property Delphi editors
  • Timestamps interfaced
  • IVLDateTime interfaced
  • IVLTimeCode interfaced
  • Added option to access Aplha Pixels in image buffer
  • Improved IP Camera support

New in Version (released on 2014-12-20)

  • Improved .NET support
  • Enchanced OpenWire Editor
  • Added custom toolbar buttons, and images to the PlotLab components
  • Added more visual live bindings
  • Added custom Width for the display cursors to the PlotLab components
  • Improved TVLDSVideoModes and TALDSAudioModes support for the TVLDSCapture

New in Version (released on 2014-11-18)

  • Improved IPCamera component
  • Added TVLSharedMemoryIn component
  • Added TVLSharedMemoryOut component
  • Added OpenCL and parallel processing support for TVLImageAdjust
  • Improved FFMpeg support
  • Added button events to the PlotLab components
  • Added selection mouse events to the PlotLab components
  • Added HoldWhileZooming to the PlotLab components
  • Added DisplayChannelLink custoom drawing to the PlotLab components
  • Includes the free Mitov.Runtime
  • Added XE7 support

New in Version (released on 2014-04-15)

  • XE5 and XE6 support
  • Significantly enhanced OpenWire Editor
  • Improved Property and component editors
  • Improved FireMonkey support
  • Performance improvements
  • Added FFMPeg VideoLogger, VideoPlayer, VideoCompressor, and VideoDecompressor
  • Improved IPCamera component
  • Added TLPProcessingManager component
  • Added TTLSynchronize component
  • Added TVLHistory component
  • Added TVLVideoSynchronize component
  • Added support for DB signal data binding
  • Added support for VCL DB Components visual live binding
  • Improved Imadge Adjust component

New in Version 6.0 (released on 2013-06-12)

  • Added support for Delphi / C++ Builder / RAD Studio XE4
  • The OpenWire Editor and Visual Live Binding are now included in the install
  • Added TVLIPCapture component
  • Added TTLStopWatch component
  • Added TTLCounter component
  • Added TTLThreadEvent component
  • Added TTLFrequencyMeter component
  • Added TSLAverageValue component
  • Added FreeFrameGL support and FreeFrame 1.6 64 bit Beta specification compliant support
  • Added support for still image cameras in DirectShow
  • Improved Firemonkey support
  • Significantly improved threading model and performance
  • Significant code reduction due to upgrade to the latest language features such as generics, anonymous methods, and attributes
  • New design time API and functionality
  • Better integration with the OpenWire Editor including inplace editors in the OpenWire view
  • Discontinued support for Delphi and C++ Builder versions older than XE2 due to the lack of support for the latest language features in them
  • Redesigned DirectShow support
  • Improved .NET memory management
  • Improved .NET design time integration
  • Improved OpenWire Editor .NET integration

New in Version (released on 2012-10-20)

  • Fixed a bug when populating existing buffers in .NET generic filters

New in Version 5.0.3 (released on 2012-10-10)


  • Added TMLDSMediaFilter component
  • Added TTLGenericTextFilter component
  • Added cursor pins for the Waterfall component
  • Added floating markers for the Scope component
  • Integrates with Visual Live Bindings
  • Can render video over any Firemonkey component that can accept bitmaps, including 3D textured components
  • Added support for Delphi / C++ Builder / RAD Studio XE3
  • Added support for Visual Studio 2012
  • Improved Firemonkey support
  • Fixed memory leak for .NET generic filters

New in Version 5.0.2 (released on 2012-04-16)


  • Added FireMonkey support.
  • Added 64 bit support for VCL, FireMonkey, and .NET
  • All .NET assemblies are now managed assemblies.
  • The .NET assemblies are reduced by half combining low level and high level assemblies, and simplifying deployment.
  • All .NET assemblies now contain the necessary 32 and 64 bit BPLs and DLLs internally simplifying the deployment.
  • The .NET Visual C++ redistributables are no longer needed.
  • Added access to IBaseFilter in the DirectShow video capture component.
  • Added PlotLab Waterfall Cursors, CursorLinks and Labels.
  • Added PlotLab Waterfall Cursor Intersection pins.

New in Version 5.0.1 (released on 2011-10-18)

  • The managed assemblies are now rewritten in C# for better .NET 4.0 compatibility.
  • Added support for .NET 4.0 and .NET 3.5 “Client Profile”.
  • Significantly improved .NET type converters.
  • Significantly optimized component loading performance in .NET.
  • Major improvements in the .NET property editors.
  • Small improvements in the Unicode support for VC++.
  • Improved VisualStudio 2010 .NET support.
  • .NET assemblies have been renamed to better match the Microsoft guidelines.
  • Added .NET 4.0 assemblies.

New in Version 5.0 (released on 2011-09-05)

  • Added Delphi XE and XE2 support.
  • Added video capture camera control.
  • Added 16 bit GrayScale, YV12, and IYUV video format support.
  • Added TVLAlphaTrail component.
  • Added DMO values, and envelopes.
  • Added Scope and Waterfall marker crosshairs.
  • Added ASF player attributes.
  • Brand new subsample Waterfall rendering mechanism.
  • Added optional user input for the video layers.
  • Significantly improved multithreading model adapted for multicore systems, with advanced relaxed interlocking, and with optional per-component, dedicated threads

New in Version 4.5

  • Added Visual Studio 2010 support.
  • Added DVD component.
  • Added TVLGaussianBlur component.
  • Added TVLDSVideoFilter component.
  • Added TMLDSGraphView component.
  • Added TSLGenericRealMatrix component.
  • Added SLGenericRealValue and TSLGenericRealValueGen components.
  • Improved DirectShow support.
  • Improved multithreading locks.
  • Improved Scope component.
  • Improved RAD Studio 2010 buffer debugger visualizes.

New in Version 4.3.1

  • Updated install.
  • Improved RAD Studio 2010 buffer debugger visualizes.

New in Version 4.3

  • Added RAD Studio 2010 support.
  • Added support for composite controls.
  • Added TVLDSToSinkFilter and TVLDSFromSourceFilter components.
  • Added screen capture component.
  • Added picture layer.
  • Added Image display layer.
  • Added Image display matrix layer.
  • Added Image display component element.
  • Added component elements support for the Scope and Waterfall components.
  • Improved .NET memory management.
  • Added RAD Studio 2010 buffer debugger visualizes.

New in Version 4.0.1

  • Added Axis support.
  • Added multiple axes support for the Scope cursors.
  • Added support for short, unsigned short and unsigned integer data for the scope and waterfall components.
  • Improved marker support for the Scope.
  • Improved installs.
  • Improved QueuedSwitch component.
  • Improved master pumping for the DSVideoPlayer.

New in Version 4.0

  • Full Visual Studio 2008 support.
  • Full RAD Studio 2009 support.
  • Added Prism support.
  • Improved .NET support.
  • The library is now fully Unicode compliant.
  • New higher performance multithreading locking for better multi core utilization.
  • Significantly enhanced buffer classes.
  • Full Alpha channel support across the library, including in mixers, geometric transformations, remap filters, histogram components, loggers, and players.
  • Improved DirectShow support, including improved BlackMagic DeckLink support.
  • Added TimingLab ClockGen, WatchDogTimer, and MainThredEvent components.
  • Added ChangeRange and DetectLevels components.
  • Added 4 more frame buffer video formats - UYVY, RGBA32, RGB565, and RGB555.
  • Added automatic format converters in OpenWire.
  • Added basic aspect ratio support.
  • Added Remap filters - FishEye, Swirl, Cylinder
  • Added color Lookup filter
  • Added multichannel video mixer.
  • Added Windows Media Format broadcasting component.
  • Added custom rectangular kernel filter.
  • Added VirtualDub plug-in support.
  • Added FrameQueue component.
  • Added VectorScope component.
  • Added video effects.
  • Added integrated GDI+ support.
  • Added layered drawing component. (Allows applying drawing layers over the video frames)
  • The Scope component supports multiple X and Y Axes.
  • Added Scope and Waterfall toolbar customization.
  • The Scope now allows data gaps.
  • Added Scope Automatic data down sampling for faster drawing of huge amounts of data.
  • Added Scope X Axis logarithmic support.
  • Added Scope channel links (Allow channels to be paired together to form a zone)
  • Circular and arbitrary zones added to the Scope component.
  • Added Scope Step channel mode.
  • Added scope panning navigation mode.
  • Added Scope directional zooming.
  • Added Scope and Waterfall Axis and Level configuration buttons.
  • Added new examples.

New in Version 3.1

  • All libraries are available under .NET.
  • All design time features are now available in .NET
  • All .NET assemblies are signed.
  • The assemblies are registered in GAC.
  • All DLLs are made embedded resources in the assemblies.
  • Fixed some minor OpenWire problems.
  • Full RAD Studio 2007 support.
  • Fixed problems with Reversed and Vertical scope.
  • Added new custom step modes to the Scope and Waterfall.
  • Added data access methods to the Waterfall.
  • Added number of new design editors.
  • Enhanced help files.
  • Delphi 2005, BDS 2006, and RAD 2007 help files are now integrated.
  • Added new examples.

New in Version 3.0

  • Added ChangeRate component.
  • Added RealToFrame component.
  • Added ColorMerge component.
  • Updated to IPP 5.1.
  • Added raw closed caption support (allows access to the CC text).
  • Improved video/audio capture when sharing device.
  • Added support for 8 bit AVI files in TVLAVIPlayer.
  • Added TVLColorsToReal component.
  • Added support for HLS, HSV, YUV, XYZ, YCbCr, YCC and CIELab color modes in the TVLHistogram and TVLColorSplit components.
  • Added TVLDSVideoCompressor.
  • The TVLDSCapture now can capture from DV devices and a separated audio source.
  • Added GrayScale buffer type support.
  • New faster multithreading buffer protection.
  • New faster buffer memory manager.
  • The DataAceessObjects for the buffers are now obsolete. The functionality is moved to the buffers.
  • The buffers raw data access methods now are called Read, Write and Modify. The ModifyData is split into Modify and Write to reduce unnecessary memory copy operations and to improve the performance.
  • Added 24 and 32 bit PCM audio buffer support.
  • Added higher than 44100 sample audio rates support.
  • Added multichannel (More than 2) audio support.
  • Added Generic generator components.
  • Added On/Off Switch component.
  • Added ChangeFormat component.
  • Fixed Enable/Disable TVLDSVideoLogger for video and audio logging.
  • Enhanced DirectShow TV Tuner support.
  • Enhanced ASF profile support.
  • Added basic WMR9 support.
  • Added basic Unicode support for Visual C++ MFC.
  • Fixed bug in CTStrings support in Visual C++ MFC.
  • Fixed bug in the Visual C++ version of ToBitmap.
  • Added Scope and Waterfall custom axis labels.
  • Added Scope channel value intersections support.
  • Added Scope and Waterfall Axis zooming and toolbars.
  • Added X/Y plotting support to the Scope.
  • Added Scope channel highlighting.
  • Added Scope Channel OnClick events.
  • Added Scope Cursor events.
  • Added Scope and Waterfall mouse value tip window.
  • Added Scope and Waterfall OnZoom events.

New in Version 2.2.1

  • Fixed a conflict with TChart.
  • Added Four CC property for the DirectShow Audio and Video compression.
  • Added initial support for vertical Scope.

New in Version 2.2

  • Added two Audio Out components from AudioLab.
  • Added BDS 2006 support.
  • Added Visual Studio 2005 support.
  • Added DV recording date and time support.
  • Added DV timecode support.
  • Added Scope measurements and selections.
  • Added basic mouse wheel support.
  • Enhanced property pages.
  • Allows adding cursors from the property pages.
  • Allows reversed X axes for the Waterfall component.
  • The cursors and the markers now are available in the legend.
  • The Scope and the Waterfall can receive focus.
  • Numerous fixes in the TVLDSCapture component.
  • New Snapshot component.
  • The Queued switch can work as a non-queued switch now.
  • Added Scope cursors, and property pages.
  • Enhanced Scope markers.
  • This version fully supports Visual C++.
  • Added Waterfall markers.
  • Added custom draw functionality in the Scope channels.
  • Added Undo/Redo zoom functionality.
  • Added channel editor for the Scope.
  • Added Marker editor for the Waterfall.
  • Improved Video Compression support.

New in Version 2.1

  • This version does not need any DLLs in order to work.
  • New compression and decompression components for Video over IP applications.
  • New cropping component.
  • New thresholding component.
  • New TVLDSVideoOut component for sending video to external video devices such as Camcorders, VCR or external monitors.
  • New histogram equalization component.
  • New video delay component.
  • New queued video switch component for rapid switching between video sources while running.
  • New Windows Media Format component for creating ASF and WMV files and protected content.
  • The TVLDSCapture component has been enchanted with better TV tuner support.
  • The TVLDSCapture component has been enchanted DV control support.
  • Closed captioning support has been added for the TVLDSCapture component.
  • The logging components have been redesigned to better support splitting video files.
  • Combine video supports offsets.
  • Improved master pumping.
( Click to view Larger images. )
These demos are executable after downloading.
Also see:   Demo source code downloads

VideoLab Examples

Capture from Video Camera, Camcorder, VCR, DVD Player, webcam or TV Tuner Capture from Video Camera, Camcorder, VCR, DVD Player, webcam or TV Tuner OpenWire VL Capture Diagram
Perform geometric transformations. Resize, Rotate, Mirror, Shear, Warp, Inverse Warp Perform geometric transformations. Resize, Rotate, Mirror, Shear, Warp, Inverse Warp OpenWire VL Geometric Transformations
VL Perform image filters VL Perform image filters OpenWire VL Custom Filters
Combine Video files Combine Video files OpenWire VL Combine Videos
Perform Alpha Blending and add transparent bitmaps to the video Perform Alpha Blending and add transparent bitmaps to the video OpenWire VL Alpha Blending and Transparent Video
Create your own filters Create your own filters OpenWire VL Custom Filters
Capture bitmaps from video Capture bitmaps from video OpenWire VL Capture Bitmap from Video
Generate Video from bitmaps Generate Video from bitmaps OpenWire VL Generate Video from Bitmaps
Visualize the RGB Histogram Visualize the RGB Histogram OpenWire VL Video Histogram
Visualize the Audio Visualize the Audio
Use FreeFrame filters Use FreeFrame filters OpenWire VL Using FreeFrame Filters

VideoLab: Frequently Asked Questions

Q: Does VideoLab support the format of my Video Files?
A: VideoLab supports both Win32 API and DirectShow technologies. Win32 API will allow you to play only AVI files. If you decide to use DirectShow VideoLab will use any DirectShow filter available on your system. If you have a DirectShow filter for a particular video format VideoLab will recognize the format and use the proper filter. This means that VideoLab is capable of using any format available today. If you have a file that you can’t play in VideoLab, it means that you probably don’t have the proper DirectShow filter. Please search the web and download the filter needed for the particular format.
Q: I can’t play my video file! What is wrong?
A: In order to play format other then basic AVI you must use the DirectShow TVLDSVideoPlayer component. If you still can’t play the file, please check if you have installed a DirectShow codec for the file format. VideoLab needs a codec available in the system in order to decode the file. A huge selection of codecs is available on the WEB.
Q: Do I have to purchase VideoLab?
A: VideoLab is free for non commercial purposes. This means that you can use it for personal pleasure, hobby, or evaluation purposes. If you are student you can also use it for free for your educational needs including school projects. If you are a tutor at present you also can use it for free for your classes. However in the near future a low cost tutor license will be available, and you will have to purchase it. Your students however will not need license to use the product at class.
Q: Is VideoLab multithreading? Will it stop streaming while I move the window with the mouse?
A: Yes. VideoLab is fully multithreaded and will not stop streaming while the main thread is busy.
Q: Does VideoLab support DirectShow?
A: Yes. VideoLab supports DirectShow 8.1 or higher.
Q: What version of DirectShow I need to run VideoLab?
A: VideoLab supports DirectShow 8.1 or higher.
Q: Can I capture and save bitmaps out of the video stream?
A: Yes. Check the CaptureBitmap in the demos directory.
Q: Can I create a movie from bitmaps?
A: Yes. Check the RecordBitmapsDemo in the demos directory.
Q: Can I process bitmap images with VideoLab?
A: Yes. Check the ProcessBitmap demo project in the demos directory.
Q: Can I process the video faster than the normal video speed.
A: Yes. Check the VideoConvertDemo demo in the DirectShow demoes directory.
Q: I want to copy and paste parts of the video into a new file. Can VideoLab do that?
A: Yes. VideoLab uses DirectShow to play and record files. Many formats do not allow easy positioning and can’t be used with DirectShow Editing Services. VideoLab offers a different approach. It allows you to play even non seek enabled file to a specific position and copy a portion of the file into a new one. Check the VideoConvertDemo demo in the DirectShow demoes directory.
Q: Can I play video files from a Web URL?
A: Yes. You can use the TVLDSVideoPlayer to play files as well as any video URL from the web.
Q: I want to use VideoLab. Do I have to install DirectShow?
A: DirectShow is not required on your system if you are not planning to write application using the DirectShow components of the package.

VideoLab Installers

Firemonkey and VCL Installer: VideoLab VCL and FireMonkey for 12.0 Athens
Updated on 2024-06-14, downloaded 91 times.
Firemonkey and VCL Installer: VideoLab VCL and FireMonkey 32 & 64 bit support for 11.X Alexandria
Updated on 2022-05-01, downloaded 504 times.
Firemonkey and VCL Installer: VideoLab VCL and FireMonkey 32 & 64 bit support for 10.4 Sydney Update 2
Updated on 2022-04-25, downloaded 322 times.
Firemonkey and VCL Installer: VideoLab VCL and FireMonkey 32 & 64 bit support for 10.3 Rio Update 3
Updated on 2022-04-20, downloaded 425 times.
Visual C++ Installer: VideoLab for Visual C++ MFC
Updated on 2020-11-26, downloaded 13848 times.
.NET Installer: VideoLab for Microsoft .NET 4.0 (4.5 and 4.6 compatible)
Updated on 2020-11-27, downloaded 35292 times.

Legacy Firemonkey and VCL Installer: VideoLab VCL and FireMonkey 32 & 64 bit support for 10.2 Tokyo and 10.3 Rio
Updated on 2018-12-22, downloaded 1303 times.
Legacy Firemonkey and VCL Installer: VideoLab VCL and FireMonkey 32 & 64 bit support for XE8 to 10.1 Berlin
Updated on 2016-06-06, downloaded 2189 times.
Legacy Firemonkey and VCL Installer: VideoLab VCL and FireMonkey 32 & 64 bit support for XE7 to 10 Seattle
Updated on 2015-10-28, downloaded 1409 times.
Legacy Firemonkey and VCL Installer: VideoLab VCL and FireMonkey 32 & 64 bit support for XE6 to XE8
Updated on 2015-06-11, downloaded 1481 times.
Legacy Firemonkey and VCL Installer: VideoLab VCL and FireMonkey 32 & 64 bit support for XE4 to XE7
Updated on 2014-11-18, downloaded 1642 times.
Legacy Firemonkey and VCL Installer: VideoLab VCL and FireMonkey 32 & 64 bit support for XE3 to XE6
Updated on 2014-04-22, downloaded 1379 times.
Legacy Firemonkey and VCL Installer: VideoLab 6.0.0 VCL and FireMonkey (Windows only) 32 and 64 bit support for XE2 to XE4
Updated on 2013-06-13, downloaded 4420 times.
Legacy Firemonkey and VCL Installer: VideoLab 5.0.3 VCL and FireMonkey for XE2 Update4 Hotfix1
Updated on 2012-10-13, downloaded 1218 times.
Legacy Firemonkey and VCL Installer: Legacy VideoLab 5.0.3 VCL and FireMonkey (Windows only) 32 and 64 bit support for 2010 to XE
Updated on 2012-10-11, downloaded 11057 times.
Legacy Firemonkey and VCL Installer: VideoLab 5.0.1 for Delphi/C++ Builder 5 to 2009
Updated on 2011-10-18, downloaded 70668 times.


These demos are executable after downloading.   Also see: Demo source code downloads
Audio Display demo
Processes a video file and displays the audio signal in a scope
AVI Filter demo
Demonstrates applying a filter to an AVI input file and saving the output to a new file.
Combine Video demo
Demonstrates combining two or more video streams and displaying one stream inside another at arbitrary locations and orientations
Geometric Transforms demo
Demonstrates rotate, warp, mirror and other geometric transformations
FreeFrame demo
Demonstrates application of FreeFrame filters or effects ( )
Remap Filters demo
Applies Fish Eye, Swirl and other effects to video
Transparent Colors demo
Shows how to apply transparencies and alpha effects to video streams
Vector Scope demo
Demonstrates analyzing video color and displaying hue value in a Vector Scope
Video Compression demo
Demonstrates video compression
Video Effects demo
Fire, wind, text layering and other cool video effects
Video Filters demo
Demonstrates box, gamma-correction, gray scale, high pass and color twist effects
Video Histogram demo
Displays RGB values in a histogram plot


The libraries are licensed per developer, and there are no royalties required. Once you have purchased a developer license, you are free to distribute your final product without the need to pay any royalties or other fees as long as you comply with the following license agreement:
Users of the LabPacks Component Pack(Software) must accept these terms of license.
If you refuse to accept the terms of license, you may not use this software, and you have the right to return it within 30 days of the purchase date, and to receive your money back.
For your convenience a copy of this license agreement will be stored on your system during the installation.
This license grants you the following rights:
You have a non exclusive license to the Software. The Title and all intangible rights to the Software are the property of Mitov Software .  
You may install and use one copy of the Software per computer assuming only one and the same person will use the Software on all of the computers. You may distribute any application that includes Software without any additional royalties beyond your initial license registration fee.
You can also create a reasonable set of copies of the product on different types of media, such as CD Rom or Type Backup, as far as those copies are used only for your own back up protection.
Description of the limitations. 
You may not reverse engineer, decompile, or disassemble the Software.
The Software is licensed as a single product. You may not rent or lease the Software. You must treat the Software like any other copyrighted material except that you may either (a) a reasonable amount of copies of the Software solely for backup or archival purposes, or (b) install the Software multiple computers provided you keep the original solely for backup or archival purposes and only a single developer will use all of the copies.
You may not separate Delphi and C++ Builder components from this Software.
Each developer must have a valid license for the Software.
You may not create a competing component product using this Software.
Additional restriction to Delphi-VCL and C++ Builder components: 
You may not distribute the Delphi-VCL components in a DCU (Delphi Compiled Unit) format. You can distribute the component only as a part of your executable or dynamic link library program in a compiled form.
You may not distribute the C++ Builder components in OBJ format. You can distribute the component only as a part of your executable or dynamic link library program in a compiled form.
Mitov Software grants a limited warranty with these restrictions:


June 14, 2024more...

NEW RELEASE: Updated RAD Studio/Delphi 12.0.0 Athens version of all the libraries has been released!

February 21, 2024more...

NEW RELEASE: Updated RAD Studio/Delphi 12.0.0 Athens version of all the libraries has been released!

December 21, 2023more...

UPDATED: BMDThread Delphi components

December 6, 2023more...

NEW RELEASE: RAD Studio/Delphi 12.0.0 Athens version of all the libraries has been released!

March 9, 2022more...

NEW RELEASE: Updated RAD Studio/Delphi 10.4 Sydney version of all the libraries has been released!

March 7, 2022more...

NEW RELEASE: Updated RAD Studio/Delphi 10.3 Rio version of all the libraries has been released!

March 2, 2022more...

NEW RELEASE: Updated RAD Studio/Delphi 11.0 Alexandria version of all the libraries has been released!

January 28, 2022more...

NEW RELEASE: Updated RAD Studio/Delphi 10.4.2 Sydney version of all the libraries has been released!

January 28, 2022more...

NEW! OpenWire Studio version Beta is released.

December 21, 2021more...

NEW RELEASE: Updated RAD Studio/Delphi 11.0.0 Alexandria version of all the libraries has been released!

October 11, 2021more...

NEW RELEASE: RAD Studio/Delphi 11.0 Alexandria version of all the libraries has been released!

May 12, 2021more...

NEW RELEASE: RAD Studio/Delphi 10.4.2 Sydney version of all the libraries has been released!

More News