ReferencePage 11 of 14
Media
Screenshots, recordings, replay clips, and local media storage in OpenNOW
On this page8 sections
OpenNOW saves screenshots and recordings of a stream to your Pictures folder. Screenshots are PNG images of the stream area. Recordings and replay clips copy the incoming video and audio into Matroska (.mkv) files without re-encoding. The Captures screen lists both.
Storage locations#
| Type | Directory | Format |
|---|---|---|
| Screenshots | OpenNOW/Screenshots/ in the system Pictures folder, or $OPENNOW_PICTURES_DIR/OpenNOW/Screenshots/ | PNG (the Media library also lists JPG and WebP files) |
| Recordings | OpenNOW/Recordings/ in the system Pictures folder, or $OPENNOW_PICTURES_DIR/OpenNOW/Recordings/ | Matroska .mkv, plus a -thumb.jpg thumbnail |
The Qt app resolves the system Pictures folder (on Linux this follows your XDG user directories) and passes it to the core as OPENNOW_PICTURES_DIR, so both processes use one folder. Set OPENNOW_PICTURES_DIR yourself to use a different Pictures root; OpenNOW adds OpenNOW/Screenshots and OpenNOW/Recordings below it. A relative path is made absolute. An empty value turns the media library off.
The Flatpak build has write access only to OpenNOW/ in the Pictures folder (--filesystem=xdg-pictures/OpenNOW:create).
Settings → Recording shows the save locations and has Open folder buttons for the recordings folder and the captures folder.
Screenshots#
- Press the screenshot shortcut (default
Ctrl+F11) during a stream. - OpenNOW copies the current stream frame and saves it as PNG, up to 3840×2160. Local overlays are not drawn into it. v1.0.3 grabs the stream area of the window as it appears on screen instead, so overlays are included.
- File name:
<game title>-<yyyyMMdd-HHmmss-zzz>-<uuid>.png, with a UTC timestamp. Characters other than letters, digits,.,_, and-in the title become-. v1.0.3 uses<game title>-<yyyyMMdd-HHmmss-zzz>.png, without the UUID. - If no video frame is available or the file cannot be saved, OpenNOW shows Screenshot capture failed. v1.0.3 requires at least 64×64 pixels and reports a blocked desktop compositor instead.
- From the Captures screen you can export a screenshot to another location as PNG, JPEG, or WebP.
Recordings#
- Press the recording shortcut (default
F12) to start and again to stop. Recording needs an active native stream. - The native streamer writes the source video (H.264, H.265, or AV1, as negotiated) and Opus game audio into Matroska. No extra video encoder runs while you play.
- Recordings follow the stream's resolution, frame rate, and bitrate. To change them, change the stream settings in Settings → Stream.
- File name:
OpenNOW-<game title>-<milliseconds since epoch>.mkv. The streamer writes to a hidden.<name>.mkv.partfile and renames it when the recording is finalized. If recording fails, the part file is deleted. - A JPEG thumbnail is saved next to the recording as
<name>-thumb.jpg. The Captures screen can regenerate it from the video (up to 960×540).
Replay clips#
- Turn on Settings → Recording → Enable replay buffer before you start the session. The buffer keeps the last 15–120 seconds (default 30) within a 64–512 MiB memory limit (default 256).
- Press the save-clip shortcut (default
Ctrl+F12) to save the buffer as a clip. The file name has-clipafter the game title. - Memory limits and keyframe spacing can make a clip shorter than the target length, or make OpenNOW wait for the next keyframe.
Captures screen#
- Lists the 100 newest screenshots and recordings, newest first, and can filter by game title.
- Recognizes
.png,.jpg,.jpeg, and.webpscreenshots and.mkv,.mp4,.webm,.mov, and.avirecordings. Files ending in-thumbare treated as thumbnails, not captures. - Deleting a recording also deletes its thumbnail.
Capture flow#
Observed in NVIDIA's official client#
This section describes NVIDIA's official GeForce NOW client, not OpenNOW. It comes from static analysis of the Windows client 2.0.89.141 and the macOS client 2.0.87.131 (x86_64 code only), plus logs from one user's Windows sessions. No official binary was run and no capture was tested. Most capture evidence is names found in the binaries, which shows the code exists but not when it runs.
- The macOS client has a capture library with separate instant-replay (DVR) and manual capture entry points, and it writes MP4 through AVAssetWriter. (Strings.)
- The Windows client contains a recorder component with an H.264 target codec, an
ImageWriterclass, and a Media Foundation H.264 encoder. Its app loads Gallery, NvCamera, and ShareServer plugins. (Strings; the plugins appear in logs.) - Codec choice depends on recording support. On macOS, a failed H.264 encode test can remove HEVC and AV1 from automatic codec choice for small SDR 8-bit streams below 240 FPS. On Windows, the same kind of request falls back to H.264 when the client cannot re-encode. (Code.)
Unknown: which capture calls a session reaches, whether recording uses the encoded stream or decoded frames, and how highlight capture is triggered.
OpenNOW records the source stream to Matroska without re-encoding, so its codec choice does not depend on an encoder test.