107 lines
10 KiB
HTML
107 lines
10 KiB
HTML
---
|
|
layout: default
|
|
category: "OBS"
|
|
title: "High Quality Recordings with NVIDIA NVENC (in OBS® Studio)"
|
|
comments: true
|
|
---
|
|
|
|
{% capture content %}With {% include inline/link.liquid url="https://streamfx.xaymar.com/" content="StreamFX" %}'s NVENC you can achieve the quality targets in one of two ways: Constant Quantization Parameters (CQP) or Variable Bitrate with Constant Quality (VBR-CQ). Both have their own advantages and downsides, and it depends entirely on your requirements which one you should use. Modern {% include inline/link.liquid url="https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new" content="NVIDIA GPUs (Pascal and newer)" %} also all support 4:4:4 and 4:2:0 encoding at most of the quality levels shown here with hardly any impact on framerate. Please note that due to API limitations, it is currently not possible to get zero-copy encoding for 4:4:4 content.{% endcapture %}{% include blocks/paragraph.liquid content=content %}
|
|
|
|
{% capture content %}When using VBR-CQ, it should be noted that the quality you will end up with is directly related to the settings chosen, which will have a direct impact on framerate. This impact will be far higher than anything CQP could cause, so be warned of skipped frames from rendering lag if you don't have OBS Studio running as Administrator. However thanks to this additional work, VBR-CQ can exceed CQP quality while using less space - very similar to how CRF in x264 works!{% endcapture %}{% include blocks/paragraph.liquid content=content %}
|
|
|
|
{% include blocks/heading.liquid level=2 content="True Lossless" %}
|
|
{% capture content %}Due to codec limitations, "True Lossless" is not possible with H.264. It is however possible to get extremely close with I-only encoding, which has next to no measurable error. Ensure that you have your Color Format set to I444, Color Range set to Full, and that your Color Range matches the content recorded.{% endcapture %}{% include blocks/paragraph.liquid content=content %}
|
|
{% capture columns %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642026495_obs64_OpulentStandardLlama.png" caption="H.264" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642031553_obs64_ElementaryForkedAsianpiedstarling.png" caption="H.265" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% endcapture %}{% include blocks/columns.liquid content=columns columns=2 %}
|
|
|
|
{% include blocks/heading.liquid level=2 content="Effective Lossless" %}
|
|
{% capture content %}Effective Lossless is not quite True Lossless, but close enough that it will almost never matter. Ensure that you have your Color Format set to I444, Color Range set to Full, and that your Color Range matches the content recorded.{% endcapture %}{% include blocks/paragraph.liquid content=content %}
|
|
{% capture columns %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642026797_obs64_LeadingMetallicNurseshark.png" caption="H.264 CQP" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642041471_obs64_PeskyPuzzledAsiaticlesserfreshwaterclam.png" caption="H.264 VBR-CQ" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642031790_obs64_TeemingRecklessBullmastiff.png" caption="H.265 CQP" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642032358_obs64_ShySpanishWolverine.png" caption="H.265 VBR-CQ" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% endcapture %}{% include blocks/columns.liquid content=columns columns=4 %}
|
|
|
|
{% include blocks/heading.liquid level=2 content="Visually Lossless" %}
|
|
{% capture content %}Visually Lossless tries to get as close as possible to the point where Humans are unable to tell between original and encoded. Ensure that you have your Color Format set to I444, Color Range set to Full, and that your Color Range matches the content recorded.{% endcapture %}{% include blocks/paragraph.liquid content=content %}
|
|
{% capture columns %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642026555_obs64_WellgroomedEarnestGroundbeetle.png" caption="H.264 CQP" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642028421_obs64_CulturedSolidEquine.png" caption="H.264 VBR-CQ" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642031992_obs64_TomatoOddGalapagossealion.png" caption="H.265 CQP" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642032844_explorer_OutrageousDroopyEasternnewt.png" caption="H.265 VBR-CQ" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% endcapture %}{% include blocks/columns.liquid content=columns columns=4 %}
|
|
|
|
{% include blocks/heading.liquid level=2 content="High Quality" %}
|
|
{% capture content %}As we now have fallen below the ideal quality level where it matters, you can freely choose between I444 and NV12. Note that for H.264 encoding, you will need to change the 'Profile' to 'High' if you choose NV12. Ensure that you have your Color Format set to I444 or NV12, Color Range set to Full, and that your Color Range matches the content recorded.{% endcapture %}{% include blocks/paragraph.liquid content=content %}
|
|
{% capture columns %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642026608_obs64_WhimsicalBareTomtit.png" caption="H.264 CQP" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642028483_obs64_HandyAnxiousAmericanalligator.png" caption="H.264 VBR-CQ" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642032037_obs64_EachMoistStork.png" caption="H.265 CQP" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642032889_obs64_SuperficialSeriousAmmonite.png" caption="H.265 VBR-CQ" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% endcapture %}{% include blocks/columns.liquid content=columns columns=4 %}
|
|
|
|
{% include blocks/heading.liquid level=2 content="Acceptable Quality" %}
|
|
{% capture content %}At this level you will likely be unable to reach reasonable quality, and can freely choose between I444 and NV12. Note that for H.264 encoding, you will need to change the 'Profile' to 'High' if you choose NV12. Ensure that you have your Color Format set to I444 or NV12, Color Range set to Full, and that your Color Range matches the content recorded.{% endcapture %}{% include blocks/paragraph.liquid content=content %}
|
|
{% capture columns %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642026667_obs64_SoftGraciousGlowworm.png" caption="H.264 CQP" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642028506_obs64_BuzzingPrimaryVervet.png" caption="H.264 VBR-CQ" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642032071_obs64_FondArtisticArieltoucan.png" caption="H.265 CQP" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% capture column %}
|
|
{% include blocks/media.liquid type="image" url="https://cdn.xaymar.com/blog/2022/01/1642032923_obs64_PutridGrayZeren.png" caption="H.265 VBR-CQ" link=true %}
|
|
{% endcapture %}{% include blocks/column.liquid content=column %}
|
|
{% endcapture %}{% include blocks/columns.liquid content=columns columns=4 %}
|
|
|
|
{% include blocks/heading.liquid level=2 content="Additional Information" %}
|
|
{% capture list %}
|
|
<li>Some of the settings for VBR-CQ can be freely adjusted in order to regain performance:
|
|
{% capture list2 %}
|
|
<li><i>Two Pass</i> can be disabled, but it will increase file size and may decrease quality.</li>
|
|
<li><i>Look Ahead</i> can be set as low as 16 in H264 and 4 in HEVC, but it will increase file size and may decrease quality.</li>
|
|
<li><i>Maximum B-Frames</i> can be freely adjusted, which may increase file size and may decrease quality.</li>
|
|
{% endcapture %}{% include blocks/list.liquid content=list2 %}
|
|
</li>
|
|
<li>You can freely adjust the Key Frame <i>Interval</i> for anything not requiring I-only.</li>
|
|
<li>On Pascal, Maxwell and Kepler GPUs, it may be necessary to set <i>Maximum B-Frames</i> to 0.</li>
|
|
<li>On some Hardware, it may be necessary to use the <i>Preset</i> "High Performance" over "Lossless High Performance".</li>
|
|
<li>When OBS Studio updates FFmpeg to a more recent version, it may be necessary to set the <i>Preset</i> and <i>Tune</i> via Custom Settings until StreamFX updates.</li>
|
|
{% endcapture %}{% include blocks/list.liquid content=list %}
|
|
|
|
{% capture content %}{% include inline/link.liquid url="../" content="Back to the Guide" %}{% endcapture %}{% include blocks/paragraph.liquid align="center" content=content %}
|