Hello, hope you're all doing well.
I've recently gone down a rabbit hole of encoding and recording settings with OBS because I want to start recording some gameplay, and while I think I've figured out what most of the settings do, I have doubts regarding others and thought making a post here would be a good idea to get some feedback and suggestions from people with more knowledge in the matter.
The first thing I should mention is that I'm only interested in recording, I won't be doing any streaming whatsoever, so my only purpose is to get the highest quality possible in the recordings. I mention this because many times people record and stream at the same time, and they have to make certain choices with the settings to comply with the requirements of streaming sites, but this isn't the case.
These are the settings that I'm certain about when it comes to getting the best quality recording with the Advanced Output Mode, with the exception of CQP, which is about finding the right balance between quality and file size.
- Recording Format: Matroska Video (.mkv)
- Video Encoder: NVIDIA NVENC AV1
- Audio Encoder: FFmpeg PCM (32-bit float)
- Rate Control: Constant QP
- Preset: P7: Slowest (Best Quality)
- Tuning: High Quality
- Multipass Mode: Two Passes (Full Resolution)
- Profile: main
And these are the reason I'm writing this post. I'm listing each one, saying what I believe they do based on the research I've done and then asking my questions regarding each one of them.
- Keyframe interval: if I understand correctly, keyframe is the name given in OBS to what is also known as an I-frame or intra-frame and is the least compressed of the 3 types of frames (I, P and B-frames) because it can only refer to macroblocks within the same frame, unlike P-frames, that can reference previously encoded frames, and B-frames, which can reference both previous and future frames. If this is correct, then I would assume having keyframes as often as possible would result in the highest quality and setting the interval to the lowest it can be, which seems to be 0, will yield the best quality in the recording (while, understandably, increasing the encoding load). So those are my two questions with this setting: am I understanding it correctly and is 0 the best choice for the highest quality?
- B-Frames: these are called bi-directional frames and look at both previous and future frames, which makes them very efficient when it comes to compression, but are also stripped of the most detail because of it, so following this logic, using 0 would be the best for quality. So my two questions with this setting are: am I understand it correctly and is 0 the best choice for the highest quality?
- B-Frame as Reference: self-explanatory, the B-Frame can be referenced by other frames to help with compression. I don't fully understand the implications of this one, so the question I have here is more broad and obviously depends on whether I want to have B-Frames or not: if I use B-Frames, is this option worth it when aiming for the highest quality?
- Look-ahead: this one is supposed to check the next frames and determine how many B-frames to use, between 0 and the amount set in the B-frames field. So this leads me to my first question: does this even do anything if I have B-Frames set to 0? From my understanding it shouldn't, but the tooltip thing on OBS doesn't make any mention of B-Frames, it only says it increases visual quality by determining a better bitrate distribution through analysis of future frames at the cost of increased GPU utilization and latency. Second question: if it does do something even with B-Frames set to 0, is this better or worse for quality purposes?
- Adaptive Quantisation: I'm having a hard time finding documentation on this setting, my very vague understanding of this one is that it determines what part of the image should be prioritized when allocating the bitrate to increase the perceived visual quality, but that's very very broad, I'd like to know more of how it works. My question: is this setting better on or off for quality?
I would love some feedback and suggestions, and anyone having similar doubts or questions is more than welcome to post them as a reply to the post as well.
Thanks.
I've recently gone down a rabbit hole of encoding and recording settings with OBS because I want to start recording some gameplay, and while I think I've figured out what most of the settings do, I have doubts regarding others and thought making a post here would be a good idea to get some feedback and suggestions from people with more knowledge in the matter.
The first thing I should mention is that I'm only interested in recording, I won't be doing any streaming whatsoever, so my only purpose is to get the highest quality possible in the recordings. I mention this because many times people record and stream at the same time, and they have to make certain choices with the settings to comply with the requirements of streaming sites, but this isn't the case.
These are the settings that I'm certain about when it comes to getting the best quality recording with the Advanced Output Mode, with the exception of CQP, which is about finding the right balance between quality and file size.
- Recording Format: Matroska Video (.mkv)
- Video Encoder: NVIDIA NVENC AV1
- Audio Encoder: FFmpeg PCM (32-bit float)
- Rate Control: Constant QP
- Preset: P7: Slowest (Best Quality)
- Tuning: High Quality
- Multipass Mode: Two Passes (Full Resolution)
- Profile: main
And these are the reason I'm writing this post. I'm listing each one, saying what I believe they do based on the research I've done and then asking my questions regarding each one of them.
- Keyframe interval: if I understand correctly, keyframe is the name given in OBS to what is also known as an I-frame or intra-frame and is the least compressed of the 3 types of frames (I, P and B-frames) because it can only refer to macroblocks within the same frame, unlike P-frames, that can reference previously encoded frames, and B-frames, which can reference both previous and future frames. If this is correct, then I would assume having keyframes as often as possible would result in the highest quality and setting the interval to the lowest it can be, which seems to be 0, will yield the best quality in the recording (while, understandably, increasing the encoding load). So those are my two questions with this setting: am I understanding it correctly and is 0 the best choice for the highest quality?
- B-Frames: these are called bi-directional frames and look at both previous and future frames, which makes them very efficient when it comes to compression, but are also stripped of the most detail because of it, so following this logic, using 0 would be the best for quality. So my two questions with this setting are: am I understand it correctly and is 0 the best choice for the highest quality?
- B-Frame as Reference: self-explanatory, the B-Frame can be referenced by other frames to help with compression. I don't fully understand the implications of this one, so the question I have here is more broad and obviously depends on whether I want to have B-Frames or not: if I use B-Frames, is this option worth it when aiming for the highest quality?
- Look-ahead: this one is supposed to check the next frames and determine how many B-frames to use, between 0 and the amount set in the B-frames field. So this leads me to my first question: does this even do anything if I have B-Frames set to 0? From my understanding it shouldn't, but the tooltip thing on OBS doesn't make any mention of B-Frames, it only says it increases visual quality by determining a better bitrate distribution through analysis of future frames at the cost of increased GPU utilization and latency. Second question: if it does do something even with B-Frames set to 0, is this better or worse for quality purposes?
- Adaptive Quantisation: I'm having a hard time finding documentation on this setting, my very vague understanding of this one is that it determines what part of the image should be prioritized when allocating the bitrate to increase the perceived visual quality, but that's very very broad, I'd like to know more of how it works. My question: is this setting better on or off for quality?
I would love some feedback and suggestions, and anyone having similar doubts or questions is more than welcome to post them as a reply to the post as well.
Thanks.