Quake demo capture tool

Meant as an easy way to render .dem files into videos en mass.

Brainstorming:

-Must run on Linux
-CLI would be ace, working in the background without a window (would be ok if necessary, but it must be able to render in the background)

-Must support demos that span changelevel/loads
-Must capture the soundtrack (from files) too, hacks are ok
-Raw uncompressed video and audio output into AVI is ok (must support >4GB files of course), MKV might be a good alternative, especially for metadata

-Anti-aliasing, anisotropic filtering, mipmap options (gl_texturemode), gamma
-Support HUD and console text and overall everything HUD related scaling

-Must handle the crosshair just like a normal engine (bonus points if I can make it a dot)
-Must look faithful (like Fitzquake/Quakespasm/DirectQ/reQuiem)

-Square particles would rock, same for software-ish underwater warping :slight_smile:
-30 fps output is the goal (not for the tool but for the resulting video)

Multi-platform → SDL.
Support for all common demo protocols (standard, BJP, Fitz, RMQ, DP, QW etc).
Should have various rendering options (software, GL, polyblend, waterwarp, pixel shape, crosshair y/n).

Hm, maybe it could even be a special mode for an engine (not a modified single-purpose engine). At least that would be great.

Protocols 15, BJP, Fitz are all I care about. Having DP and RMQ would be really nice. QW would require too much additional work.

Hmm, I wasn’t aware of this, but just today I commited code to QF’s glsl branch to capture demo playback to multiple PNG files. In GL (glx, sgl, wgl) and GLSL (glslx), the code uses the same function as normal screenshots to get the images. I’ve also tested x11 and sdl32. The png files are written to QUAKEROOT/QF/qfmvNNNNNN.png. You can then use something like mencoder to convert to your favorite movie format.

Only real problem is lack of sound recording. There’s also the fact the console scrolling up gets captured, but oh, well. Later :slight_smile: