Sensible video encoding settings for Quake

Random notes:

Obviously trilinear filtering is a must and anti-aliasing is a good addition.

640x480 is good.

webm looks good with “-b 2500k”, comparable to H264 but ~1/3 bigger. 1500k should be good enough for most uses. Obviously H264 beats everything but it is evil. 2 pass with webm did nothing to improve.

That’s did not work as intended. ffmpeg uses the -b only as rough(!) guide I guess. 1500k has up to 2500k in it.

Don’t forget to use a lighter gamma (hello negke). gamma 0.7 works well.

ffmpeg -ab 128k -i demo.avi -vcodec libx264 -vpre medium -b 1500k demo.mkv

gamma 0.7
trilinear textures

To capture 1920x1080 on a smaller desktop, use nvidia-settings Display Configuration → Advanced → Panning (2000x1300 works well, otherwise if capturing a window part of the image will be cropped).

ffmpeg -i cap.avi -acodec libmp3lame -ab 192k -vcodec libx264 -preset slow cap.slow.mkv
works well…

Let’s me capture in 75% realtime. Encoding takes a long time. Much too long. 2fps. Medium looks about the same, 4fps…

Increasing gamma in ffmpeg: -filter mp=eq2=1.2:1:0
(gamma, contrast, brightness)

Looks very bad. So rather capture with different gamma if you need it.

And a note for myself. Encoding like above (gamma 1 captured in-game, straight encode to H264) looks very much like gamma 1 in-game.

Note to self: Requiem does not record sound properly over loads. Video is fine.

“ossrecord -s48000 -b16 -c2 -d/dev/oss/oss_hdaudio0/loop0 test.wav” only works once, “soundoff && soundon” resets it.

To cut off everything after 10m11s:
ffmpeg -i input.mkv -t 00:10:11 -acodec copy -vcodec copy output.mkv

Note to self: requiem does capture with correct gamma in window mode, -gamma 0.7 DOES capture with that.

edit: It also seems to work in fullscreen. I do not remember why it did not do that earlier.

Still too dark :]

Concat with ffmpeg is a pain in the ass. Avidemux does it well.


I am I/O bound on capturing. ~60MB/s on sda SAMSUNG HD154UI, ~80MB/s on sdb WDC WD20EARX. CPU and GPU are relaxed when capturing. CPU is 100% when sitting in the console. Someone gift me a SSD please.

Encoding is CPU bound since I use x264. AMD Phenom II X4 945 95W (C3) could be ~100% faster. Someone gift me a better CPU please. http://www.tweakpc.de/hardware/tests/cpu/phenom_ii_x4_975_black_edition_phenom_ii_x4_840/s06.php?benchmark=x264&lang=

Uploading is OH LOOK 6MBit/s! Nevermind all above. :frowning:

To append multiple files in Avidemux, drag and drop them from a file browser window.

Appending mkv files works fine.

AMD 240:
ffquake q1tm2_lev-normal-SpiritQuaddict.avi
real 24m13.629s
user 42m32.007s
sys 0m22.882s

i5-3470

real 6m19.205s
user 23m41.643s
sys 0m5.540s

wow :))

I cannot append with avidemux anymore, sound gets borked. :frowning:

“mencoder middle_____-Mar-23-2013-18*.mkv -oac copy -ovc copy -o test.mkv” = broken

The -i filelist concat demuxer version of ffmpeg seems to work. http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20concatenate%20(join%2C%20merge)%20media%20files#demuxer . The “name|name2” is NOT the demuxer!

Or not, the ffmpeg way gives me problems in mplayer when it gets to the quickloading bits. mplayer stops there. vlc plays them but shows a brief black frame. Maybe that file is bad?

If you are concatting with ffmpeg, make sure the input files have the same audio characteristics. My problem was that I had files with both 44.1 and 48 kHz.

Whatever you use for the audio, please lower the volume/normalization settings by at least 1/3.

I compared to other Quake videos on Youtube and it seems ok.

On second thought, you are right. volume was set to 1 where 0.7 is the default. I will use that from now on. Thanks!

Huh, capturing video on a headless server is easy!

XAUTHORITY= # maybe not needed?
Xvfb :2 -screen 0 800x600x24 &
export DISPLAY=:2.0
darkplaces-sdl +playdemo 1 +cl_capturevideo 1 # ugly dp video capture as test

Audio is missing as the server has no soundchip. Maybe there is a way to use a dummy device?

I did install “xorg-server-xvfb xorg-twm xorg-xclock xterm xf86-video-sis xorg-server xorg-server-utils xorg-xinit xorg-apps”, some of which were probably not needed.
Seems like other engines like to use XFree86-VidModeExtension which is not available with xvfb. Tried so far: tyr-quake, tyr-glquake, requiem