Here are the settings you are required to change to get high quality local recordings (using the x264 encoder). Do not attempt to use these settings for live streaming!



Encoding

Use CBR: Disabled

Quality Balance: 10

Bitrate: 1000

Use custom buffer size: Enabled

Buffer size: 0



Advanced Options

x264 CPU Preset: Ultrafast

Use custom x264 parameters: Enabled

Custom x264 parameters: crf=X

Where X is anywhere from 1-20, lower being higher quality / higher CPU usage. A good place to start is the 15 - 20 range. A CRF of 0 enables lossless recording which will have very high file size and CPU requirements and introduces compatibility issues, so be careful!



Explanation:

Setting the buffer size to zero disables the VBV system, allowing x264 to hit any bitrate necessary to achieve the quality (CRF) specified. If you wish to increase quality further, you need to use advanced options - quality 10 is equal to a CRF of 22, which is fine for live streams but not so good for local recording.



For compatibility with various editing software, it's also recommended to enable CFR (advanced options) and do not use CRF 0. CRF 0 uses "High 444" mode which a lot of editing software (and some video players) cannot handle.



For best results, set your output file format in broadcast settings to FLV. You can convert it to MP4 afterwards if you need to. Recording directly to MP4 is very risky, as if OBS or your PC crashes, the whole recording is useless. FLV on the other hand will keep everything up until the crash.



If you use QuickSync, NVenc or AMD VCE as your encoder, these settings will not work.