Log in

View Full Version : x265 settings for encoding Lectures (Screen Recordings)


RBX
26th January 2019, 22:11
I used to experiment with x265 a few years ago and had mild success. Looking back at the settings all this time later, can't really remember which one did what. So, kindly help me with the settings I should try for encoding programming tutorials containing screen recordings having very little variation over time.

LoRd_MuldeR
27th January 2019, 13:51
I don't think you really need any "special" options for screen recordings. Maybe you whish to crank up the "--keyint" option a bit for that kind of footage.

Other than that, just pick the slowest "--preset" that you are willing to bear, and adjust "--crf" to get the desired level of quality.

In my experience, screen recordings are highly compressible and therefore can use much lower CRF value than "real world" footage without the bitrate exploding, so start with something "low".

Last but not least, you may whish to use 4:4:4 color space for screen recordings, in order to avoid chroma-subsampling – provided that your source (original recoding) is YCbCr 4:4:4 or RGB.

(The chroma-subsampling tends to be much more visible in screen recordings than in "real world" footage)

Wolfberry
27th January 2019, 15:19
From https://x265.readthedocs.io/en/default/lossless.html#transform-skip (https://x265.readthedocs.io/en/default/lossless.html#transform-skip)

enabling --tskip may improve the compression efficiency of screen content (aka: text on a screen)

benwaggoner
28th January 2019, 20:51
From https://x265.readthedocs.io/en/default/lossless.html#transform-skip (https://x265.readthedocs.io/en/default/lossless.html#transform-skip)

enabling --tskip may improve the compression efficiency of screen content (aka: text on a screen)
Absolutely. And it is losslessly acquired (so zero noise), --cu-lossless might even help sometimes.

I'd also couple a high --bframes with the high --keyint. Random access time for this kind of content is proportional to keyint/bframes, and bframes are particularly efficient with this kind of content.

I'd also want --tu-inter and -tu-intra to be 4. Lots of fine sharp details in screen recordings, so you want to recurse tu size down as low as possible.

A couple of years ago I got a 1440p HEVC encode of simple content like that to a good looking 120 Kbps with preset placebo.