Key Features & Capabilities
Universal Format Support
Play 100+ video and audio formats including MP4, AVI, MPEG, MPEG-TS, MKV, WebM, AAC, MP3, OGG, FLAC, and many more without additional codec installations.
Network Streaming
Support for HTTP, HTTPS, FTP, RTSP, RTP, UDP, and other network protocols. Stream live content or play remote media files seamlessly.
Multiple Programming APIs
Native support for C++, C#, VB.NET, and Delphi with comprehensive sample applications and documentation for each platform.
High Performance
Optimized multithreading support with hardware acceleration capabilities. Available in both x86 and x64 architectures.
Hardware-Accelerated GPU Decoding
The VLC Source DirectShow Filter supports multiple hardware acceleration technologies for optimal video decoding performance using DirectX Video Acceleration (DXVA2), NVIDIA NVDEC, Intel Quick Sync Video, and AMD VCE technologies.
Supported GPU Acceleration Technologies
- DirectX Video Acceleration (DXVA2): Windows native hardware acceleration
- NVIDIA NVDEC: CUDA-based hardware decoding for NVIDIA GPUs
- Intel Quick Sync Video: Intel integrated graphics acceleration
- AMD Video Coding Engine (VCE): AMD GPU hardware acceleration
- Vulkan Video: Modern cross-vendor GPU acceleration support
Performance Benefits
- CPU Usage Reduction: 70-90% CPU usage reduction with hardware acceleration
- Power Efficiency: Significantly lower power consumption during video playback
- Thermal Management: Reduced CPU heat generation
- Concurrent Streams: Support for multiple simultaneous hardware-decoded streams
- Higher Resolutions: Efficient 4K/8K video playback with minimal CPU impact
Advanced Controls
Full playback control with seeking, audio track selection, subtitle management, and VLC filter chain support.
Quick Start Guide
Integration Steps
- Install the SDK: Register the VLC Source DirectShow filter on your system
- Add References: Include the necessary DirectShow and VLC headers/libraries
- Create Filter Graph: Initialize DirectShow filter graph components
- Add VLC Source: Instantiate and configure the VLC Source filter
- Connect Renderers: Link video and audio rendering components
- Control Playback: Use MediaControl interface for playback operations
API Reference & Interface Definitions
IVlcSrc Interface
Primary interface for controlling the VLC Source Filter
GUID: {77493EB7-6D00-41C5-9535-7C593824E892}
Methods
SetFile
- Load a media file or network URLGetAudioTracksCount
- Get number of available audio tracksGetAudioTrackInfo
- Get audio track informationGetAudioTrack
- Get currently selected audio trackSetAudioTrack
- Select audio track by IDGetSubtitlesCount
- Get number of available subtitle tracksGetSubtitleInfo
- Get subtitle track informationGetSubtitle
- Get currently selected subtitle trackSetSubtitle
- Select subtitle track by ID (-1 to disable)
IVlcSrc2 Interface
Extended interface with additional VLC customization options
GUID: {CCE122C0-172C-4626-B4B6-42B039E541CB}
Methods
Inherits all methods from IVlcSrc plus:
SetCustomCommandLine
- Set custom VLC command line parameters
IVlcSrc3 Interface
Latest interface with frame rate control
GUID: {3DFBED0C-E4A8-401C-93EF-CBBFB65223DD}
Methods
Inherits all methods from IVlcSrc2 plus:
SetDefaultFrameRate
- Set default frame rate for content without frame rate information
C++ Interface Definitions
For C++ development, the complete interface definitions are available in the official GitHub repository:
Header File: ivlcsrc.h
Interface usage:
The header file contains the complete definitions for:
IVlcSrc
- Primary interface for audio/subtitle controlIVlcSrc2
- Extended interface with custom command line parametersIVlcSrc3
- Latest interface with frame rate control- All associated GUIDs and method signatures
C#/VB.NET Interface Definitions
For .NET development, the interface definitions are available through the VisioForge DirectShow API NuGet package:
NuGet Package: VisioForge.DirectShowAPI
Interface usage in C#:
DirectShow Graph Development Tools
Using VLC Source Filter with GraphEdit
GraphEdit is Microsoft's DirectShow graph visualization and debugging tool that provides DirectShow graph editing capabilities. The VLC Source DirectShow Filter integrates seamlessly with GraphEdit for rapid prototyping and testing.
Setting Up VLC Source in GraphEdit
- Launch GraphEdit: Start GraphEdit with administrator privileges for full filter registration access
- Insert VLC Source Filter:
- Right-click in the graph area
- Select "Insert Filters..."
- Navigate to "DirectShow Filters" category
- Locate "VLC Source" filter
- Click "Insert Filter"
- Configure Media Source:
- Right-click the VLC Source filter
- Select "Properties"
- In the file dialog, specify your media file path or network URL
- The filter accepts local files (C:\media\video.mp4) and network streams (http://example.com/stream.m3u8)
- Add Renderers:
- For video: Insert "Enhanced Video Renderer (EVR)" or "Video Mixing Renderer 9 (VMR-9)"
- For audio: Insert "Default DirectSound Device" or "Audio Renderer (WaveOut)"
- Connect Pins:
- Drag from VLC Source video output pin to video renderer input pin
- Drag from VLC Source audio output pin to audio renderer input pin
- GraphEdit will automatically negotiate media types
Using VLC Source Filter with GraphStudio
GraphStudio provides an alternative DirectShow graph editing environment with advanced debugging features and comprehensive filter analysis tools.
GraphStudio Integration Steps
- Filter Registration Verification:
- Open GraphStudio
- Navigate to "View" → "Filters" tab
- Verify "VLC Source" appears in the registered filters list
- Note the filter's CLSID:
{77493EB7-6D00-41C5-9535-7C593824E892}
- Creating Filter Graph:
- Use "Insert Filter" button or drag from filters panel
- Locate VLC Source under DirectShow filters category
- Drag VLC Source to graph workspace
- Media Configuration:
- Right-click VLC Source → "Load File..."
- Browse to media file or enter network URL
- GraphStudio displays real-time connection status
- Automatic Graph Building:
- Use GraphStudio's "Render" feature
- Right-click VLC Source output pins → "Render Pin"
- GraphStudio automatically inserts appropriate decoders and renderers
System Requirements
Operating Systems
- Windows 10, 11 (all editions)
- Windows 8/8.1
- Windows 7 (SP1 or later)
- Windows Server 2016 and later
Development Support
- Visual Studio 2010-2022
- C++ Builder XE2 and later
- Delphi XE2 and later
- .NET Framework 4.0+
- .NET 5 and later
Architecture Support
- x86 (32-bit)
- x64 (64-bit)
- Mixed-mode applications
- COM-compatible environments
Licensing & Distribution Rights
Commercial License Benefits
- Royalty-Free Distribution: Deploy your applications without per-unit fees
- No Watermarks: Clean, professional output without trial limitations
- Priority Support: Direct access to our technical support team
- Free Updates: Receive minor and major updates for one year (unlimited for lifetime license)
- Multiple Projects: Use in unlimited commercial and personal projects
- Source Code Access: Optional source code licensing available
Trial Version Limitations
- Video output displays a watermark overlay
- No technical restrictions on functionality
- Full API access for evaluation purposes
- 30-day evaluation period
libVLC Compliance
This SDK incorporates libVLC library licensed under LGPL v2.1. Your applications using our SDK remain unaffected by this license as our DirectShow filter acts as a separate component. No source code disclosure requirements for your application.
Download & Purchase
Trial Version
Full functionality with watermark
- Complete SDK package
- All sample applications
- Documentation
- 30-day evaluation
Download Trial
Commercial License
Production-ready with full rights
- Royalty-free distribution
- Priority support
- No watermarks
- Free updates (1 year)
View Pricing
Source Code License
Complete filter source code
- Full C++ source code
- Build scripts included
- Customization rights
- Technical consultation
Technical Specifications
Performance Characteristics
- Startup Time: < 500ms for filter initialization
- Memory Usage: ~50MB baseline, scales with video resolution
- CPU Usage: Hardware accelerated decoding when available
- Threading: Fully multithreaded architecture
- Latency: < 100ms for local files, varies for network streams