Skip to content

PhantomRec v1.9.5 (Biggest Update)

Latest

Choose a tag to compare

@MaxRBLX1 MaxRBLX1 released this 03 Jul 14:30
ba63a5f

PhantomRec v1.9.5

"Record now. Encode later. Zero lag."

Built by MaxRBLX1


What's New

Pure C Core (Rewritten from Scratch)

The entire capture engine is now written in C11. No STL. No exceptions. No hidden heap allocations during recording. The core compiles separately with GCC and links to the C++ UI through a single extern "C" header. PhantomRec can sit next to fragile games and unstable applications without ever crashing — the core has no exception path to propagate.

Why: Fraps did it. OBS libobs does it. Every screen recorder that hooks into games or captures exclusive fullscreen uses a pure C core. C doesn't throw. C doesn't allocate behind your back. C just runs.


Stage 1: Ut Video Lossless – The FRAPS Philosophy

Stage 1 now uses Ut Video (‑c:v utvideo -pred median -threads 1), a modern, mathematically lossless codec designed for real‑time capture. Every frame is encoded independently — no motion estimation, no rate‑control, no inter‑frame dependencies. The CPU load is constant regardless of on‑screen action: explosions, racing, or a static desktop all use the same ~5 % of a single core.

Why this replaces MPEG‑4 Part 2:
MPEG‑4 Part 2, even with ‑q:v 0 and ‑preset ultrafast, still performs inter‑frame motion estimation. During heavy gameplay, the encoder would suddenly spike CPU usage, fall behind real‑time, and drop frames — causing the "lag spike" videos that users reported. Ut Video eliminates that entirely. It’s the same design that made FRAPS legendary: encode each frame in isolation, keep the CPU flat, and let the disk write a clean master file.

Disk‑friendly by design:
By pairing Ut Video with yuv420p chroma subsampling, the write rate stays around 30 MB/s — easily sustained by any mechanical hard drive. No SSD required. The temporary lossless file is automatically deleted after Stage 2 compression.


The Holy Grail Pipeline: Tested on Real Hardware

After extensive real‑world testing (gaming on a mechanical D: drive), the final Stage 1 command was stripped to its absolute minimum. All unnecessary flags were removed, and the pipeline was locked to the exact parameters that gave zero dropped frames and perfect timeline stability:

  • No ‑re – the capture device provides real‑time pacing; adding ‑re caused timeline distortion.

  • No ‑fps_mode vfr – MKV handles variable frame rate natively without the flag.

  • No ‑max_muxing_queue_size or extra ‑thread_queue_size – they added overhead without benefit.

  • No ‑flush_packets 1 – the default buffering already works correctly with Ut Video.

The result is a Stage 1 command that looks almost identical to v1.5’s simple structure, but with a modern lossless codec.


Fixed: "Lag Spike" Recordings (Timeline Accordion Effect)

Older versions produced videos that would randomly speed up or stutter during playback. The root cause was a combination of missing console signal handling and an encoder that fell behind the real‑time stream. Two changes permanently fixed this:

  1. FFmpeg now runs with CREATE_NEW_CONSOLE — giving it the terminal context it expects for proper CTRL_BREAK events, clean finalization, and correct timestamp handling.

  2. Ut Video’s constant per‑frame cost prevents the encoder from ever falling behind, so the timeline never compresses or stretches.


Console Fix: Why "Open in Terminal" Matters

FFmpeg is designed as a console application. When spawned headlessly (CREATE_NO_WINDOW), its internal event loop breaks — signal handling fails, timestamps drift, and the final file often misses its index headers, causing players to play it as fast as possible. By giving FFmpeg its own minimized console (SW_MINIMIZE), PhantomRec now stops recordings cleanly and produces properly finalized files every time.


Thread‑Safe UI Updates

All core callbacks (onStatusUpdate, onProgressUpdate, etc.) are now safe to call from any thread. The UI registers a set of custom window messages that marshal updates to the main thread, preventing crashes when the core sends progress from a background worker.


Fixed: Settings Window Leaks & Color Picker

  • The settings preview font handle is now properly freed when the window closes, preventing GDI leak accumulation (critical on older Windows).

  • The color picker no longer changes the main window’s font color until you click Apply — picking a color then cancelling now behaves correctly.

  • Static background images are now cached in memory instead of being reloaded from disk on every repaint.


INI Hot‑Reload Safety

Editing Settings.ini while recording no longer risks changing the capture method or conversion flag mid‑session. Those settings are now reverted if a recording is active, while hotkeys are still updated immediately.


Stage 2: Ultrafast CFR Conversion

Stage 2 uses ‑preset ultrafast -crf 23 with automatic frame‑rate detection (no hardcoded ‑r 60). VFR‑to‑CFR conversion at the original capture frame rate, with no duplicate frames or timing artifacts. Small final files, smooth playback, and all‑core encoding for fast post‑processing.


All Other Improvements (Unchanged from Original Plan)

  • Smart Capture Fallback Chain — GFX → DDAGrab → GDI, automatic and silent degradation.

  • Game‑Agnostic Power Lock — High Performance power plan applied at launch, not at record start.

  • Customizable UI — backgrounds, fonts, animated GIFs, all hot‑reloaded.

  • No UI Stacking — clean rendering on every update.

  • Settings.ini — renamed, fully documented.


Why You Need This Version

If you’re running an older version of PhantomRec, here’s what you’re gaining:

  • True zero‑lag lossless recording — Ut Video keeps CPU flat and never drops frames.

  • Fixed lag spike videos — no more timeline distortion or stutter on playback.

  • Works on any HDD — the pipeline was tested on a mechanical drive; no SSD required.

  • Bulletproof stop/pause — console‑aware FFmpeg shuts down cleanly every time.

  • Thread‑safe UI — no crashes from background updates.

  • No resource leaks — font handles, backgrounds, and INI reloads are all safe.

  • Every Windows version still supported — Vista to 11, fallback chain guarantees a working capture method.


What Hasn’t Changed

  • Two‑stage ghost pipeline (record now, encode later)

  • WASAPI loopback audio with silence detection

  • No GPU required — CPU only, works on any hardware from 2008 onward

  • Portable — extract anywhere, run

  • Free and open source


System Requirements

Component | Minimum -- | -- OS | Windows Vista / 7 / 8 / 8.1 / 10 / 11 CPU | Any dual‑core x86_64 (SSE2) RAM | 4 GB GPU | Any. Integrated. None. All work. Storage | Any HDD or SSD with free space

No dedicated GPU or GPU hardware encoding required. PhantomRec only cares if you have an OS and free disk space.


Built by MaxRBLX1. Max’sEngine™ powered by FFmpeg. “Every screen deserves to be recorded.”