Skip to content
crustyoldhumanPublic

About

Modern no-configuration video & audio player with native Super Resolution and ambient glow effects and an audio visualizer, built for dark room viewing. Fully portable (no download required)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Iconbanner

Rapt - Immersive Video Player with No-Fuss Super Sampling

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.

EmptyPlayerPromo

Note: Rapt is not intended for mobile devices.

Why This Exists

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.

VSREasePromo

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.

Other Bells & Whistles

  • 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.

GlowPromo

  • 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.

VisualizerPromo

  • Advanced Subtitle Engine:

    • Native Demuxing (Windows App): Automatically extracts embedded subtitles directly from .mkv and .mp4 containers.
    • Drag-and-drop .srt support with on-the-fly .vtt conversion.
    • Dual-load support: Load a video and it's partner .srt file at the same time, even when adding multiple videos to the playlist at once. Just make sure the .srt and 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.
  • Supports Video & Audio: Plays .mp4, .mkv (if the browser supports the codec), and .webm video files, but also doubles as an audio player for .mp3, .wav, .ogg, and .flac files. The Windows app version increases filetype support slightly, so if .mkv are 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 .html file).

Requirements

  • 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

How to Use

Windows App Version (Recommended):

  1. Download the Windows App from the Microsoft Store Page, or the Rapt Setup file under Assets for the Current Release
  2. Install the application or run the installer and follow the instructions there, then launch Rapt.
  3. Click "Load Media" in the top toolbar and select a .mp4 or .mkv file to play it in Rapt, or drag and drop media files into the application window.

Standalone HTML Version:

  1. Download Rapt.html by going to the Release Page.
  2. Open Rapt.html in your browser of choice (Firefox/Chrome/Edge recommended for RTX VSR).
  3. Drag and drop any .mp4, .mkv, or .webm file into the browser window.
  4. Drag and drop an .srt file 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.

Shortcuts & Controls

  • 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

Known Limitations

  • In the standalone HTML version, .srt files 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 .mp4 file videos. It does accept .mkv depending 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!

Technical Stack

  • 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 .srt format. (only used in the Windows implementation)

Shameless Plugs

Gaming Streams

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:

crustyoldhuman avatar

https://www.youtube.com/@crustyoldhuman

https://www.twitch.tv/crustyoldhuman

ProperDim

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.

ProperDim Banner

GitHub page: https://github.com/crustyoldhuman/ProperDim

Microsoft Store (automatic updates): https://apps.microsoft.com/detail/9p4lhj799hxm

SkyPeek

Coming soon.

GitHub repo: https://github.com/crustyoldhuman/SkyPeek

Microsoft Store: https://apps.microsoft.com/detail/9P074TF9RTJ2


Created with love by crustyoldhuman

About

Modern no-configuration video & audio player with native Super Resolution and ambient glow effects and an audio visualizer, built for dark room viewing. Fully portable (no download required)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages