Your Drive.
Your Browser.
Zero Uploads.
uMediaPlay is a local-first media player. Drop your video or audio files here. They never leave your machine. Pure client-side decoding using native browser APIs.
Select a File to Play
MP4, WebM, MP3, WAV, FLAC
01 // The Philosophy
Local Means Local
We don't want your files. When you select a video, it is read entirely within your browser's memory using the File API. No data is transmitted to any server.
No Telemetry
There are no analytics scripts tracking what you watch, how long you watch, or what formats you prefer. Your media consumption is your business.
Hardware Accelerated
By relying on standard HTML5 <video> and <audio> tags, we pass the decoding workload directly to your browser and underlying GPU, saving battery life.
02 // Native Support
If your browser can play it, we can play it. Because we don't transcode, format support depends strictly on your underlying browser engine (Chromium, Gecko, or WebKit).
03 // The Mechanics
Modern browsers are incredibly powerful media engines. Historically, playing local media required a dedicated desktop application (like VLC or MPC-HC). Today, the gap has closed.
When you open a file in uMediaPlay, we use the HTML5 URL.createObjectURL() method. This creates a temporary, local-only reference to your file.
This reference is passed directly to the native <video> element. The browser's internal media pipeline takes over, utilizing hardware decoding where available (DXVA, VideoToolbox, VA-API).
// Simplified core mechanism
const fileInput = document.querySelector('input');
const video = document.querySelector('video');
fileInput.addEventListener('change', (e) => {
const file = e.target.files[0];
// Create a local blob URL
const objectUrl = URL.createObjectURL(file);
// Pass to native decoder
video.src = objectUrl;
// Cleanup on unload to prevent memory leaks
video.onended = () => URL.revokeObjectURL(objectUrl);
});04 // Absolute Privacy
No Cloud Storage
We do not offer cloud syncing, because we do not have a database. We cannot see your files. Law enforcement cannot subpoena us for your files, because we do not possess them.
Air-gapped Capable
You can load this webpage, disconnect from the internet, and the player will continue to function indefinitely. It is entirely static HTML, CSS, and JavaScript.
05 // Engineer's Toolset
A suite of deterministic, client-side calculators for media professionals, videographers, and archivists. No server processing required.
Video Bitrate Calculator
Calculate target bitrate based on desired file size and video duration.
Media Storage Estimator
Estimate storage required for different codecs and resolutions over time.
Aspect Ratio Converter
Calculate pixel dimensions for specific aspect ratios (16:9, 2.35:1, etc).
Optimal Viewing Distance
Calculate ideal screen size and distance based on visual acuity and resolution.
Audio File Size Calculator
Estimate uncompressed audio size based on sample rate and bit depth.
Timecode to Frames
Convert SMPTE timecode to absolute frame counts based on framerate.
Pixel Density (PPI)
Calculate Pixels Per Inch for screens given resolution and diagonal size.
Crop Factor Calculator
Calculate equivalent focal length across different camera sensor sizes.
Streaming Bandwidth
Estimate concurrent user capacity for specific video bitrates.
Color Depth File Size
Understand the impact of 8-bit vs 10-bit vs 12-bit color on raw file size.
Field of View (FOV)
Calculate horizontal and vertical FOV based on focal length and sensor.
06 // Technical Guides
Understanding Hardware Acceleration in Browsers
How Chromium and Firefox hand off H.264 and VP9 decoding to your GPU.
Reading time: 5 minsThe State of HEVC (H.265) Support
Why HEVC playback is fragmented across Safari, Edge, and Chrome.
Reading time: 4 minsLossless Audio in the Browser (FLAC/ALAC)
Demystifying high-fidelity audio playback using the Web Audio API.
Reading time: 6 minsContainer Formats vs. Codecs
Why an MKV file might play on one machine but fail on another in the same browser.
Reading time: 8 mins07 // Performance Metrics
Tested on a mid-range laptop (Apple M1 / Chrome 120). Decoding 4K 60fps H.264 locally vs streaming.
08 // Cross Platform
09 // Memory Footprint
Because we rely on standard HTML tags and zero frameworks, the application footprint is practically non-existent. The memory usage you see is entirely dictated by your browser's video decoding buffers.
- Total payload: < 50KB
- No React, Vue, or heavy state management
- Garbage collection happens immediately upon file close
10 // Progressive Web App (PWA) Ready
Install uMediaPlay as a standalone app. It caches locally and works on airplanes, in bunkers, or during ISP outages.
How to install offline →11 // Security Posture
A media player that accesses the network is a liability. By remaining strictly static and client-side, we eliminate entire classes of vulnerabilities (XSS, CSRF, server-side injection).
12 // Frequent Questions
- Can this play MKV files?
- It depends heavily on the codec inside the MKV and your browser. Chrome does not natively support the MKV container. See our format guide.
- Is there a mobile app?
- No. The website is responsive and works on mobile browsers, but iOS Safari restricts local file API access in ways that make a dedicated app better suited for Apple mobile devices.
- How large of a file can I open?
- We have successfully tested 50GB+ 4K files. Because the browser streams the file from disk into memory incrementally rather than loading the whole file at once, size is functionally unlimited by the RAM of your system.
13 // When NOT to use us
uMediaPlay is built for quick, secure, in-browser playback. If you need advanced subtitle timing, obscure codec support (like RealMedia or early DivX), or network streaming, use a dedicated desktop client.
- VLC Media Player - The standard
- mpv - Excellent minimalist desktop player
- MPC-HC - Windows classic
14 // Open Architecture
Built on standard web technologies. HTML5, minimal CSS, and zero obfuscation. You can "View Source" right now and understand exactly what the application is doing.
Stop waiting on uploads.
Scroll up, select a file, and press play. No account, no strings attached.