obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
58.89k stars 7.84k forks source link

Intermittent track matte glitch #5735

Open IonicEcko opened 2 years ago

IonicEcko commented 2 years ago

Operating System Info

Windows 11

Other OS

No response

OBS Studio Version

Other

OBS Studio Version (Other)

27.1.3 and 27.2b2 and b3

OBS Studio Log URL

https://obsproject.com/logs/6N0t2DrV608U-uia

OBS Studio Crash Log URL

No response

Expected Behavior

Matte stinger transition should take you smoothly from Scene A to Scene B.

Current Behavior

Matte stinger transition intermittently flickers with a 1 (or a couple?) frame from Scene A (I think) after the transition from scene A to scene B completes. This is separate from the issues experienced when spamming scene changes.

This seems to be the opposite of the issue reported in #4886 where they reported the flicker happened before the transition if I'm reading their "Current Behaviour" right. Even though other videos seem to show the same issue I am seeing.

It is possible what they saw as the glitch showing before the transition was because of the speed at which they were switching (it actually followed the last switch rather than preceeding the next) but its impossible for me to say.

Steps to Reproduce

  1. Create multiple scenes
  2. Add color source to each scene to make the flicker more obvious
  3. Add multiple Window Captures (any mode should work), elements etc to each scene.
  4. Add a stinger, select 'Matte_Transition_08.webm'
  5. Transition between your scenes

It seems (at least for me) its more common on scenes with a number of elements but does not correspond with something visual like an encoding or rendering lag spike. I also note it seems to be more reliably reproduced on the first switch to a scene, subsequent switches don't seem to exhibit it as reliably?

Anything else we should know?

It seems limited to track matte's for me... If I switch to fade etc it no longer occurs.

I'm getting an example video and will upload as soon as I can.

Edit: Example track matte attached Matte_Transition_08.zip

IonicEcko commented 2 years ago

Example of it glitching on stream. Multiple transitions on that stream went fine before and after the glitch, but a few didn't, enough that a bunch of people commented.

https://user-images.githubusercontent.com/6550614/148060519-92ba715a-1422-4fce-8e2a-2299e72416b2.mp4

iryis commented 2 years ago

Did you manage to fix this issue? I experience this more often than not when switching between scenes. Reproduced on version 27.2.4 Edit: I still get this exact issue in 28.x versions

JonasBjordal commented 1 year ago

I get the same bug almost consistently in 27.2.4 too. It even flickers the previous scene I'm transitioning from in the transition preview settings window.

RytoEX commented 1 year ago

If you are still seeing this issue in OBS Studio 28.1.2 (or newer), please provide an OBS Studio log file and a sample file for the track matte so that we can examine them. This may have been an issue with a third-party plugin that has since been updated.

Warchamp7 commented 1 year ago

Posting here so that it's noted but I've confirmed on Discord that this issue still exists

kubabar commented 1 year ago

If you are still seeing this issue in OBS Studio 28.1.2 (or newer), please provide an OBS Studio log file and a sample file for the track matte so that we can examine them. This may have been an issue with a third-party plugin that has since been updated.

The issue still persists on 29.0.2 (Mac M1) and I would attach a log file, but there's no information at all about the transition happening and it didn't print any errors during recording and the summary didn't show any lagged/skipped frames. These are the lines regarding the transition:

2:48:38.903: Set FFmpeg options: 22:48:38.903: input: /Users/kuba/Movies/sp_in.webm 22:48:38.903: input_format: (null) 22:48:38.903: speed: 100 22:48:38.903: is_looping: no 22:48:38.903: is_linear_alpha: no 22:48:38.903: is_hw_decoding: yes 22:48:38.903: is_clear_on_media_end: yes 22:48:38.903: restart_on_activate: yes 22:48:38.903: close_when_inactive: no 22:48:38.903: ffmpeg_options:

Here's the transition file and OBS recording with screenshots of scene 1 and scene 2.

scene 1 scene 2 transition webm recording output

In this particular example you can see that the stinger is still being displayed correctly (as it didn't flash to black), but the track matte made the underlying rest flash back to scene 1 for one frame. This and the fact that it doesn't happen with stingers without track mattes makes me believe that this issue is tied to the track matte exclusively.