Multi-Topic: Default Audio Delay in OBS, Interval Stutters in OBS, Custom Encoder Settings

This is 3 separate topics combined into one thread. I am currently using OBS version 28.1.2

I'm brand new to making videos. I noticed immediately that my OBS recordings need to delay all my audio sources (Desktop Audio, Capture Card Audio, Microphone Audio) by ~50 ms to be in sync with the encoded video. Have other people noticed this, and if so why isn't it silently corrected by default?

The OBS 30.2 release notes state: Fixed CoreAudio not handling encoder delay, resulting in audio being 44-48 ms late [derrod]

Is this the same issue, or something else entirely?

---------------

Regarding the interval stutter problem due to a slight mismatch of the monitor refresh rate as described in various other threads here. I have found that the only solution that works is to use a hardware Capture Device instead of a direct Game Capture. Elgato is not necessary, I think probably any capture card such as my Avermedia works. Using a single PC by running GPU HDMI out to capture HDMI in is fine.

The typical manifestation of this problem, which possibly affects "everyone" whether they admit it or not, is that recordings will begin to stutter badly at intervals that vary for everyone's PC, while the actual monitor display can be perfect, or close to perfect. I think this is because Game Capture pulls frames from GPU memory at time intervals determined by OBS, and OBS does not use or verify what was actually sent to the screen.

Since a Capture Card introduces additional lag, and even more lag if Buffering is used, it's not an ideal solution. Buffering is necessary for OBS on my PC otherwise I get interval stutters of a different interval that is unrelated to my monitor or device (PC, gaming console) display rate. I have heard that other recording software do not need this buffering, but have not tried yet.

As others reported, I noticed that DXGI Desktop Duplication improves the interval stutter problem, however it does not eliminate it for me. Nothing else I did had any effect on the interval stutter problem.

None of these solutions may be fully satisfactory if you need to overlay multiple games, animations, and sources for your recordings, as you'll only be able to fix the frame animation on one of them.

I hope that OBS will eventually fix this problem properly at the root. In the meantime, I am wondering if adding a Buffering option to Game Capture would help any?

---------------

When recording with the Nvenc H264 hardware encoder in OBS, how does one specify custom encoding options? The only thing I see is in Output Mode (Simple) and checking off Enable Custom Encoder Settings (Advanced). But if I use Simple mode, I cannot specify all the other options under the Advanced mode.

If this is the only way to do it, what are the manual command-line options that I need to type in for Simple mode that correspond to the various settings in Advanced mode? Although I know how to look up all the command-line options, I can't be certain what OBS in particular normally uses. I'd like to confirm it here so that aside from my personal tweaks, I enter the exact same settings.
 
Top