DLSS 5 Video Player
One frame of the 007 First Light story trailer, a man's face in a wood-panelled room, from the player's DLSS 5 render at default settings. The same frame as the source file decodes it.
007 First Light, Story Trailer · IO Interactive frame 1122 · default settings · RTX 4080 SUPER · the player's own output, cropped, not retouched

See what DLSS 5 does to your videos.

A free, open-source Windows player that runs your videos, photos and GIFs through NVIDIA's DLSS 5 neural renderer on your own RTX card while you watch, keeps the original one key away, on the same frame, and saves the result as a file.

Windows · NVIDIA RTX · driver 610.47+ · MIT licensed. A community project, not an NVIDIA product. Is it safe?

The same frame, rendered twice

Drag the seam above. Both sides are one frame of the 007 First Light story trailer: the source on the left, the player's render at its default settings on the right, cropped identically and not retouched, sharpened or colour-graded. The change sits in skin, stubble and light across the face: the renderer rebuilds detail rather than laying a filter over the picture.

Source2560×1440 · 59.94 fps · 96.5 s

Renderthe whole video, at the default settings, upscaling off

MachineRTX 4080 SUPER · driver 610.47

Twenty-five seconds of it running

007 First Light and Grand Theft Auto VI at the default settings: a paused frame split down the face, GTA VI playing with the divider held still, then the player's Difference, Side by side and loupe views, and a live render filling the timeline (shown at 2× speed). No sound.

007 First Light, one frame split down the face: the source on the left, the player's DLSS 5 render on the right.

Rendered on an RTX 4080 SUPER; how it was made. 007 First Light — IO Interactive; Grand Theft Auto VI — Rockstar Games.

How it works

Press D and keep watching

Rendering is not an export queue. Press D at any point and playback moves onto rendered frames a few seconds later, while the rest of the video renders behind you, nearest the playhead first. Seek anywhere: rendered frames play wherever they are, and elsewhere the original plays at once while the render moves there.

The player paused on Grand Theft Auto VI with neural rendering on, the status line reporting the live render running ahead.
Grand Theft Auto VI, paused at 1:04 in a live sessionneural rendering from here · 22.6 s buffered · Intensity, Local tone and Local structure at 2.0

Compare without moving the playhead

Split, wipe, side by side or 2 × 2, all on one timestamp, from a compare bar under the picture. Drag the divider across a face, hold the mouse to see the original in place, or step frames on either view.

The player in Wipe mode on 007 First Light: the original left of a divider down a face, the DLSS 5 render right of it, with the compare bar below.
Wipe, with the compare bar007 First Light, frame 1122

See where the model changed the picture

Difference shows the change itself, amplified 1× to 32×. The loupe magnifies both at the same spot, and a setting changed while paused re-renders that frame, so you decide on the picture.

The player's Difference view of the same frame: where the model changed the picture, amplified 4x, as brightness.
Difference, ×4, brightness only007 First Light, frame 1122

Keep the evidence, with its provenance

Save comparison image writes exactly what the picture shows as a PNG, with a footer recording the player version, video, frame, view, neural settings and runtime.

The PNG the player saved for its 2 x 2 view: original, DLSS 5, Difference and DLSS 5 at Mix 50%, with a footer recording the version, frame, view, settings digest and runtime.
The file the player saved, as saved2 × 2 view of 007 First Light, frame 1122

Come back and it is still there

Renders stay on disk until you clear them or the drive falls below 20 GB free. Reopen a film weeks later and its whole-film render is still attached, as long as the source, the runtime and the neural settings still match.

The File menu open, with Game trailers, Recent videos and Save comparison image, over a paused neural frame.
Recent videos reopens a film with its render already attached

Screenshots and GIFs, too

Open a PNG, JPEG, BMP, TIFF or WebP and press D. The same model renders it, the same compare views show what changed, and it saves back as a PNG or JPEG at full size. Here the game’s smooth orange skin comes back with texture, a truer tone and light that falls across the face. Animated GIFs render frame by frame and keep their timing.

A frame of the Mafia: The Old Country trailer, saved as a PNG and opened in the player as a photo, in Wipe: the original left of a divider down the man's nose, the DLSS 5 render right of it.
A still, saved as a PNG and opened as a photoMafia: The Old Country, trailer frame 864 · Wipe · default settings

Keep it as a file

A video, a photo or an animated GIF: whatever you watch rendered, you can save. Save converted video writes the render you already have without rendering again; Export with DLSS stages (Ctrl+S) renders a new file. Both are under DLSS > Convert & export.

VideoMKV or MP4, of the whole video or a marked clip. MKV keeps the source audio, subtitles and chapters without re-encoding them.

GIFAn animated GIF renders frame by frame with its own timing, and saves as GIF, MP4 or MKV.

PhotoPNG, JPEG, BMP, TIFF or static WebP in; PNG or JPEG out, at the source size. The 2560×1440 screenshot above took 8 s from the command line on an RTX 4080 SUPER.

StagesSuper Resolution, neural rendering and frame generation at 2× to 5× the frame rate, any combination, in one file and in NVIDIA’s order.

ScriptedDLSSVideoPlayer.exe --render clip.mp4 writes clip-dlss.mkv without opening the player; the usage guide has the options.

Left outSubtitles travel as tracks and are never burned in. Image adjustments and playback upscaling are not baked in; the stages export is how a larger size goes into the file.

What it does

Details are in the usage guide. Nothing is uploaded: the work happens on your GPU and the cache stays on your disk.

Compare

  • Split, wipe, side by side and 2 × 2, all on one timestamp
  • A Difference view of where the model changed the picture, amplified 1× to 32×
  • A loupe and zoom to 8×, down to single pixels
  • Hold the mouse on the picture to see the original in place
  • Save comparison image: exactly what is on screen, with a provenance footer

Play

  • Renders while you watch, and seeks anywhere, rendered or not
  • Local files, public YouTube links, photos, animated GIFs and the bundled game trailers
  • HDR10 and HLG tone-mapped for the model, and the original shown in HDR on an HDR display
  • Subtitles (SRT, ASS, WebVTT, PGS, VobSub) drawn after the render, so text is never warped

Keep and export

  • Renders kept on disk at Standard, High (10-bit) or Lossless quality
  • PNG, JPEG, GIF, MP4 or MKV; MKV keeps the audio, subtitles and chapters untouched
  • Super Resolution, neural rendering and frame generation in one file, in NVIDIA’s order
  • Frame generation from 2× to 5× the frame rate, as a conversion
  • The same export from the command line, with --render

Check

  • A SHA-256 beside every zip, and what it does and does not prove
  • Signed build provenance on the core zip, checked with gh attestation verify
  • verify_package.ps1 checks every file against a pinned manifest before the first run
  • MIT licensed, built in the open on GitHub
A subtitle drawn over the DLSS 5 frame of 007 First Light; the text is a test file that says what it is.
Subtitles, drawn after the render
The Neural settings dialog at its defaults, grouped under Look, Quality and render time, Guides sent to the model, and Across frames.
Neural settings, at their defaults
Image adjustments open over a paused 007 First Light frame, the DLSS 5 mix slider at 1.00, with the compare bar below.
The DLSS 5 mix, at its 1.00 default

Limits and requirements

Stated as plainly as the features, and measured where a number is given.

HardwareAn NVIDIA RTX card and driver 610.47 or newer; older drivers are refused up front. Checked on an RTX 4080 SUPER and an RTX 5090. RTX 20 and 30 cards lack native FP8, should be several times slower, and are untested.

SpeedA live 1080p30 session costs 8.4 ms a frame on an RTX 5090 and 15.3 ms on an RTX 4080 SUPER. A whole 4K render on the 4080 SUPER ran at 14.8 fps, slower than a 30 fps film plays.

UpscalingDLSS Super Resolution scored below a plain bicubic upscale on all six video clips measured. It is built for games, so it is off by default and there for its look, not for detail.

RuntimeThe neural runtime is a modified, unsigned community build, not a signed NVIDIA package. Why it is unsigned.

ArtifactsDepth is estimated from the picture, and so is motion on cards without the optical flow engine. Expect some artifacts.

Low keyIn deep shadow the model can crush a face towards black and add speckle. The frame below is the plainest case found.

CacheA render started partway into a video is not joined to the rest, and below 20 GB free the least recently watched renders are deleted first.

Assassin's Creed Shadows, a face in deep shadow under a helmet: the source on the left; on the right the player's render crushes the face towards black and adds speckle.
Assassin's Creed Shadows, Story Trailer · Ubisoft frame 1987 · default settings · RTX 4080 SUPER · full size · record

Download

v0.26.1, published 25 September 2026. Free, with no account and no installer: unzip it and run it. Every build is on the release page with its checksum.

Complete

The player and the pinned neural runtime. This is the one you want.

Download 327 MB

dlss5-video-player-v0.26.1-win64.zip

Core

The player alone, without the neural runtime. Build or supply your own.

Download 36 MB

DLSSVideoPlayer-v0.26.1-core-win64.zip

Source

MIT licensed. Read it, build it yourself, or check that the core zip was built from it.

View source 153 stars

github.com/2600th/dlss5-video-player

Before you run it

  1. Unzip into a new, empty folder. Keep neural-runtime/ next to the executable.
  2. Run DLSSVideoPlayer.exe.
  3. Open a file with Ctrl+O, paste a YouTube link with Ctrl+L, or pick something from File > Game trailers.
  4. Press D. It buffers for a few seconds, then plays the render.
The start screen: the capability check and the seven game trailers with their YouTube thumbnails.
The start screen checks the machine firstthumbnails from YouTube, for the trailers’ publishers

Questions

Is it safe to run?

It is open source, but its neural runtime is a modified community build that nobody can sign, so decide with that in view. Each zip has a SHA-256 beside it. The core zip is built by CI from this repository and carries a signed build attestation (gh attestation verify); the complete zip is assembled by the maintainer and has a checksum only. Inside either, verify_package.ps1 checks every file against a pinned manifest before the first run. Scan the runtime as you would any unsigned software, or take the core zip and supply your own.

Why is the neural runtime unsigned?

Because it has been modified. It includes NVIDIA's neural DLL patched to run on RTX 40 cards, which invalidates NVIDIA's signature, alongside community ReShade and RenoDX files that were never signed. Nobody is in a position to re-sign it, so it ships unsigned and says so. Its files are pinned by size and SHA-256, and the package verifier rejects any that have changed.

Which GPUs does it need?

An NVIDIA RTX card and driver 610.47 or newer; with an older driver the player says so up front. It has been checked on an RTX 4080 SUPER and an RTX 5090. RTX 20 and 30 series cards lack native FP8 and should be several times slower; nobody has tested one yet. On any other GPU the start screen says "not an RTX GPU, so no DLSS", and playback there has not been tested.

How long does a render take?

You do not wait for it to start: playback joins the render a few seconds after you press D, and the rest fills in while you watch. A live 1080p30 session costs 8.4 ms a frame on an RTX 5090 and 15.3 ms on an RTX 4080 SUPER, both faster than the video plays; 1440p30 on the 5090 costs 15.4 ms. A whole 4K film on the 4080 SUPER rendered at 14.8 frames a second. After your first session the player warns you before a video it expects to fall behind on. The other limits are above.

Does it upload my video anywhere?

No. Rendering runs on your GPU and the cache stays on your disk. The player goes online to fetch a YouTube link you paste, and once a day to ask GitHub whether there is a new release, which [Updates] Enabled=0 in its settings file turns off. The start screen also fetches the seven built-in trailers' thumbnails from YouTube's image server, then again once a month, which [Start] ThumbnailFetch=0 turns off.

Does it upscale video too?

It can, with DLSS Super Resolution, but that is off by default because on video it does not beat a plain scaler: on six clips upscaled from 960×540 to 1080p, bicubic scored higher every time. It is built for rendered games, not decoded footage, so turn it on for its look, not for detail. Neural rendering itself keeps the source resolution.

Does it work on screenshots and photos?

Yes. Open a PNG, JPEG, BMP, TIFF or static WebP and press D: it renders once and stays on that frame, with the same compare views as a video, and saves as a PNG or JPEG at its own size. From the command line, --render turned a 2560×1440 game screenshot into a PNG in about 8 seconds on an RTX 4080 SUPER. Animated GIFs render frame by frame and keep their timing. The model is built for rendered games, and game screenshots are what it has been tried on; camera RAW and animated WebP are not supported.

Can I keep the result?

Yes: PNG or JPEG for photos, GIF for animations, MP4 or MKV for video, from the player or, from v0.26.0, from a script with --render. MKV keeps the source audio, subtitles and chapters without re-encoding them. Export with DLSS stages writes Super Resolution, neural rendering and frame generation into one file, in NVIDIA's order.