my 1080p30 Recordings for 75-80 minutes usually runs on the 12GB range
There is nothing 'wrong' with your results. You simply have different Recording values set
There are LOTS of options, each with their own Pro's and Con's. though a gross generality, for a given CODEC usually the higher the filesize, the higher the recording quality (bitrate, color, etc)
a 2hr 1080p30 movie at 2GB is very highly compressed (most likely losing video quality to a noticeable amount). but it depends.. did you record using H.264, but are comparing that to H.265 Recordings or even AV1 (which use more CPU with newer algorithms to compress, but use less bandwidth/filesize for given recording quality)?
Assuming computer adequate to the task at hand, For Recordings, you typically want to use a Constant Quality Recording value (like CPQ), vs CBR (constant bit rate) which is used (often required) for Streaming.
You'll be going into OBS Studio > Settings > Video and adjusting the Recording Tab settings (I believe). There are LOTS of options (flexibility). With that comes the ability to 'shoot yourself in the foot' so... your responsibility with free, open-source software to do your research.
Here is some of what I captured a couple of years ago. Maybe some of this will help. Though I captured these noted in the OBS v26 & 27 timeframe, I suspect the overall guidance still applies
What is not mentioned below, is what you have available, if anything, to assist with video encoding (which is REALLY computationally intensive). Which is why GPU for video encoding offload often helps. Then depending on which CPU/GPU combination you have, the 'optimal' settings will vary, and even then, it depends on what you are trying to accomplish. Make a video recording filesize small is easy. Making the filesize small(er) and keeping the recording quality up starts easy and gets progressively harder. Ideally your requirements are met before it gets too hard (/expensive) to take next steps
---
https://obsproject.com/forum/threads/best-settings.140188/#post-514693 @FerretBomb comment #2
1) NEVER RECORD TO MP4 DIRECTLY, FOR ANY REASON. It is not a recording-safe format; if anything goes wrong during the recording, even for a split second, the ENTIRE recording will be corrupted and absolutely not recoverable by any means. Record to MKV, and remux to MP4 after the recording is complete from OBS' File menu, Remux Recordings.
2) Record using CQP or CRF, not CBR. CBR is only used for streaming, where the back-end infrastructure requires it. CQP/CRF are quality-target based encodes, and will use as much or as little bitrate as is needed to maintain a constant image quality. No wasting bitrate on simple/slow scenes, no choking on fast-moving or complex scenes. 22 is a good starting point. 16 will result in much larger files, but near-perfect video. 12 should only be used if you plan to edit and re-encode later, and will be VERY large. Anything lower than 12 shouldn't be used unless you know exactly why you need it, and what problems it can cause.
3) Use the Quality preset, not Max Quality. Likewise, turn off Psychovisual Tuning. Both of these options use CUDA cores, and tend to cause significant problems like encoding overload when it should otherwise not be happening.
{Lawrence note... I believe this applies to Gaming. For non-gaming use cases (like mine), use of CUDA cores likely not an issue as noted by qhobbes below}
----
Related to # 2 above ["FerretBomb, post: 529433, member: 4349"]
Don't record with CBR or VBR, use CQP instead.
CQP is a quality-based encoding target that uses as much or as little bitrate as is needed to maintain a given image quality level.
22 is the normal 'good' point, 16 for 'visually lossless', and 12 is generally the lowest you'll want to go even if you plan to edit the video later (to cut down on re-encoding artifacts). The lower the number, the closer to 'lossless' video it gets. But below 16 the filesizes get ridiculously large very fast.
--
For easy setting, use simple output mode instead of advanced and choose "High Quality, Medium File Size" as quality. Or if you insist on advanced output mode, increase the cq value to get smaller files. Increasing the cq value by 3-4, you're halving the file size.
--
…. recording, use a quality based rate control like CQP (if you use nvenc on a Nvidia GPU) or CRF (if you use x264) or ICQ (if you use Quicksync on a Intel iGPU). CBR/VBR is for streaming only.
--
Jun 9 2021
NVENC. Tools > Auto-Configuration Wizard
Look-ahead allows the encoder to dynamically select the number of B-Frames, between 0 and the number of B-Frames you specify. B-frames are great because they increase image quality, but they consume a lot of your available bitrate (you should use CQP for recording so bitrate is not an issue), so they reduce quality on high motion content. Look-ahead enables the best of both worlds. This feature is CUDA accelerated; toggle this off if your GPU utilization is high to ensure a smooth recording.
Psycho Visual Tuning enables the Rate Distortion Optimization in the encoder, which greatly optimizes the way you use bitrate (not sure exactly how this works with CQP, possibly same quality at lower bitrate), improving image quality on movement. This feature is also CUDA accelerated.
If you're using something that uses the GPU, such as games, don't enable those. It depends on your source.
--
rescaling in the encoder in settings->output->streaming->rescale output. Disable this. This runs in CPU space and is a bottleneck. Instead just set your output resolution in settings->video->output resolution. This rescaling takes place on the GPU and uses next to none resources, since the GPU is specialized on that kind of operation.