VLC Source DirectShow Filter

v15.0
The VLC Source DirectShow Filter is a professional-grade component that brings the powerful multimedia capabilities of VLC media player directly into your Windows applications. This SDK provides seamless integration with DirectShow applications while maintaining the extensive format support and streaming capabilities that VLC is renowned for.

Whether you're developing media players, streaming applications, video processing tools, or multimedia content management systems, our VLC Source Filter provides the reliability and versatility you need to handle virtually any media format your users might encounter.

Key Benefits

  • Universal Format Support: Play 100+ video and audio formats without additional codec installations
  • Network Streaming: Support for HTTP, HTTPS, RTSP, RTP, UDP, and other protocols
  • Multi-Language APIs: Native support for C++, C#, VB.NET, and Delphi
  • High Performance: Optimized multithreading with hardware acceleration
  • Commercial Ready: Royalty-free distribution with professional support

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.

Supported Media Formats

Video Containers

  • MP4
  • MOV
  • AVI
  • MPEG, MPEG-TS, M2TS, VOB
  • MKV
  • WebM
  • FLV
  • OGG
  • ASF, WMV

Video Codecs

  • H.264/AVC: Full hardware decode support across all platforms
  • H.265/HEVC: Hardware decode on compatible GPUs (GTX 950+, Intel Gen9+, AMD GCN4+)
  • VP8, VP9: Hardware decode on newer GPUs (GTX 1060+, Intel Gen11+, AMD Navi+)
  • AV1: Hardware decode on latest GPUs (RTX 30xx+, Intel Arc+, AMD RDNA2+)
  • MPEG-1, MPEG-2: Legacy hardware acceleration on most GPUs
  • MPEG-4: Software and hardware decode support
  • DivX, Xvid: Software decode support
  • Theora: Software decode support
  • Windows Media Video: Software decode support

Audio Formats

  • AAC
  • MP3, MP2
  • FLAC
  • Vorbis
  • AC3, DTS
  • PCM, WAV
  • Speex
  • Opus
  • WMA

Streaming Protocols

  • HTTP/HTTPS: Full support for progressive download and streaming
  • RTSP/RTP: Real-time streaming protocol with authentication
  • UDP: Multicast and unicast support
  • MMS: Microsoft Media Server protocol
  • RTMP: Real-Time Messaging Protocol for live streaming
  • HLS: HTTP Live Streaming (Apple's adaptive streaming)
  • DASH: Dynamic Adaptive Streaming over HTTP
  • SRT: Secure Reliable Transport protocol

Quick Start Guide

Integration Steps

  1. Install the SDK: Register the VLC Source DirectShow filter on your system
  2. Add References: Include the necessary DirectShow and VLC headers/libraries
  3. Create Filter Graph: Initialize DirectShow filter graph components
  4. Add VLC Source: Instantiate and configure the VLC Source filter
  5. Connect Renderers: Link video and audio rendering components
  6. 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 URL
  • GetAudioTracksCount - Get number of available audio tracks
  • GetAudioTrackInfo - Get audio track information
  • GetAudioTrack - Get currently selected audio track
  • SetAudioTrack - Select audio track by ID
  • GetSubtitlesCount - Get number of available subtitle tracks
  • GetSubtitleInfo - Get subtitle track information
  • GetSubtitle - Get currently selected subtitle track
  • SetSubtitle - 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 control
  • IVlcSrc2 - Extended interface with custom command line parameters
  • IVlcSrc3 - 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#:

Complete Code Examples

C++ Implementation

C# Implementation

VB.NET Implementation

Advanced Features Usage

Audio Track Selection Example (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

  1. Launch GraphEdit: Start GraphEdit with administrator privileges for full filter registration access
  2. 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"
  3. 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)
  4. 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)"
  5. 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

  1. 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}
  2. 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
  3. Media Configuration:
    • Right-click VLC Source → "Load File..."
    • Browse to media file or enter network URL
    • GraphStudio displays real-time connection status
  4. Automatic Graph Building:
    • Use GraphStudio's "Render" feature
    • Right-click VLC Source output pins → "Render Pin"
    • GraphStudio automatically inserts appropriate decoders and renderers
VLC DirectShow source in GraphStudio

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
abstract 2abstract 1abstract 3
logo
VisioForge © 2006 - 2025
discord