Help
Keyboard shortcuts, controls, formats, and settings.
Table of Contents
Keyboard Shortcuts
General
Files
Display
Audio & Subtitles
Playback
Zoom
Format Memory
Mouse & Pointer Interactions
These interactions work on the main picture area (not on the UI controls):
Navigation
Convergence
Screen Capture
Open Screen Capture from the start screen to pick another application's window or your full desktop and watch it in 3D in real time. Useful for games, browser videos, and any 2D source that isn't a file Oku3D can open directly.
Click-Through Overlay
Press Ctrl + Shift + F11 to toggle click-through overlay mode. Oku3D's window stays visible on top but becomes transparent to mouse and keyboard input - your clicks and typing pass through to the captured application underneath. This lets you play a game while watching it in 3D on a single monitor. Press the hotkey again to disable.
Choosing the Capture Source
When Windows opens its capture picker, you can pick either an entire display or a single application window. The right choice depends on the application you want to capture:
- For normal Windows applications (browsers, video players, productivity apps - anything that uses the system mouse cursor): capture the entire desktop, or maximize the application's window to fullscreen. Otherwise the cursor you see on screen will not line up with the captured content inside Oku3D, because Oku3D centers and stretches the captured window to fill its viewport while the real cursor stays at its true screen position.
- For games or applications that draw their own cursor (or hide the system cursor entirely): capturing a single application window works fine. The application renders its own cursor at the correct on-screen position within its own viewport, so it scales together with the captured content.
Live Streams
Use the Open Stream entry on the start screen to play network streams in 3D. Paste a URL into the dialog, drop a .m3u / .m3u8 playlist file onto the window, or pass a URL on the command line - the ten most recent streams are remembered for one-click reopen.
Supported protocols:
- HLS (
.m3u8over HTTP/HTTPS) - the standard live format on the web. - RTMP / RTMPS - the classic ingest format still used by many encoders.
- RTSP / RTSPS - common on IP cameras and NVRs.
- DASH (
.mpdover HTTP/HTTPS). - MPEG-TS over UDP / TCP / SRT - typical for broadcast and pro contribution feeds.
A red LIVE badge appears on the player bar while a live stream is playing - click it to jump back to the current live edge after pausing or scrubbing. While paused the badge dims to an outline.
Live streams default to Motion-Sync 3D (Settings > Depth > Sync) so depth edges stay aligned with the picture even when network delivery jitters.
Open from browser
For sites that embed an HLS, DASH, or progressive-MP4 stream in a regular <video> tag, the Open in Oku3D bookmarklet lets you send the current page's stream to Oku3D with one click - drag it to your bookmarks bar from the Bookmarklets page. The browser sends the request via the oku3d:// protocol handler, including the page Referer and User-Agent so hotlink-protected streams still load. DRM-protected services (Netflix, Disney+, ...) do not work this way; use screen capture for those.
3D Parameters
Depth / 3D Intensity (D slider)
How strong the 3D effect is. The right value depends on your display - a VR headset needs much less than a monitor because the image fills your whole field of view.
| Output | Comfortable | Strong | Too strong |
|---|---|---|---|
| VR headset (OpenXR or SBS to HMD) | 0.4 - 0.5% | 1% | 2 - 3% |
| Glasses-free 3D (Samsung Odyssey 3D, Acer SpatialLabs) | 1% | 2% | 3% (ghosting) |
The 1% default is tuned for glasses-free 3D displays. In a VR headset, drop it to around 0.5% - the wide field of view makes the 3D effect feel much stronger than the same value would on a monitor.
Convergence (C slider)
Shifts where the "screen plane" sits in the 3D scene (±20% of viewport width):
- 0 (default) - Neutral. Content at screen depth.
- Positive - Content pops out of the screen.
- Negative - Content sits behind the screen.
Also adjustable via right-click drag. Double-right-click to reset.
Depth Gamma (Gamma Remap filter)
Applies a power curve to redistribute depth:
- < 1.0 - More foreground pop, flatter background. Good for portraits.
- 1.0 (default) - Linear, no adjustment.
- > 1.0 - More background depth. Good for landscapes.
Quick presets:
Convergence
The Convergence slider on the bottom bar shifts the 3D scene forward or back. Click the slider's value to open its popup; drag the bar inside the popup to adjust. Most users find a value that feels right for their display and want every new file to open there - that's what the Pin button is for.
Pin button
The pin icon in the convergence slider popup stores the current value as the default applied to every new file. Workflow:
- Open a 3D image or video.
- Adjust the convergence slider until the 3D feels comfortable on your display.
- Click the pin icon in the slider popup.
From now on, every file you open starts at that value. If you later find a better value, adjust the slider and pin it again - the new value replaces the old one. The pinned value is stored across sessions, so you only set it up once per display.
To clear the pin, drag the slider back to 0% and pin again. Reset shortcuts (middle-click on the picture for a full reset, or right-click double-click for convergence only) only affect the current file - they do not change the pinned value.
Some 3D photo formats (LIF and MPO from compatible cameras) ship a convergence value as metadata. That value wins against the pinned default on the first open of such a file, so a camera's intended framing shows up correctly.
Save per image (optional)
If you have a photo collection with widely varying shooting distances and want each image to remember its own convergence value across sessions, turn this on under Settings > Depth > Depth Map > Save per image. Off by default - the pinned default covers most workflows without writing anything to your image files.
| Mode | What it does |
|---|---|
| Off (default) | No per-image saving. Existing values from earlier sessions are still read when you open an image; only new adjustments aren't written. Files stay completely untouched. |
| Hidden NTFS stream | Stores the value invisibly alongside the file - no second file appears in your folder. Works on any NTFS drive (Windows' default). See the caveats below before picking this. |
| Portable .xmp sidecar | Writes a small .xmp file next to each modified image. Survives copying to any drive type if you take both files along. |
NTFS stream caveats. The "Hidden NTFS stream" mode uses an NTFS feature called Alternate Data Streams. They're invisible and don't clutter your folders, but they have a few quirks worth knowing about. If any of these matter to you, switch to the portable XMP sidecar mode instead:
- Last-modified timestamp updates. Each time Oku3D saves a per-image value, Windows updates the file's "Last Modified" time even though the visible image is byte-identical. Software that sorts by date (Adobe Lightroom date import, file-find by date,
git diffon a checked-in folder) sees the file as recently changed. - Lost when copying off NTFS. Any copy to FAT / exFAT (USB sticks, SD cards), SMB shares without ADS support, email attachments, or ZIP archives strips the saved values silently. The visible image is fine - just the slider value is gone.
- Cloud sync silently drops the stream. OneDrive, Dropbox and Google Drive report the file as "synced" but don't upload the stream. The trap is that nothing looks wrong - the cloud copy is missing the values without warning. If you back up via cloud, use XMP sidecar.
- Most backup tools skip ADS by default. Robocopy without
/COPYALL, plainxcopy, and many cloud-backup clients (Backblaze, Arq with default settings) leave the stream behind. Your restored files may not carry the per-image values. - Antivirus heuristics can flag ADS writes. The
:in the stream path is also a classic malware-hiding pattern, so third-party AVs (Avast, Bitdefender, Kaspersky, F-Secure) occasionally treat the writes as suspicious. Windows Defender doesn't. - Archive-master workflows. If your photo archive treats master files as never-modified originals (RAW + verifiable hashes, immutable storage), any invisible side-channel write violates that policy. Pick Off for those volumes.
The portable XMP sidecar mode avoids all of these at the cost of one visible extra file per modified image. Switching modes never loses existing data: both locations are checked on every file open regardless of which mode is currently selected.
Stereo Formats
The Format dropdown in the bottom bar selects the input format:
| Format | Description | When to use |
|---|---|---|
| 2D | Regular flat video/image. No depth AI runs. | When you want to watch content in 2D. |
| 2D → 3D | AI depth estimation converts 2D content to stereoscopic 3D in real-time. | Any video or photo you want to watch in 3D. |
| Half SBS | Both eye views side by side in one frame, each at half resolution. | Most common 3D format. Standard for 3D downloads. |
| Full SBS | Both eye views side by side, each at full source resolution. | Higher quality SBS content. |
| Half TB | Both eye views stacked vertically in one frame, each at half resolution. | Standard Top-Bottom 3D content. |
| Full TB | Both eye views stacked vertically, each at full source resolution. | Higher quality Top-Bottom content. |
Output Formats
The Output Format dropdown in Settings selects how the stereo image is rendered to your display. Separate settings for fullscreen and windowed mode.
| Format | Description | Target display |
|---|---|---|
| Leia SR Weaving | Best quality for Leia SR displays. Uses the display's built-in head-tracking and switches it to 3D mode automatically. | Samsung Odyssey 3D G9, Acer SpatialLabs, and other Leia SR-based glasses-free monitors. |
| SBS | Side-by-side: left and right eye in two halves. | Any SBS-capable display, generic fallback for lenticular monitors. |
| Top-Bottom | Left eye on top, right eye on bottom. | HDMI 1.4a 3D TVs, some autostereoscopic displays. |
| Anaglyph | Color-separated stereo with 14 color modes (Red-Cyan, Green-Magenta, Amber-Blue, and more). | Any screen with matching anaglyph glasses. |
| Interleaved | Row, column, or checkerboard interleaving. Requires 1:1 pixel mapping (fullscreen, no display scaling). | Passive polarized 3D TVs (LG Cinema 3D), passive 3D monitors. |
| VR Headset (OpenXR) | Renders the video on a virtual cinema screen inside a VR headset. Screen curvature adjustable from flat to IMAX-style wraparound. Subtitles float in front and follow your gaze with a soft lag. The desktop window mirrors one eye. | Meta Quest, Valve Index, HTC Vive, and other OpenXR runtimes. |
| Mono | Displays only the left or right eye at full resolution. | 2D preview, screenshots, debugging. |
Swap Eyes reverses left and right eye assignment across all stereo outputs. Useful for content with swapped eyes or for cross-eyed free-viewing.
Duplicate UI for 3D duplicates the player controls into both eye views (SBS and Top-Bottom modes). Toggle with the V key.
VR Headset controls: The right controller handles pause, seek, recenter, and exit. The left thumbstick (or left trackpad on Vive) adjusts volume - push up or down. On VR180/360 sources the right thumbstick pans the view - hold the grip button to rotate, push up or down without grip to zoom. The mirror-eye side (left or right) is configurable in Settings.
Filename Patterns
Oku3D auto-detects the stereo format from the filename. Separators (_, ., -) are interchangeable.
| Pattern in filename | Detected format |
|---|---|
_sbs, _3d.sbs, _3d-sbs, _2x1, _fsbs, _full_sbs | SBS (Full Width) |
_hsbs, _h.sbs, _h-sbs, _half_sbs, _half_2x1 | SBS (Half Width) |
_tab, _tb, _ou, _3d.tab, _3d.ou, _1x2, _ftab | Top-Bottom (Full) |
_htab, _h.tab, _h-tab, _hou, _half_tab, _half_ou, _half_1x2, _half_tb | Top-Bottom (Half) |
_vr, -vr, .VR180. | SBS Full, 180° FOV |
_tb_360, _tb.360 | Top-Bottom Full, 360° FOV |
If no filename pattern matches, Oku3D falls back to shape-based detection:
- VR180 stereo - any 2:1 aspect at 4K width or above (videos and photos).
- Full-SBS video - standard side-by-side resolutions (3840×1080, 2560×720, 1600×600) plus anything wider than 3.5:1.
- 2D video - common broadcast and cinema resolutions (1920×1080, 4K UHD, DCI Scope / Flat, anamorphic 1472×1080, legacy SD).
- 3D photos - non-standard photo aspect ratios (anything outside 1:1, 4:3, 3:2, 16:9 and their portrait variants) are treated as side-by-side stereo. Useful for 3D camera output without metadata.
Files that don't match any of these signals fall back to 2D → 3D AI conversion, or to the format you saved with Ctrl+D (see Format Memory below).
Format Memory
When the player can't identify a file's stereo format from its container metadata, filename, or shape, it normally falls back to 2D → 3D AI conversion. For workflows where the same format repeats - browsing a folder of 3D camera photos that all need the same format, or a collection of untagged 3D MKVs - the fallback can be replaced with a format of your choice.
Saving a default format
- Open a file the player misidentifies (or open any file and switch the format manually).
- Pick the right format and FOV from the controls in the bottom bar.
- Press Ctrl + D. A toast confirms "Default format saved: Full SBS / 180°" (or whatever you picked).
- Every subsequent file the player can't identify automatically inherits that format + FOV.
What the saved default does not override
The saved default only kicks in for files where the player is uncertain. Files the player can identify confidently keep their detected format regardless of what you saved:
- Container metadata says SBS / Top-Bottom (Matroska
StereoMode, MP4 spatial-media tags). - Filename carries a format tag (
_sbs,_tab,.VR180., etc.). - Frame shape matches a VR180 stereo signature (2:1 aspect at 4K width+).
- Frame shape matches a known Full-SBS layout (3840×1080, 2560×720, ...).
- A standard cinema or broadcast resolution (so e.g. Barry Lyndon at 1920×808 stays 2D even if your default is SBS).
Changing the default
Just press Ctrl + D again with a different format selected. To turn the memory off, switch the controls to 2D → 3D and press Ctrl + D - that's the same as a fresh install.
Depth Settings
Depth settings are organized into two tabs: Depth Map for settings that apply to all depth sources (visualization mode, gamma), and AI for model selection, processing, and temporal stabilization.
Visualization Mode
Found in Settings > Depth > Depth Map > Visualization Mode. The default is the regular 3D output. Depth Preview 3D shows the AI-detected depth as a 3D surface you can tilt with the mouse - handy for spotting depth-detection mistakes before switching to stereo output.
Diagnostic Overlays
Overlays visualize what the depth AI sees - useful for spotting where conversion goes wrong. Press D to cycle opacity (0% / 50% / 100%), Shift+D to switch overlay.
- Processed Depthmap / Raw Depthmap - depth as greyscale, for A/B comparison of post-processed vs. model-native depth
- Depth Heatmap - depth as color
- Depth Edges - detected object boundaries
- Flicker Visualizer - frame-to-frame depth jitter
- Optical Flow - per-pixel motion between frames
- Scene Cut Detection - flashes when a scene change is detected
- Stereo Stretch - red areas where 2D-to-3D stretches pixels around object edges
Model & Inference Quality
Oku3D ships with 10 AI depth models. The default Depth Anything V2 Small (47 MB) is a solid speed/quality balance for most GPUs. Pick Depth Anything V2 Large for best quality, or a smaller V2 Q4F16 / MiDaS variant for older hardware. Each model downloads once on first selection and is then cached locally.
Inference Quality (Low / Medium / High) controls how much detail the model sees - higher = sharper depth, lower FPS. MiDaS models are fixed resolution, so the dropdown is locked there.
If playback stutters, lower Inference Quality first - that usually buys back enough FPS without giving up much detail. Only switch to a smaller model if that's not enough.
Image Filters
Found in Settings > Image, each filter can be individually enabled or disabled:
| Filter | What it does | Key parameter |
|---|---|---|
| Image Adjustments | Tune Exposure, Contrast, Highlights, Shadows, and Saturation with real-time sliders. | Exposure, Contrast, Highlights, Shadows, Saturation |
| Color Grading | Apply one of 13 cinematic color presets (Chrome, Bleach Bypass, Dramatic, Hollywood, and more). | Preset |
| Sharpen | Adaptive edge sharpening (AMD FidelityFX CAS) that increases edge contrast to reduce perceived ghosting on lenticular 3D displays - without halos or ringing. | Intensity |
Depth Filters
Each filter can be individually enabled or disabled:
| Filter | What it does | Key parameter |
|---|---|---|
| Edge Dilation | Expands foreground slightly to reduce halo artifacts. | Dilation Radius |
| Gamma Remap | Adjusts depth distribution with presets for different content types. | Preset, Depth Gamma |
| Scene Cut Detector | Detects scene transitions and resets temporal smoothing to prevent blending across cuts. | Detection Threshold |
Note: When playing LIF files with an embedded depth map, AI inference is skipped entirely - the pre-computed depth is loaded directly, along with the convergence and depth intensity values stored in the file metadata. Creative filters like Gamma Remap still apply.
Temporal Filter
Smooths out depth flicker between frames. Without it, flat surfaces (skies, walls) shimmer because the AI re-estimates depth on every frame from scratch. Found in Settings > Depth > AI > Temporal Filter.
Temporal Mode picks how the smoothing works:
| Mode | When to use |
|---|---|
| EMA (Simple) | Fastest. Good on slow or mostly static content. Higher smoothing can leave faint "ghost trails" behind moving objects. |
| Optical Flow (Block Matching) + EMA (default) | Best general-purpose choice. Tracks motion between frames so smoothing follows moving objects instead of blurring them. |
| Optical Flow (Horn-Schunck) + EMA | Alternative motion tracker. Try it if Block Matching shows artifacts on your content - one sometimes handles a specific scene better than the other. |
Temporal Smoothing sets how strongly previous frames blend in. Raise it if depth still flickers; lower it if motion feels sluggish.
Wavelet Coring is an extra noise filter on top. Leave it on at the default strength; raise the slider only if you still see depth grain on flat surfaces.
The remaining controls (Flow Weight, Flow Median Filter, Flow Search Radius) fine-tune the motion tracking and only matter in Block-Matching mode. Defaults work for almost everything - touch them only if you're chasing a specific artifact.
Min Depth Stride
Found in Settings > Depth > Sync > Min depth stride. Caps how often the depth AI runs. The default Automatic lets Oku3D pick the rate that matches your hardware - usually every frame on a fast GPU. Raise the floor (every 2nd / 3rd / 4th frame) to halve, third, or quarter the AI's GPU load when your fan is loud or another GPU-heavy app is running.
The optical-flow stabilizer fills in the skipped frames, so Every 2nd frame is usually visually indistinguishable from Automatic on typical content. Every 3rd and Every 4th trade more visible softness on fast motion for steadily lower GPU draw.
Motion-Sync 3D
Found in Settings > Depth > Sync > Motion-Sync 3D. Slightly delays audio and picture together so the depth AI has lead time to compute depth for the upcoming frame before it's displayed. On fast pans this aligns depth edges with object edges instead of letting depth lag a frame or two behind color. A/V sync is preserved because audio and video shift by the same amount.
Four toggles pick which sources the delay applies to:
- Apply to video files - on by default. Local video and image playback gains the alignment benefit without any downside.
- Apply to live streams - on by default. Network jitter would otherwise let depth lag behind color on the first frames after a stall.
- Apply to webcam capture - off by default. Turning this on adds the delay to your live camera feed, which reads as mirror lag and may feel uncomfortable.
- Apply to screen capture - off by default. Adds the delay to captured windows or desktops, which makes the captured app feel sluggish if you're interacting with it.
Diagnostics & Bug Reports
Performance Snapshot
Press Ctrl + P to copy a diagnostic snapshot to the clipboard. It captures:
- App version, codec name and decoder type (FFmpeg primary / Media Foundation backup, software / hardware path)
- GPU name and backend, plus which adapter the depth AI is pinned to
- Active depth model and inference quality
- Live playback FPS and worst-case per-stage timings
- Recent log lines
Paste it into an email to jens@oku3d.com when reporting a bug. The snapshot includes filenames from your recent activity - review it before sending if your library has sensitive names.
Diagnostic Log
If the app crashes or freezes before you can use Ctrl+P, launch it from a terminal to capture the full diagnostic log:
cmd /k "%LOCALAPPDATA%\Programs\Oku3D\oku3d.exe" Close any running Oku3D instance first (end oku3d.exe in Task Manager if the window is unresponsive), then press Windows + R and paste the command above. A terminal window opens alongside Oku3D and prints diagnostic output.