Rapt is a native Windows desktop application or standalone HTML5 video player for PC designed for an immersive dark room playback experience and to apply super resolution upscaling (like NVIDIA RTX Video Super Resolution or AMD RSR) to your local media files with zero configuration, all while remaining entirely local and privacy-respecting.
Note: Rapt is not intended for mobile devices.
Most popular players flex on compatibility, but obscure file types are a rarity. Instead, Rapt is focused on the viewing experience. Rapt Video Player is a streamlined, zero-configuration utility that brings modern, immersive quality-of-life features to your local offline media such as Ambient Glow and the simple, yet classy audio spectrum visualizer. It instantly triggers hardware enhancements like RTX Video Super Resolution (VSR) right out of the box, letting you enjoy upscaled video without digging through obscure settings.
Even if VLC VSR or MP-C works for you, if you just want to bring some videos to a friends house on a flash drive to watch on their PC or something you're still stuck bringing a whole portable media player setup or just giving up on super sampling on their computer. With this workaround, you can easily take advantage of anyone's fancy efficient GPU VSR without any setup fuss at all. The standalone .html Rapt player allows you to use any computers Super Resolution capable GPU to upscale a local video, without any setup or download needed.
Designed specifically for dark-room viewing, the green-centric color palette is friendly on your eyes. The video players dynamic ambient glow fades from the edge of your video's seamlessly into the pitch-black UI to improve the video experience of older non-widescreen shows or movies. Audio playback has a trick of its own too, play an audio track and a gorgeously animated audio spectrum visualizer dances along to the beat.
It also overhauls how local video text is handled. Instead of rasterized, static text like traditional players, Rapt extracts subtitle tracks and uses modern CSS rendering. This makes your subtitles fully scalable, draggable, with complete on-the-fly timestamp syncing to instantly fix poorly timed subtitles.
Rapt is a brutalist and clean viewing experience for your local media. Just load up your file, and enjoy.
-
Video Scaling: Because low-res videos look tiny natively, the size slider lets you blow the video up to 5x so you can actually enjoy the hardware upscaling on a large monitor without needing to go full screen.
-
Immersive Ambient Glow: A performance-friendly, GPU-accelerated "ambilight" effect that maps the edges of your cropped video onto the background using CSS masks and blur filters. Includes intensity slider when active.
-
Edge Cropping: Burned in black edges ruin the ambient glow effect, and upscalers waste resources trying to process encoded black letterbox bars. Rapt lets you crop the edges in real-time to fix both of these problems.
-
Playlist Manager: Load multiple videos and save/load your playlists for continuous playback. Drag-and-drop your media to re-sort your list. Saving/loading is only supported on Windows app.
-
250% Audio Amplification: Boosts your volume limit by using the Web Audio API
GainNode, allowing you to turn up quiet audio tracks up to 2.5x their volume. -
Smart Window Fitting: A dedicated Fit to Page toggle that automatically calculates your page height and scales the video to utilize the maximum available screen real estate.
-
Drag & Drop loading, and "Open with..." explorer support: (Windows app only) Integrated with Windows so you can set it as the default program or open files with it specifically.
-
Responsive Default Audio Visualizer: See your audio dance and react in a gorgeous, smooth spectrum visualizer whenever audio is played. Bonus: Supports the "Glow" feature for an even more dynamic effect.
-
Advanced Subtitle Engine:
- Native Demuxing (Windows App): Automatically extracts embedded subtitles directly from
.mkvand.mp4containers. - Drag-and-drop
.srtsupport with on-the-fly.vttconversion. - Dual-load support: Load a video and it's partner
.srtfile at the same time, even when adding multiple videos to the playlist at once. Just make sure the.srtand the video file share the same filename. - Real-time Subtitle Sync: To adjust the subtitle sync settings, click or scroll the + / - to fix out-of-sync text.
- Draggable subtitles (click and move subtitle text anywhere on the screen).
- Adjustable subtitle font size.
- Native Demuxing (Windows App): Automatically extracts embedded subtitles directly from
-
Supports Video & Audio: Plays
.mp4,.mkv(if the browser supports the codec), and.webmvideo files, but also doubles as an audio player for.mp3,.wav,.ogg, and.flacfiles. The Windows app version increases filetype support slightly, so if.mkvare important to you, download the installer. -
100% Local & Private: Runs entirely in your browser via
URL.createObjectURL. No servers, no tracking, no uploads. The only thing it does on the internet is checks GitHub for updates once when it's loaded. -
Cherries on top:
- Scroll-wheel support for volume, size, and cropping values
- Loop toggling for background media
- Auto-hiding, distraction-free UI & mouse cursor
- Checks GitHub for new version on startup (when installed with the setup program or when using a saved
.htmlfile).
- A PC with a graphics card that supports super sampling (I have not been able to test this on an AMD gpu, if you can, please let me know! It should work--it uses the same piping to get the super sampling to work as nvidia)
- A video file to play
- A screen to play it on
- A browser that supports HTML5
- A brain, but does not need to be particularly good
Windows App Version (Recommended):
- Download the Windows App from the Microsoft Store Page, or the Rapt Setup file under Assets for the Current Release
- Install the application or run the installer and follow the instructions there, then launch Rapt.
- Click "Load Media" in the top toolbar and select a
.mp4or.mkvfile to play it in Rapt, or drag and drop media files into the application window.
Standalone HTML Version:
- Download
Rapt.htmlby going to the Release Page. - Open
Rapt.htmlin your browser of choice (Firefox/Chrome/Edge recommended for RTX VSR). - Drag and drop any
.mp4,.mkv, or.webmfile into the browser window. - Drag and drop an
.srtfile to load subtitles (embedded subtitles require the Windows App version).
** NOTE ** the file "RaptVideoPlayer.html" listed above in the project resources is un-versioned because I will ALWAYS keep that HTML file updated the the most recent version of Rapt Player. Since the player is purely HTML, this will allow you to bookmark this link here: https://crustyoldhuman.github.io/Rapt/Rapt.html to your browser so you can always have easy access anywhere on any computer to a video player that supports Super Sampling.
- Spacebar / K: Play / Pause
- Single Click on player: Play / Pause
- Arrow Left / Right: Skip backward / forward 5 seconds
- J / L: Seek backward / forward 10 seconds
- Arrow Up / Down: Increase / Decrease volume
- M: Toggle Mute
- F: Toggle Fullscreen
- C: Toggle Captions / Subtitles
- R: Toggle Repeat / Loop Mode
- N: Next Track (if playlist is active)
- P: Previous Track (if playlist is active)
- T: Toggle Fit to Page
- Scroll Wheel (over inputs): Adjust volume, zoom, sync offsets, and cropping pixel by pixel
- Click & Drag (Subtitles): Reposition subtitles anywhere on the screen
-
In the standalone HTML version,
.srtfiles are required for subtitles. Embedded subtitles will not work natively in browsers, but they are fully supported in the Windows App version. -
The HTML version basically requires
.mp4file videos. It does accept.mkvdepending on how it was encoded, but it's a crap shoot and not worth the gamble imo. The windows app version seems to do better with other file types if you need them. Sorry, but the goal here is easy VSR, not broad compatibility. -
The ambilight glow effect will look wonky if there are any black edges or bars permanently embedded into a playing video file. Use the edge cropping tool to fix this.
-
Super Resolution via GPU processing inherently requires the playing video to be actively scaled up. In other words if your video is playing at 100% scale, it will not activate your VSR. This is also how YouTube, etc work. Increase the video size above 100% to activate super resolution.
-
I am unsure if this supports upscaling via AMD or not, because I have no access to an AMD GPU. If anyone can tell me if this works or not, that'd be great!
- Frontend: Vanilla HTML5, CSS3, and JavaScript utilizing the native
<video>and<track>APIs, Canvas API, and File API. - Windows App Host: WinUI 3 (C#) desktop application with OS-level file associations.
- Engine: WebView2 Chromium edge utilizing URL separation to isolate media pipelines and preserve DirectComposition Hardware Overlay fast-paths.
- Subtitle Demuxing: FFmpegCore/FFmpeg for in-memory embedded subtitle extraction to
.srtformat. (only used in the Windows implementation)
I stream games no one cares about to a tiny audience on Twitch & YouTube. If you like yammering people, weird games, and custom stream interactions, check me out:
https://www.youtube.com/@crustyoldhuman
https://www.twitch.tv/crustyoldhuman
A screen brightness management and automation utility I designed specifically for PCs running on HDTVs so you have better control over your brightness levels without messing with your TV's terrible settings menu. Works on regular monitors as well. Includes hotkeys, state recovery, and custom minimum brightness settings.
GitHub page: https://github.com/crustyoldhuman/ProperDim
Microsoft Store (automatic updates): https://apps.microsoft.com/detail/9p4lhj799hxm
Coming soon.
GitHub repo: https://github.com/crustyoldhuman/SkyPeek
Microsoft Store: https://apps.microsoft.com/detail/9P074TF9RTJ2
Created with love by crustyoldhuman





