univrsal / spectralizer

Audio visualizer plugin for obs-studio
GNU General Public License v2.0
588 stars 57 forks source link

Linux: using spectralizer freezes the broadcasted video #54

Open ethaniel opened 3 years ago

ethaniel commented 3 years ago

I am experiencing this weird bug, that when I have the spectralizer overlay enabled, I can see the video perfectly on my screen, but when watching on Youtube, the video is frozen (no stuttering, just a frame freeze, can last for hours) and I can only hear the audio.

Hiding the spectralizer source "unfreezes" the video immediately on the youtube stream. I rebuilt the obs from source code (fresh download) and still the issue persists.

There is no frame loss on rendering, encoding or network: image

Spectralizer v 1.3.4 OBS v. 27.0.0-19-g3887c0906 (64 bits)

I've got 16cores/32threads, 68% idle:

top - 22:30:01 up  7:58,  3 users,  load average: 11.64, 9.41, 7.03
Tasks: 497 total,   3 running, 493 sleeping,   0 stopped,   1 zombie
%Cpu(s): 21.6 us,  2.0 sy,  9.7 ni, 66.4 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
MiB Mem :  32125.5 total,  19734.2 free,   5695.8 used,   6695.5 buff/cache
MiB Swap:    980.0 total,    980.0 free,      0.0 used.  25876.4 avail Mem
univrsal commented 3 years ago

I need a little more info than that, what does the spectralizer config look like? Also add the obs studio log

ethaniel commented 3 years ago

Weird, on some OBS starts everything is normal (the spectralizer is being shown on the stream). On other starts I get errors in the log (see below) and the stream freezes.

image image image

And here are the entries in the log when the problem occures:

03:20:35 AM.487: glBindVertexArray failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.487: glDrawArrays failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.487: device_draw (GL) failed
03:20:35 AM.488: glBindVertexArray failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.488: glDrawArrays failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.488: device_draw (GL) failed
03:20:35 AM.488: glBindVertexArray failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.488: glDrawArrays failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.488: device_draw (GL) failed
03:20:35 AM.520: glBindVertexArray failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.521: glDrawArrays failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.521: device_draw (GL) failed
03:20:35 AM.521: glBindVertexArray failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.521: glDrawArrays failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.521: device_draw (GL) failed
03:20:35 AM.521: glBindVertexArray failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.521: glDrawArrays failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.521: device_draw (GL) failed
03:20:35 AM.554: glBindVertexArray failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.554: glDrawArrays failed, glGetError returned GL_INVALID_OPERATION(0x502)
03:20:35 AM.554: device_draw (GL) failed

Once I hide the Spectralizer source, these errors stop.

univrsal commented 3 years ago

When I mean log, I mean the entire log

ethaniel commented 3 years ago

Sorry, my bad. Here is the full log - https://transfer.sh/GSKS/log.txt (click "download" on top of the page, since it doesn't show the full file)