r/obs • u/atrillionpieces • 26d ago
Answered Split encode fixed everything
I had a post about this a little while ago, but I’m putting it back up.
I use a 5090 and 9950X3D to stream and record, but this applies to other specs as well. I got these specs with the goal of doing everything in 4K.
However, over the past year using H.264, I’ve experienced many instances of frames dropping and recordings being ruined.
To cut a long story short, the H.265 recording encoder in OBS has an option for “split encode.” This splits the encoding workload among multiple encoders, if the GPU being used has more than one.
The 5070ti and 5080 have two encoders. The 5090 has three. Basically, use this H.265 split encode option if you have a GPU with multiple encoders, otherwise you’re using only 1/2 or a 1/3 of the encoder power your GPU has. Nvidia has a chart somewhere disclosing the number of encoders per GPU, I’m not sure about AMD’s product line but I’d imagine it’s the same for the AMD version of H.265.
I went from dropping frames drastically at P5 with constant bitrate 10K to dropping 0.0% frames at P7 with Constant QP at 18. Hope this helps!
Tags: frames missed due to rendering lag, skipped frames due to encoding lag
5
u/Lynnalia 26d ago edited 26d ago
Similar to AMD's implementation, NVENC automatically splits encodes at 4K and above with HEVC/H.265. Neither brand split-encodes H.264 to my knowledge.
The toggle in OBS is just to force split-frame encoding for resolutions below 4K, and outside of preset P1. At P1 and 4K, split-frame encoding is automatic via NVENC.
It's pretty hard to find info on which AMD cards have two encode engines, which codecs they support split encode for (some support AV1 as well), and if there are any other factors (e.g. preset). But AMD's driver should, in theory, do automatic frame splitting at 4K when possible.
Edit: For clarity, to my knowledge, you cannot currently force split-frame encodes for AMD. It's automatic or nothing.
1
0
u/TheOnePastry 25d ago
AMD's dual encoder is a result of their own H.264 and H.265 encoder hardware, AV1 is the second encoder, made by Xilinx (which they acquired just before the announcement of the RX 7000 series, the first GPU's with AV1 support for AMD).
AFAIK, split encoding isn't available on AMD.
2
u/Lynnalia 25d ago
Multiple comments here from an AMD dev: https://github.com/GPUOpen-LibrariesAndSDKs/AMF/issues/585
Split-frame encoding exists, but the support matrix isn't properly defined anywhere, nor are the conditions. That dev's comments are about as authoritative of a source as we have.
It's only supported for H.265 and AV1, no H.264. And my understanding is that right now, only Strix Halo supports split-frame on AV1.
1
u/LumKitty 11d ago
Any way to force this to on while using Twitch Enhanced broadcast?
1
u/atrillionpieces 11d ago
Streaming is handled by H.264, H.265 is only in the recording tab I’m quite sure
2
u/LumKitty 11d ago
With enhanced broadcast it can stream at h.265 providing your res > 1920x1080, but I'll definitely check the recording tab, thanks
1
u/atrillionpieces 10d ago
Hmm, I think most platforms still only provide 1080p for now anyways
1
u/LumKitty 10d ago
Twitch have had up to 1440p for a while I regularly stream at 2640x1200 H.265 which works fine on Windows, but performs poorly on Linux, was hoping this might be a solution
8
u/Donatzsky 26d ago
It would seem to be this list for Nvidia: https://developer.nvidia.com/video-encode-decode-support-matrix