Total control over
every single frame.
We reject the black-box approach to media playback. Uplay Media exposes the rendering pipeline, giving you hardware-accelerated precision without the algorithmic smoothing.
Stop letting algorithms dictate your picture quality.
Most modern media players are designed to hide complexity. They smooth over macroblocking, they aggressively alter color spaces to fit your monitor, and they drop frames silently to keep audio in sync.
They lie to you.
We built Uplay Media because we wanted a player that tells the truth about the file it's decoding. If a file is broken, you should see exactly how it's broken. If a file is mastered in DCI-P3, you should see the exact gamut mapping applied.
Zero-Copy Hardware Pipeline
From NVDEC/VAAPI straight to the Vulkan swapchain. Your CPU shouldn't be sweating while watching an MKV.
- >> Direct GPU decoding mapping (D3D11VA, VDPAU, VideoToolbox)
- >> Shader-based scaling (Lanczos, Spline36, FSRCNNX)
- >> Frame timing precision down to 0.1ms
Native Telemetry: Format Support
| Codec | HW Acceleration | Max Depth | HDR Metadata |
|---|---|---|---|
| HEVC (H.265) | Full (NVENC/QSV/AMF) | 12-bit | HDR10, HDR10+, DoVi |
| AV1 | Full (RTX 30+, RX 6000+) | 10-bit | HDR10, HLG |
| VP9 | Full | 12-bit | HDR10, HLG |
| ProRes | Partial (M1/M2 only) | 12-bit (4444 XQ) | Transfer func map |
"Finally, a player that doesn't treat the user like an idiot. The OSD alone saves me hours of debugging encode chains."— Senior Mastering Engineer, Post-Op Studios
Uncompromising Color Science
Relying on the OS for color management is a fool's errand. Windows destroys gamut mapping, and macOS forces everything into its own tone-mapping curve.
Uplay implements its own LittleCMS-backed color engine. Load your 3D LUTs directly into the rendering pipeline.
Read the Color GuideKeyboard Driven Architecture
Throw away the mouse. Every command, filter, and shader toggle is bound to a text-based configuration file.
profile=gpu-hq
vo=gpu-next
gpu-api=vulkan
hwdec=auto-safe
target-colorspace-hint=yes
Write custom logic in Lua or JavaScript. Intercept playback events, draw custom OSD elements, or script automated chapter skipping.
Bit-perfect audio passthrough.
No OS mixer interference.
Bypass the Windows Audio Session API (WASAPI) or macOS Core Audio mixer completely. Uplay locks exclusive mode, sending the raw bitstream (TrueHD, DTS-HD MA) directly to your receiver.
For stereo setups, we utilize high-quality SoX resampling and customizable downmix matrices, ensuring dialog isn't lost when folding 7.1 down to 2.0.
Performance Baseline
How We Stack Up
Vulkan Rendering
Next-gen graphics API for shader-based upscaling.
Color Management
ICC profile support and HDR tone-mapping.
Compile Anywhere. Run Everywhere.
Built on a modular C architecture, Uplay Media doesn't care about your OS. It cares about your hardware.
Subtitles Handled Correctly. Finally.
No more rasterized junk or misaligned SSA scripts. We use libass for pixel-perfect subtitle rendering, supporting complex typesetting, overlapping timing, and custom fonts embedded in MKV containers.
Frequent Queries
Traditional GUIs consume resources and obscure functionality behind menus. Uplay relies on an On-Screen Controller (OSC) that appears when needed and vanishes when not. For configuration, a text file offers infinitely more power and version control capability than a settings window.
We use the gpu-next renderer with specialized shaders. By default, it uses BT.2390 curve mapping, but you can configure it to use Mobius or Hable depending on your display's peak brightness capabilities.
Yes. By integrating with yt-dlp natively, Uplay can parse and stream from hundreds of platforms directly, bypassing web browsers entirely and utilizing hardware decoding for the stream.
The Code Belongs to You.
Uplay Media is built on the shoulders of giants: FFmpeg, libass, Vulkan. We maintain this as a public good for archivists, mastering engineers, and enthusiasts.
Ready to take control?
Stop guessing what your media looks like. Download the binary, read the manual, and configure your engine.
SHA256: 8f4e3b...a1c9 (Windows x64)