Building a video player from scratch in the Windows ecosystem is a challenge that requires balancing UI responsiveness with heavy-duty media processing. Today, I am excited to introduce WPlay, a specialized .NET 8 video player and export utility designed for precision, speed, and modern workflows.
Why WPlay?
Unlike standard media elements, WPlay is built on a custom rendering pipeline using SkiaSharp and FFmpeg.AutoGen. This combination allows for low-level control over every frame, enabling features like alpha-channel support and professional-grade encoding that typical players can’t handle.
🚀 Key Features
1. Advanced Playback Engine
WPlay provides a seamless viewing experience with a focus on technical accuracy:
- Precision Seeking: Smooth navigation through video timelines.
- Alpha-Channel Support: Perfect for motion designers, WPlay can render videos with transparency layers.
- Video-Only Mode: A minimalist interface for focused viewing or monitoring.
- Smart Volume Control: Fine-tuned audio management with instant mute toggles.
2. Professional Export Pipeline
WPlay isn’t just for watching; it’s a powerful conversion tool. The export dialog gives you granular control over the FFmpeg-based pipeline:
- Codec & Pixel Format: Choose the right container and format for your needs.
- Encoding Presets: Balance speed and compression efficiency.
- CRF Quality Control: Fine-tune the “Constant Rate Factor” for the perfect balance of visual fidelity and file size.
- Resolution Scaling: Export your media at specific dimensions.
3. Modern UI/UX
Built with WPF and MVVM architecture:
- Dynamic Theming: Seamlessly switch between Dark and Light modes.
- DI-Powered Core: Uses
Microsoft.Extensions.DependencyInjectionfor a robust, maintainable, and testable codebase.
🛠 Technical Specifications
WPlay leverages the latest industry-standard libraries to ensure long-term stability and performance.
| Dependency | Version | Purpose |
| .NET | 8.0 | Latest high-performance runtime |
| SkiaSharp | 2.88.8 | GPU-accelerated frame rendering |
| FFmpeg.AutoGen | 7.1.0 | Low-level media decoding/encoding |
| MS.Extensions.DI | 8.0.1 | Modern Dependency Injection |
🏗 Project Architecture
The project is organized into modular services to ensure clean separation of concerns:
- VideoPlaybackService: Handles the heavy lifting of decoding and frame synchronization.
- VideoExportService: Manages the FFmpeg pipeline for high-quality output.
- SkiaSharp Integration: Utilizes
SkiaSharp.Views.WPFfor hardware-accelerated canvas rendering, ensuring 60FPS playback even at high resolutions.
License & Open Source
WPlay is proudly distributed under the GNU General Public License version 3 (GPL-3.0).
I believe in the power of open-source collaboration. By using the FFmpeg and SkiaSharp ecosystems, WPlay stands on the shoulders of giants to provide a reliable tool for the developer community.
Copyright (c) 2026 WoongSoft.