Files
com.xaymar.www/_guides/obs/high-quality-recording/x264.html
T
Michael Fabian 'Xaymar' Dirks 3de828b365 🆕High Quality Recording (in OBS® Studio)
2022-01-13 11:32:45 +01:00

160 lines
4.2 KiB
HTML

---
layout: default
category: "OBS"
title: "High Quality Recordings with x264 (in OBS® Studio)"
comments: true
---
{% capture content %}The x264 encoder supports both 4:4:4 as well as 4:2:0, as long as the underlying hardware is fast enough to handle it. It also has two different ways to reach each quality level: Constant Quantization Parameter (CQP) and Constant Rate Factor (CRF). Unfortunately OBS Studio only offers the latter, so for now we are stuck with that.{% endcapture %}{% include blocks/paragraph.liquid content=content %}
{% capture content %}With a single-PC setup, 4:4:4 recording using CRF will be very difficult. You might have to lower the preset used in order to maintain reasonable performance in game and encodes. Note that OBS Studio must be assigned a higher priority than the game.{% 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. While I-only encoding gets extremely close (with almost no error), OBS's implementation of x264 forbids this.{% endcapture %}{% include blocks/paragraph.liquid content=content %}
{% include blocks/heading.liquid level=2 content="Effective Lossless" %}
{% capture content %}
<thead><tr>
<th width="20%">Option</th>
<th width="*">Value</th>
</tr></thead>
<tr>
<td>Rate Control</td>
<td>CRF</td>
</tr>
<tr>
<td>CRF</td>
<td>0</td>
</tr>
<tr>
<td>Keyframe Interval</td>
<td>1</td>
</tr>
<tr>
<td>CPU Usage Preset</td>
<td>veryfast <i>(Picking a slower preset saves space, but takes more CPU)</i></td>
</tr>
<tr>
<td>Profile</td>
<td>high</td>
</tr>
<tr>
<td>Tune</td>
<td>Any <i>(Ensure that your tune matches up with your target content, or leave at None)</i></td>
</tr>
<tr>
<td>x264 Options</td>
<td></td>
</tr>
{% endcapture %}{% include blocks/table.liquid content=content %}
{% include blocks/heading.liquid level=2 content="Visually Lossless" %}
{% capture content %}
<thead><tr>
<th width="20%">Option</th>
<th width="*">Value</th>
</tr></thead>
<tr>
<td>Rate Control</td>
<td>CRF</td>
</tr>
<tr>
<td>CRF</td>
<td>8</td>
</tr>
<tr>
<td>Keyframe Interval</td>
<td>1</td>
</tr>
<tr>
<td>CPU Usage Preset</td>
<td>veryfast <i>(Picking a slower preset saves space, but takes more CPU)</i></td>
</tr>
<tr>
<td>Profile</td>
<td>high</td>
</tr>
<tr>
<td>Tune</td>
<td>Any <i>(Ensure that your tune matches up with your target content, or leave at None)</i></td>
</tr>
<tr>
<td>x264 Options</td>
<td></td>
</tr>
{% endcapture %}{% include blocks/table.liquid content=content %}
{% include blocks/heading.liquid level=2 content="High Quality" %}
{% capture content %}
<thead><tr>
<th width="20%">Option</th>
<th width="*">Value</th>
</tr></thead>
<tr>
<td>Rate Control</td>
<td>CRF</td>
</tr>
<tr>
<td>CRF</td>
<td>16</td>
</tr>
<tr>
<td>Keyframe Interval</td>
<td>1</td>
</tr>
<tr>
<td>CPU Usage Preset</td>
<td>veryfast <i>(Picking a slower preset saves space, but takes more CPU)</i></td>
</tr>
<tr>
<td>Profile</td>
<td>high</td>
</tr>
<tr>
<td>Tune</td>
<td>Any <i>(Ensure that your tune matches up with your target content, or leave at None)</i></td>
</tr>
<tr>
<td>x264 Options</td>
<td></td>
</tr>
{% endcapture %}{% include blocks/table.liquid content=content %}
{% include blocks/heading.liquid level=2 content="Acceptable Quality" %}
{% capture content %}
<thead><tr>
<th width="20%">Option</th>
<th width="*">Value</th>
</tr></thead>
<tr>
<td>Rate Control</td>
<td>CRF</td>
</tr>
<tr>
<td>CRF</td>
<td>21</td>
</tr>
<tr>
<td>Keyframe Interval</td>
<td>1</td>
</tr>
<tr>
<td>CPU Usage Preset</td>
<td>veryfast <i>(Picking a slower preset saves space, but takes more CPU)</i></td>
</tr>
<tr>
<td>Profile</td>
<td>high</td>
</tr>
<tr>
<td>Tune</td>
<td>Any <i>(Ensure that your tune matches up with your target content, or leave at None)</i></td>
</tr>
<tr>
<td>x264 Options</td>
<td></td>
</tr>
{% endcapture %}{% include blocks/table.liquid content=content %}
{% capture content %}{% include inline/link.liquid url="../" content="Back to the Guide" %}{% endcapture %}{% include blocks/paragraph.liquid align="center" content=content %}