- 2Basic Concepts
- 3Your choices and my recommendations
- 3.1A - 3 video codecs
- 3.1.1Option 1 – H264:
- 3.1.2Option 2 – H265:
- 3.1.3Option 3 – VP9:
- 3.2B - MKV vs MP4 vs WebM
- 3.3C – Handbrake and AviDemux
- 3.4D - Constant Quality vs Constant Bitrate vs Variable Bitrate
- 3.5E – Considerations for the future
- 4Encoding comparisons to help you choose
- 4.5.1HandBrake x264:
- 4.5.2Handbrake x265:
- 4.5.3FFMPEG VP9:
- 4.5.4Premiere H264:
- 4.5.5HandBrake x264:
- 4.5.6Handbrake x265:
- 4.5.7FFMPEG VP9:
- 4.5.8Handbrake x264:
- 4.5.9Handbrake x265:
- 4.5.10FFMPEG VP9:
- 5Encoding the Video portion with Handbrake
- 5.5.1Picture Tab:
- 5.5.2Filters Tab:
- 5.5.3Video Tab:
- 5.5.4Advanced Tab:
- 5.5.5FFMPEG for VP9:
- 6Encoding the Audio portion with Handbrake
- 6.1A – Separating the myths from the facts
- 6.2B – Definitions, formats and my choices
- 6.3C – Examples of the Handbrake Audio Tab
- 7Streaming basics and a comparison – CPU vs NVENC vs Quick Sync
- 7.3.1Audio, push-to-talk and hotkeys Settings:
- 7.3.2Stream Settings:
- 7.3.3Video Settings:
- 7.3.4Output Settings:
- 8Streaming examples for CPU, NVENC & Quick Sync
- 8.3.1CPU (x264)
- 8.3.2Quick Sync (QSV)
- 9Recording examples for CPU, NVENC & Quick Sync and recording while streaming
- 9.3.1CPU (x264)
- 9.3.2Quick Sync (QSV)
- 10Buffer recording and AVIDemux
- 10.3.1Replay Buffer
Recording examples for CPU, NVENC & Quick Sync and recording while streaming
This is all about recording to your HDD for keeping or maybe sharing later. You no longer have the bitrate concerns of Streaming. Ideally you will record lossless video with transparent audio, so that you can use Handbrake later to encode your video into a more manageable size and passthrough the audio. Sometimes this isn’t possible however, so I’ve provided recommendations on what to do if you can’t manage lossless. It’s not as perfect, but it’s so good I believe most people would really struggle to notice any differences.
The other thing you can do is record to disk WHILE YOU ARE STREAMING!!! The idea being that you stream live, but because the quality isn’t the best due to bitrate limitations, or you want to do some editing, you can simultaneously record to disk. This disk recording can be a completely different resolution too, so while you’re streaming in 720p you can still save to your disk in 1080p for upload to YouTube later.
Also note that I recommend MKV files (which you can read about in section 3) and that you do NOT tick the Rescale Output box in this tab. The recording to disk should be done in the game’s resolution and not modified.
For lossy versions, you’ll notice that I recommend 160000kbps for NVENC but only 100000kbps for Quick Sync. The truth is that later versions of NVENC support lossless which is great, but for versions that don’t, their lossy encoding is not as good as Quick Sync. Both numbers are very high, and you will most likely never see your actual final video using that kind of data rate. They are just caps, for those tiny fractions of time where the encoding needs huge data rates during things like high-motion. Don’t’ stress, neither version will give you that kind of absurd data rate for hours of footage. They are just precautionary.
If you are streaming, then you should be using your CPU to encode the video stream. If you are doing so, then maybe use Quick Sync or NVENC to record to your disk so that as much of your CPU can be put into streaming as possible. If however you don’t have NVENC or Quick Sync but you want to stream AND record, then you can set your CPU preset in the recording tab to UltraFast, so that as much power as possible can be used in the streaming tab. You will be exposed to more dropped frames though, so you need to test this and find your optimal preset for the Streaming tab.
If you’re just recording to disk but not streaming, then this is definitely the way to go.
The only option here that matters is the one labelled x264 Options (separated by space) where you insert “qp=0” in there and that means LOSSLESS. OBS will now ignore all other interfering parameters for the disk recording and encode lossless video. If you set CBR, that will do nothing. Bitrate will do nothing. Profile could possibly decrease file size if set to “high” but will probably do nothing. Tune you want set to “None” and variable framerate NOT ticked. Those last 2 probably also do nothing, but I can’t confirm that yet, so leave them off.
The CPU preset however will do something. It determines how much work can go into making your recording lossless. It does however need to keep up, so if you set it to Placebo and have ANY CPU bought at the time of writing this, you will drop frames because it’s too hard to encode Placebo at 25 or 30 fps. Just set it to something that will not max out your CPU, test this if you have to. The SLOWER the preset, the smaller you lossless recording file will be. But you are going to encode it with Handbrake later anyway, so it’s OK if the lossless part is larger than it needs to be, you won’t be keeping it. Feel free to just put it on SuperFast and never worry about it, unless you’re streaming at the same time, in which case use UltraFast. If your CPU can’t handle either of those, then you might need to look at the Quick Sync or NVENC parts below.
Quick Sync (QSV)
This is trickier, since you can’t do lossless with Quick Sync at the time of writing this. These settings will try to get the best quality possible without regard to file size. You should still probably convert to a more manageable file size later with Handbrake, but doing so will introduce a second lossy encoding which means you’ll lose some quality. However, I’ve found that if the original recording is done at such high quality, this second-iteration-quality-loss isn’t noticeable in most cases, while the file size difference is well worth it. I have one recorded lossy at 8.5GiB for an hour which becomes 2.2GiB after Handbrake and still looks fantastic.
Target Usage = Quality. Just like with streaming, we want to fit as much quality as we can. Quick Sync is so fast that performance would accomplish nothing for us here.
Profile = High. Again not required as with streaming, but it could make a difference in rare cases.
Keyframe Interval = 3. Your version of Quick Sync may allow changes here, but mine doesn’t. If you can set it to 0 then do it, otherwise 4 or 3 are fine.
Async Depth = 4. Not relevant, just leave it.
Rate Control = This is the important part. What you have available to you will depend on your CPU model and therefore your version of Quick Sync. Also, what you choose here will affect what other options do or don’t come up below. My recommendation is an order of preference going: LA ICQ -> ICQ -> CQP -> LA (VBR) -> AVBR -> VBR -> CBR. At the time of writing this, LA ICQ is the best.
ICQ Quality = 20 or lower. Try 20 and after you do a Handbrake encode according to section 5 of this tutorial see if you can see any blurring or pixelating. If you do then you may benefit from a better original recording of 19 or even 18, but your file size will start to get extremely large. If you can spare the disk space then don’t stress, do whatever you need to do. In my opinion, 20 usually does the trick, but different games give different results.
Lookahead Depth = 40. This isn’t overly important. As long as you can get 40, you’re set. It’s only applicable for some Rate Control types.
QPI, QPP & QPB = 20. If you couldn’t use ICQ modes and had to go for CQP mode, then set these to 20. Turning it down to 19 or 18 will give you even better quality like in the ICQ paragraph above, but it’s probably not necessary. With CQP mode, your overall bitrate will be whatever is needed for the quality, but it will be capped at the bitrate you set below.
Bitrate = 100000. If you can use ICQ mode then you won’t see this. But if you have to use CQP or a VBR mode then you’ll need something here. I haven’t thoroughly tested this, but my understanding is that Quick Sync at 80000kbps is phenominal quality. If you are forced to use CQP mode, then you can set your QPI, QPP & QPB numbers to 20 and the actual bitrate may average only 25000-30000kbps but by setting 80000 you’re telling it that if it absolutely needs to use more data, it may. If Quick Sync needs more than 80000 I’d be surprised. We’re setting it to 100000 just in case.
Some NVIDIA cards support lossless, others don’t. We will cover both.
If you can set your Rate Control to Lossless, then do it and try to record something. If it works, then you’re set, don’t worry about the other settings. If however it doesn’t work, then it’s not supported by your Graphics Card and you should try the below….
Rate Control = VBR. We’re going to allow such a high bitrate that the card will just encode pretty much all the quality.
Bitrate = 160000. That’s 20MByte/sec file size but that’s OK, because you will be encoding with Handbrake later to reduce that. Like with the Quick Sync example above, this introduces 2 iterations of quality loss, but I find this is usually pretty good.
Keyframe Interval = Auto or 0.
Preset = Bluray.
Profile = High.
Level = 5.1 just like the other NVENC examples.
Use Two-Pass Encoding = Tick it if you can!
CPU = 0 unless you have multiple Graphics Cards.
B-frames = As high as you can make it up to 16. Mine only goes up to 4.