Question / Help Issues with lossless recording

sl4r

New Member
Hello,

now i know that this is probably not what OBS was designed for, but i'm trying to record lossless video with full RGB at 2560x1440 and 75fps.

I encountered a couple of issues, the most severe being a lot of dropped frames in the recording.
To check this, i extracted every frame from the recorded video with FFmpeg as a png file and found that every second frame or so is identical with the previous one, resulting in noticeable stutter in the recorded video. This matches with the log telling something about dropped frames.
I tried both a custom FFmpeg output within OBS as well as the build in lossless option, without success.

My hardware should be capable of recording the video, the recording exports to a very fast Optane SSD, thermals shouldn't be an issue since i'm using a liquid cooled machine.

Any ideas about the issue would be greatly appreciated, thanks in advance!
Here's my log:

https://obsproject.com/logs/QZnaHLGKMoJYLlyA
 

Narcogen

Active Member
Your GPU is overloaded.

12:19:30.298: Output 'adv_ffmpeg_output': Number of lagged frames due to rendering lag/stalls: 4841 (34.1%)

12:34:54.035: Output 'simple_ffmpeg_output': Number of lagged frames due to rendering lag/stalls: 1218 (34.9%)

Whatever Superposition.exe is doing, it's using so much GPU that there isn't enough left for OBS to render your 1440p75 frames in time to compress them. Which makes sense if it's a benchmark-- it's going to saturate your GPU pretty much by design.

You probably need a capture card and a 2nd PC in order to push your GPU to the limit and record it at this quality level.
 

sl4r

New Member
Well, i thought OBS is mostly using the CPU for the encoding, if it was mostly done by the GPU then it would make sense. Maybe there is a way to offload this to the CPU? Or at least use the CPU more, since most of the cores have around 30-40% CPU time used.
 

Narcogen

Active Member
You are using the CPU for encoding.

OBS needs the GPU to render each frame before encoding, and that's where your bottleneck is.

OBS needs to do this because OBS also does compositing, which I'm guessing you don't need. But even if you're not doing compositing, OBS still needs to render the frame.

Have you tried ShadowPlay for this purpose?
 

sl4r

New Member
So, i've done some further testing with a lower GPU load and now the issue is gone, so thank you for the suggestion.

I have tried Shadowplay for recording before, and well it works, but its not lossless :). The reason i wanted to do lossless in the first place is to encode it later with HEVC for storage, something which isn't possible with OBS and not in realtime anyway. I will just use high quality x264 in OBS then, it works well enough.

Again thanks for the help.
 
Top