Question / Help Video keeps freezing/lagging and audio stays consistent

paulriccio

New Member
I am a teacher trying to make lessons given our new Covid way of living. I have spent hours trying to figure this out, checked countless threads, and changed every setting imaginable. I have done multiple videos only to see that they freeze 10 minutes in for about 20 seconds.

Here is the logfile

https://obsproject.com/logs/EKA_rYnUmcf1bsV-

I wasted hours before I came here but wanted to give it a shot before bothering you kind souls. I know my computer sucks, I am working on it.

Thank you for your help. I hope all are coping well during these trying times.

Paul
 

FerretBomb

Active Member
19:58:09.187: Output 'simple_file_output': Number of lagged frames due to rendering lag/stalls: 200 (43.3%)
19:58:09.188: ==== Recording Stop ================================================
19:58:09.312: Video stopped, number of skipped frames due to encoding lag: 216/280 (77.1%)
You are getting overload both on the rendering side (GPU overload) and CPU side (Encoding lag). Additionally, 2500kbps is not enough for 1080p30 video.
Your hardware is... outdated, to put it politely. I'd say that it's below minimum specs, but it may still work.

If you are only recording, not livestreaming, you may try switching to the x264 Ultrafast preset (if in Simple mode, this would be the x264 low-CPU option). This will result in lower CPU usage, but larger file sizes (which can be re-encoded later in non-realtime with tools like Handbrake).
To try to handle the rendering overload, run OBS as Administrator. This will allow OBS to take GPU priority and handle its housekeeping tasks before whatever else you're running uses up the rest. If that doesn't work, you'll need to turn down in-game/program options to limit GPU usage.
To handle the bitrate issue, in Simple mode set the recording quality to Indistinguishable. If you are in Advanced mode for some reason, you'd want to swap to CQP/CRF encoding as it is a quality-target rather than bitrate limited method. You'd want to use a number between 16-22, lower being better quality.
 

paulriccio

New Member
Sigh,

You don't have to be kind, it is just my computer lol.

I am not live streaming, just online tutorial lessons. Should I stay in simple mode? I went to advanced because I was out of options and just trying stuff from message boards. I goofed and had it set to "High Quality". If going to "Indistinguishable" is recommended would "lossless" make it even faster? I don't care about file size. I plan on uploading it to youtube, posting the lesson and deleting it.

Would reducing the resolution help? I want to communicate, not win an Emmy lol. I love how this program works but if you know of any others that would run on my dinosaur let me know. I don't have the money for a new computer right now.

Thanks for taking the time to help, I really appreciate it.
 

FerretBomb

Active Member
I am not live streaming, just online tutorial lessons. Should I stay in simple mode? I went to advanced because I was out of options and just trying stuff from message boards. I goofed and had it set to "High Quality". If going to "Indistinguishable" is recommended would "lossless" make it even faster? I don't care about file size. I plan on uploading it to youtube, posting the lesson and deleting it.
Yes, stay in Simple mode. Advanced is not needed unless you're doing multi-track audio recording, or advanced stuff.
No, use Indistinguishable. Lossless isn't needed... pretty much ever, and the file sizes will be pointlessly gigantic unless you're doing advanced editing and VFX work. Indistinguishable is visually lossless to the human eye.
Make sure that your encoder is set to x264 Low-CPU as well. This will use poor quality compression but reduce the system load dramatically. It'll create larger files, but again, those can be re-compressed in non-realtime once the recording is done. :)
Would reducing the resolution help? I want to communicate, not win an Emmy lol. I love how this program works but if you know of any others that would run on my dinosaur let me know. I don't have the money for a new computer right now.
Reducing the resolution shouldn't be necessary if you're recording using the low-CPU option... or I should say, it's a very last-ditch thing. Use Indistinguishable and x264 low-CPU first, we can go further from there.
FerretBomb, I also don't know what direction to go with the downscale filter. More samples or less samples?
Don't downscale for now, if you're doing anything text-heavy it will make the text blurry.

For the moment we just want to let OBS throw a bunch of bitrate at the problem (Indistinguishable quality) to compensate for very poor compression (x264 low-CPU) just to get the recording itself done, and see if that will work around the low-end hardware.
Also, to notify me when you respond, you can at-tag me in your response post. Like this: @paulriccio
 

koala

Active Member
Reducing the resolution is the most efficient way to reduce CPU load, so this is definitely an option. Usually, you get better perceived quality if you lower the resolution than reducing all other things that reduce quality, just to be able to sustain a higher resolution.
According to your log, you're losing about 80% of your frames due to encoding lag. That's 4/5, or with other words, you need to reduce encoding CPU demands to 20%.
  • Reduce your resolution from 1920x1080 to 852x480. This is a bit less than half the resolution, about a fifth of the pixels, so it's about 20% CPU demand
  • if this isn't enough, reduce your fps from 30 to 25. This is 83% the fps, thus 17% less CPU demand
Might fit your CPU resources.
If you're presenting text, increase the font size if you reduced your video resolution. Take the TV as example: look how big texts and headlines are in the TV, or subtitles, in comparison to the whole image. They're quite huge.
 

paulriccio

New Member
Yes, stay in Simple mode. Advanced is not needed unless you're doing multi-track audio recording, or advanced stuff.
No, use Indistinguishable. Lossless isn't needed... pretty much ever, and the file sizes will be pointlessly gigantic unless you're doing advanced editing and VFX work. Indistinguishable is visually lossless to the human eye.
Make sure that your encoder is set to x264 Low-CPU as well. This will use poor quality compression but reduce the system load dramatically. It'll create larger files, but again, those can be re-compressed in non-realtime once the recording is done. :)

Reducing the resolution shouldn't be necessary if you're recording using the low-CPU option... or I should say, it's a very last-ditch thing. Use Indistinguishable and x264 low-CPU first, we can go further from there.

Don't downscale for now, if you're doing anything text-heavy it will make the text blurry.

For the moment we just want to let OBS throw a bunch of bitrate at the problem (Indistinguishable quality) to compensate for very poor compression (x264 low-CPU) just to get the recording itself done, and see if that will work around the low-end hardware.
Also, to notify me when you respond, you can at-tag me in your response post. Like this: @paulriccio
Thank you so much for helping. I have it in "flv" and remuxing it as well. Again, got that from a thread. Thanks.
 

paulriccio

New Member
Reducing the resolution is the most efficient way to reduce CPU load, so this is definitely an option. Usually, you get better perceived quality if you lower the resolution than reducing all other things that reduce quality, just to be able to sustain a higher resolution.
According to your log, you're losing about 80% of your frames due to encoding lag. That's 4/5, or with other words, you need to reduce encoding CPU demands to 20%.
  • Reduce your resolution from 1920x1080 to 852x480. This is a bit less than half the resolution, about a fifth of the pixels, so it's about 20% CPU demand
  • if this isn't enough, reduce your fps from 30 to 25. This is 83% the fps, thus 17% less CPU demand
Might fit your CPU resources.
If you're presenting text, increase the font size if you reduced your video resolution. Take the TV as example: look how big texts and headlines are in the TV, or subtitles, in comparison to the whole image. They're quite huge.
Thank you
 

koala

Active Member
You didn't reduce neither resolution nor fps according to the log, so it's no surprise nothing changed.
 

FerretBomb

Active Member

I think I am screwed. I tried everything you suggested. Thank you all for your help. It is on me to have a computer that is up to date.
Not true! You are no longer getting Encoding Lag in the log, just Rendering Delay. It's a first step, and has eliminated part of the problem.
Now is when you'd go into Settings->Video and set your Output (Scaled) Resolution to something lower.

I'd advised against downscaling at first as if the hardware could handle it without the downscale, it'd look better. Now it's clear it can't, and using the downscale to reduce load even further is appropriate.

If using the downscale does not work, you may need to take another step and set the Canvas Resolution lower, and squish down your Display Capture source in the preview window. This is generally not advised, but may help in your specific situation, with extremely low-end hardware. You'll want to right-click on the Display Capture in the Sources list, and go to Scale Filtering, and set it to either Bicubic or Bilinear instead of 'None' in that case.

Do another test recording after setting the downscale this time. :)
 

paulriccio

New Member
Not true! You are no longer getting Encoding Lag in the log, just Rendering Delay. It's a first step, and has eliminated part of the problem.
Now is when you'd go into Settings->Video and set your Output (Scaled) Resolution to something lower.

I'd advised against downscaling at first as if the hardware could handle it without the downscale, it'd look better. Now it's clear it can't, and using the downscale to reduce load even further is appropriate.

If using the downscale does not work, you may need to take another step and set the Canvas Resolution lower, and squish down your Display Capture source in the preview window. This is generally not advised, but may help in your specific situation, with extremely low-end hardware. You'll want to right-click on the Display Capture in the Sources list, and go to Scale Filtering, and set it to either Bicubic or Bilinear instead of 'None' in that case.

Do another test recording after setting the downscale this time. :)
I apologize for the disconnect in your instructions, I know as a teacher that is infuriating lol. I did this before I saw your reply. I took the frame rate down to 20 and also did some of your recommendations. Given this log, you think I can make a 20 min video and communicate some ideas lol?

When you say canvas resolution, is that the playback of the video in the program in real-time as I record? I just turned that off by right clicking.

 

FerretBomb

Active Member
Canvas Resolution is in Settings->Video, and is the base resolution for your OBS "canvas"... your working area in the Preview window. Most often it's set to your monitor's native resolution, and any downscaling is handled in the Downscale (Output) Resolution dropdown right below it. Doing it that way allows elements to alias into one another, maintaining greater overall video quality, but uses a bit more VRAM and GPU resources... which are tight in your case.

From the log, you already did what I'd meant to suggest, and while the Rendering Skip is down (0.3%, acceptable) the Encoder Lag has come back for some reason (6.4%).

At this point, you can try going down even further to 960x540, drop the framerate further to 15fps, and raise the CRF level from 12 to 16-22 (lower is higher quality, but larger filesizes; 12 is very low if that was a manual setting). You can also make sure that your CPU is running at max frequency (go into Win10 Start->Settings->Power and Sleep, create a new profile called 'Full Tilt' or something, and set the CPU minimum and maximum frequency to 100%), and also use thermal monitoring like RealTemp or Motherboard Monitor to make sure you aren't being thermal-throttled, especially if this is a laptop (which have extremely poor thermal envelopes). If throttling is happening and it IS a laptop, a fan pad might help mitigate things.

Beyond that, yes, it looks like the hardware just can't be helped.
 

paulriccio

New Member
Canvas Resolution is in Settings->Video, and is the base resolution for your OBS "canvas"... your working area in the Preview window. Most often it's set to your monitor's native resolution, and any downscaling is handled in the Downscale (Output) Resolution dropdown right below it. Doing it that way allows elements to alias into one another, maintaining greater overall video quality, but uses a bit more VRAM and GPU resources... which are tight in your case.

From the log, you already did what I'd meant to suggest, and while the Rendering Skip is down (0.3%, acceptable) the Encoder Lag has come back for some reason (6.4%).

At this point, you can try going down even further to 960x540, drop the framerate further to 15fps, and raise the CRF level from 12 to 16-22 (lower is higher quality, but larger filesizes; 12 is very low if that was a manual setting). You can also make sure that your CPU is running at max frequency (go into Win10 Start->Settings->Power and Sleep, create a new profile called 'Full Tilt' or something, and set the CPU minimum and maximum frequency to 100%), and also use thermal monitoring like RealTemp or Motherboard Monitor to make sure you aren't being thermal-throttled, especially if this is a laptop (which have extremely poor thermal envelopes). If throttling is happening and it IS a laptop, a fan pad might help mitigate things.

Beyond that, yes, it looks like the hardware just can't be helped.
I really appreciate the time you took to help me. I hope you stay safe and enjoy your week.
 
Top