Changing media source path while hidden causing render lag

noizeproxy

Member
Yeah, there's lots of errors in there, going to ignore most of them for now & I have not looked at your plugins. Resources are being wasted no doubt. Already helped with the Media Source errors, try to find them & fix, remux or remove them.

Let's try to reduce load to get rid of the rendering lag.

Disable them.
14:47:47.992: Game Bar: On
14:47:47.992: Game DVR: On

Run your capture monitor @ 120HZ, secondary monitor @ 60HZ.

Almost if not all of your Media Sources are using Hardware Accelerated Decoding. Not good, disable it for all of them.
14:47:51.012: is_hw_decoding: yes

Test.

03:24:32.482: Blocked loading of '\coresync_x64.dll' 9 times.
03:24:32.483: Number of memory leaks: 139
Here's the latest log. did some tweaking per your suggestions. not sure if it's helping just yet, but everytime i leave my "***MAIN***" scene and come back, something is happening. i don't know how to update my ffmpeg... i actually just installed the latest StreamFX hoping that would do it for me... not sure that did anything really...
 

Attachments

  • 2025-01-07 14-50-25.txt
    88.1 KB · Views: 5

noizeproxy

Member
Yeah, DDR4 is fine with (4) but don't try it if you ever get 5/

I counted over (50) Media Sources, all of them are using hardware decoding. Every one of them is being rendered by your GPU....
50?

I just counted 5 cameras, and 12 media sources. Like I said, I used Streamerbot to change the file paths on some of these at various times during my stream, or for channel points... but I've turned off hardward decoding for all cameras and media sources at this point
that should be shown in the log i just sent you.

Really appreciate you looking into this!

the EOI error and the ffmpeg things is really bothering me.
 

rockbottom

Active Member
Can't tell, the log doesn't contain an encoding session. Close OBS & re-upload the same log so it's complete.

SE/Java Script errors seem to be history, that's progress.
 

rockbottom

Active Member
No encoding session in it.

You got most of the media sources, what remains should be below.

Decode warning right before the FFMPEG warning. Is one causing the other?
4:59:06.226: warning: decode_sos: nb_components (0)
14:59:06.226: warning: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.

14:50:29.528: [Media Source 'DUST 001']: settings:
14:50:29.528: input: C:/Users/davei/Dropbox/NOIZEPROXY/emotes and badges/dust 720 - 001.webm
14:50:29.528: input_format: (null)
14:50:29.528: speed: 100
14:50:29.528: is_looping: yes
14:50:29.528: is_linear_alpha: no
14:50:29.528: is_hw_decoding: yes
14:50:29.528: is_clear_on_media_end: yes
14:50:29.528: restart_on_activate: yes
14:50:29.528: close_when_inactive: yes
14:50:29.528: full_decode: no
14:50:29.528: ffmpeg_options:

14:50:29.532: [Media Source 'Alert Text BG']: settings:
14:50:29.532: input: C:\Users\davei\Dropbox\NOIZEPROXY\emotes and badges\BG FOR TEXT\text bg 003.webm
14:50:29.532: input_format: (null)
14:50:29.532: speed: 100
14:50:29.532: is_looping: yes
14:50:29.532: is_linear_alpha: no
14:50:29.532: is_hw_decoding: yes
14:50:29.532: is_clear_on_media_end: yes
14:50:29.532: restart_on_activate: yes
14:50:29.532: close_when_inactive: yes
14:50:29.532: full_decode: no
14:50:29.532: ffmpeg_options:
14:50:29.560: [phandasm_waveform]: Failed to get audio source: "DRUMS"

14:50:29.564: [Media Source 'CHECK IN']: settings:
14:50:29.564: input: C:/Users/davei/Dropbox/NOIZEPROXY/emotes and badges/check in.webm
14:50:29.564: input_format: (null)
14:50:29.564: speed: 100
14:50:29.564: is_looping: no
14:50:29.564: is_linear_alpha: no
14:50:29.564: is_hw_decoding: yes
14:50:29.564: is_clear_on_media_end: yes
14:50:29.564: restart_on_activate: yes
14:50:29.564: close_when_inactive: yes
14:50:29.564: full_decode: no

14:50:29.528: [Media Source 'DUST 001']: settings:
14:50:29.528: input: C:/Users/davei/Dropbox/NOIZEPROXY/emotes and badges/dust 720 - 001.webm
14:50:29.528: input_format: (null)
14:50:29.528: speed: 100
14:50:29.528: is_looping: yes
14:50:29.528: is_linear_alpha: no
14:50:29.528: is_hw_decoding: yes
14:50:29.528: is_clear_on_media_end: yes
14:50:29.528: restart_on_activate: yes
14:50:29.528: close_when_inactive: yes
14:50:29.528: full_decode: no
14:50:29.528: ffmpeg_options:

14:50:29.532: [Media Source 'Alert Text BG']: settings:
14:50:29.532: input: C:\Users\davei\Dropbox\NOIZEPROXY\emotes and badges\BG FOR TEXT\text bg 003.webm
14:50:29.532: input_format: (null)
14:50:29.532: speed: 100
14:50:29.532: is_looping: yes
14:50:29.532: is_linear_alpha: no
14:50:29.532: is_hw_decoding: yes
14:50:29.532: is_clear_on_media_end: yes
14:50:29.532: restart_on_activate: yes
14:50:29.532: close_when_inactive: yes
14:50:29.532: full_decode: no
14:50:29.532: ffmpeg_options:

14:50:29.560: [phandasm_waveform]: Failed to get audio source: "DRUMS"

14:50:29.564: [Media Source 'CHECK IN']: settings:
14:50:29.564: input: C:/Users/davei/Dropbox/NOIZEPROXY/emotes and badges/check in.webm
14:50:29.564: input_format: (null)
14:50:29.564: speed: 100
14:50:29.564: is_looping: no
14:50:29.564: is_linear_alpha: no
14:50:29.564: is_hw_decoding: yes
14:50:29.564: is_clear_on_media_end: yes
14:50:29.564: restart_on_activate: yes
14:50:29.564: close_when_inactive: yes
14:50:29.564: full_decode: no
 

rockbottom

Active Member
Same thing in the first log.
00:58:25.601: warning: decode_sos: nb_components (0)
00:58:25.601: warning: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
 

noizeproxy

Member
No encoding session in it.

You got most of the media sources, what remains should be below.

Decode warning right before the FFMPEG warning. Is one causing the other?
4:59:06.226: warning: decode_sos: nb_components (0)
14:59:06.226: warning: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.

14:50:29.528: [Media Source 'DUST 001']: settings:
14:50:29.528: input: C:/Users/davei/Dropbox/NOIZEPROXY/emotes and badges/dust 720 - 001.webm
14:50:29.528: input_format: (null)
14:50:29.528: speed: 100
14:50:29.528: is_looping: yes
14:50:29.528: is_linear_alpha: no
14:50:29.528: is_hw_decoding: yes
14:50:29.528: is_clear_on_media_end: yes
14:50:29.528: restart_on_activate: yes
14:50:29.528: close_when_inactive: yes
14:50:29.528: full_decode: no
14:50:29.528: ffmpeg_options:

14:50:29.532: [Media Source 'Alert Text BG']: settings:
14:50:29.532: input: C:\Users\davei\Dropbox\NOIZEPROXY\emotes and badges\BG FOR TEXT\text bg 003.webm
14:50:29.532: input_format: (null)
14:50:29.532: speed: 100
14:50:29.532: is_looping: yes
14:50:29.532: is_linear_alpha: no
14:50:29.532: is_hw_decoding: yes
14:50:29.532: is_clear_on_media_end: yes
14:50:29.532: restart_on_activate: yes
14:50:29.532: close_when_inactive: yes
14:50:29.532: full_decode: no
14:50:29.532: ffmpeg_options:
14:50:29.560: [phandasm_waveform]: Failed to get audio source: "DRUMS"

14:50:29.564: [Media Source 'CHECK IN']: settings:
14:50:29.564: input: C:/Users/davei/Dropbox/NOIZEPROXY/emotes and badges/check in.webm
14:50:29.564: input_format: (null)
14:50:29.564: speed: 100
14:50:29.564: is_looping: no
14:50:29.564: is_linear_alpha: no
14:50:29.564: is_hw_decoding: yes
14:50:29.564: is_clear_on_media_end: yes
14:50:29.564: restart_on_activate: yes
14:50:29.564: close_when_inactive: yes
14:50:29.564: full_decode: no

14:50:29.528: [Media Source 'DUST 001']: settings:
14:50:29.528: input: C:/Users/davei/Dropbox/NOIZEPROXY/emotes and badges/dust 720 - 001.webm
14:50:29.528: input_format: (null)
14:50:29.528: speed: 100
14:50:29.528: is_looping: yes
14:50:29.528: is_linear_alpha: no
14:50:29.528: is_hw_decoding: yes
14:50:29.528: is_clear_on_media_end: yes
14:50:29.528: restart_on_activate: yes
14:50:29.528: close_when_inactive: yes
14:50:29.528: full_decode: no
14:50:29.528: ffmpeg_options:

14:50:29.532: [Media Source 'Alert Text BG']: settings:
14:50:29.532: input: C:\Users\davei\Dropbox\NOIZEPROXY\emotes and badges\BG FOR TEXT\text bg 003.webm
14:50:29.532: input_format: (null)
14:50:29.532: speed: 100
14:50:29.532: is_looping: yes
14:50:29.532: is_linear_alpha: no
14:50:29.532: is_hw_decoding: yes
14:50:29.532: is_clear_on_media_end: yes
14:50:29.532: restart_on_activate: yes
14:50:29.532: close_when_inactive: yes
14:50:29.532: full_decode: no
14:50:29.532: ffmpeg_options:

14:50:29.560: [phandasm_waveform]: Failed to get audio source: "DRUMS"

14:50:29.564: [Media Source 'CHECK IN']: settings:
14:50:29.564: input: C:/Users/davei/Dropbox/NOIZEPROXY/emotes and badges/check in.webm
14:50:29.564: input_format: (null)
14:50:29.564: speed: 100
14:50:29.564: is_looping: no
14:50:29.564: is_linear_alpha: no
14:50:29.564: is_hw_decoding: yes
14:50:29.564: is_clear_on_media_end: yes
14:50:29.564: restart_on_activate: yes
14:50:29.564: close_when_inactive: yes
14:50:29.564: full_decode: no
what do you mean no encoding session? do i need to record or stream for that to get logged? my issues are present regardless if i stream or record, so i guess i didn't think it mattered
 

noizeproxy

Member
Same thing in the first log.
00:58:25.601: warning: decode_sos: nb_components (0)
00:58:25.601: warning: is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
yeah, i noticed that. not sure what to think of it though. i'm barely keeping up right now lol. i am pretty knew to this kind of deep dive
 

rockbottom

Active Member
Yep, the log must contain a encoding session.

Open OBS, make needed updates & then close/re-open it. Run your encoding test, close/re-open OBS again & then upload the previous log.
 

noizeproxy

Member
Yep, the log must contain a encoding session.

Open OBS, make needed updates & then close/re-open it. Run your encoding test, close/re-open OBS again & then upload the previous log.
here you go. hope this works
 

Attachments

  • 2025-01-07 15-36-55.txt
    72.4 KB · Views: 9

Suslik V

Active Member
Code:
...
warning: EOI missing, emulating
I was mistaken about errors origin. It seems that it coming from Video Capture Device source.
 

rockbottom

Active Member
Unfortunately, trial & error. The log doesn't identify the offending devices or files.
15:38:40.092: warning: EOI missing, emulating

Things look like they are improving. Your audio thread sure did much better in this session.
15:38:44.075: audio_thread(Audio): min=0.009 ms, median=0.505 ms, max=10.485 ms, 99th percentile=2.971 ms
03:24:32.190: audio_thread(Audio): min=0.008 ms, median=1.181 ms, max=919.385 ms, 99th percentile=11.057 ms

There's still some slight rendering lag but both of your monitors are still running at 165HZ. 120/60 are the best settings when using OBS. If you want higher than 120, get a 240 or 360HZ monitor. I have a 360.
15:38:35.067: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 6 (0.1%)
 
Last edited:

noizeproxy

Member
set all my camera sources to "Default" color range. Set my monitors to 120/60. did another test.
 

Attachments

  • 2025-01-07 16-14-23.txt
    80 KB · Views: 7

noizeproxy

Member
i triggered a bunch of channel points and tried to put some strain on it. definitely getting encoder lag, but not sure what it's showing in the logs
 

rockbottom

Active Member
Working through some crap. Memory leaks went from 139 > 134, now 24...

I'm betting if you test using a New Scene Collection with just (1) Scene/Source the rendering lag will go away along with the encoding lag.
16:17:06.221: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 13 (0.2%)
16:17:06.221: ==== Recording Stop ================================================
16:17:06.222: Video stopped, number of skipped frames due to encoding lag: 13/5921 (0.2%)

Even if some encoding lag remained, just use the recommended Preset P5 instead of P7.
 

rockbottom

Active Member
Yeah, no decode/FFMPEG errors again. Looks like we got that sorted.

Some more EOI info from the last log
16:15:27.680: warning: EOI missing, emulating
16:15:27.893: error: mjpeg: unsupported coding type (ce)
16:15:27.893: warning: EOI missing, emulating
16:15:30.369: warning: EOI missing, emulating
16:15:31.650: warning: EOI missing, emulating
16:15:31.737: warning: EOI missing, emulating
16:15:32.699: warning: EOI missing, emulating
16:15:35.200: error: unable to decode APP fields: Invalid data found when processing input
 

Suslik V

Active Member
For test purposes it is better to make duplicate (or even make new) Scene Collection and Profile in OBS.

And you may set format other than MJPEG for your camera device and see if these warnings (it is not errors, so can be ignored) will be in place or gone:
Code:
15:37:00.549: warning: EOI missing, emulating
...
15:36:56.575: warning: deprecated pixel format used, make sure you did set range correctly

About memory leaks.
Less actions = less leaks. If some external plugin or script written in the way that it leaves some old data in memory without freeing it in time (the "leaks") then this number in the end of the OBS log may depend on number of internal calls to this script/plugin. Longer session = more actions by user or more external/internal events = more leaks. Sometimes leaks are small, only tens of bytes, because it is usually text string (for example full path to file). Of course, it is better to find the source of leakage and inform creator of the plugin or script, so creator can fix it in the next releases (it is not your fault or wrong setting).
 
Top