obs-studio icon indicating copy to clipboard operation
obs-studio copied to clipboard

Show Transition/Hide Transition -> Fade only working once

Open TheRealMakkus opened this issue 1 year ago • 22 comments

Operating System Info

Windows 11

Other OS

No response

OBS Studio Version

30.2.0-beta3

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/LmIcguQO2LfSlEA9

OBS Studio Crash Log URL

No response

Expected Behavior

I have some video sources with mp4 files in it. These sources are not visible. They can be made visible by channel-points. So far so good.

But: I found out, if you use "Fade" as a "Show Transition" and "Hide Transition", they can be only be played ONCE. After making the source visible, it plays once, after that, the source gets invisible (by streamer.bot or by hand), but if you make it visible again, it never plays again - until i restart OBS Studio.

This worked before Version 30, as far a I remember. Since 30.x it does'nt work anymore.

Current Behavior

The video is only played once

Steps to Reproduce

  1. Add a new video source (it's a short 3.8 Secs. MP4 Clip)
  2. Check all boxes except "Loop"
  3. Right click the source, choose show Transition, set it to Fade. choose Hide Transition, set it to Fade
  4. Hide the source
  5. Make the source visible
  6. Hide the source
  7. Make the source visible
  8. It won't play anymore ...

Anything else we should know?

No response

TheRealMakkus avatar Jun 14 '24 12:06 TheRealMakkus

Can you confirm the earliest version where this broke?

RytoEX avatar Jun 16 '24 00:06 RytoEX

I am not sure. I paused streaming from end of january (with version 29.x) until may (with version 30.x). In 29.x it worked, in 30.x it does'nt.

TheRealMakkus avatar Jun 16 '24 16:06 TheRealMakkus

Just tested this in 30.1.2 and it works fine. The video fades in and plays every time.

Please check in OBS Studio 30.2.0-beta3 (or newer) with hardware decoding disabled. Please also check in OBS Studio 30.1.2 with hardware decoding enabled and with it disabled. If it still happens, please try reproducing this without any third-party plugins. Which Media Source are you seeing this issue with, specifically?

RytoEX avatar Jun 16 '24 19:06 RytoEX

cxx cc dcc w svtrww ccx svt du cc www d svts SSD

Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : TheRealMakkus @.> Date : 16/06/2024 17:06 (GMT+01:00) À : obsproject/obs-studio @.> Cc : Subscribed @.***> Objet : Re: [obsproject/obs-studio] Show Transition/Hide Transition -> Fade only working once (Issue #10852)

I am not sure. I paused streaming from end of january (with version 29.x) until may (with version 30.x). In 29.x it worked, in 30.x it does'nt.

— Reply to this email directly, view it on GitHubhttps://github.com/obsproject/obs-studio/issues/10852#issuecomment-2171753813, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALRUI3I225LJO6PZ4AVCKY3ZHWZYLAVCNFSM6AAAAABJKIW6MOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZRG42TGOBRGM. You are receiving this because you are subscribed to this thread.Message ID: @.***>

mouh2019ouadah avatar Jun 16 '24 20:06 mouh2019ouadah

I tried with hardware decoding disabled. The Video is playing once, after hiding and make it visible again, it won't play a second time. Whenever I enable or disable hardware decoding, the video plays once.

Tried starting OBS in safe mode - same issue.

Now I found out: If i uncheck (don't know the exakt english translation) "Show nothing, if playback ends", it works, and I can make the source unvisible and visible - the clip is playing every time.

Don't know why, and what to do, to get the good old "show nothing when playback ends" thing back.

TheRealMakkus avatar Jun 17 '24 12:06 TheRealMakkus

Please provide a log file from Safe Mode where this problem occurs. As previously noted, I followed your Steps To Reproduce and did not have this issue occur.

RytoEX avatar Jun 17 '24 14:06 RytoEX

I have no idea, what caused the issue. Without any changes (except OBS Studio updates and plugin updates) it suddenly occured. Until then it always worked fine.

Here the Logfile, started OBS in Safe Mode and klicked multiple times show/hide the source, while it played - as usual - the first time.

https://obsproject.com/logs/LZBwQhNwFUplRMnn

TheRealMakkus avatar Jun 17 '24 15:06 TheRealMakkus

Please test this with a fresh scene collection in Safe Mode with only a single Media Source that is affected. The log is a bit too noisy to be sure of what's going on. It looks like the Media Source is failing to initialize hardware decoding, but you say that this isn't the issue.

I am still unable to reproduce this by repeating hiding and showing a source that has both Show and Hide transitions set to Fade.

RytoEX avatar Jun 18 '24 19:06 RytoEX

Hm! Interesting! If i create a fresh scene in save mode with only THIS video, it works. What the heck? This is really strange. It works in normal mode, too.

Hmmmmmm! I have no idea why, but I think, this will help me solving the problem. Thank you very much for your support!

TheRealMakkus avatar Jun 18 '24 19:06 TheRealMakkus

The problem is BACK!

After I noticed the error again, I installed OBS on a PC that never had OBS installed - the error is the same.

And now i can tell you exactly, how to reproduce the problem. If you like, you can use the same video as I did, here is the link: https://www.xxl-radio.de/download/mark.mp4

Add a new media-source, use this video. Check all boxes to get a loop. Show- and Hide-Transition: Fade Now position the video on the screen: 1406px from left, 162px from top, 38px from right (you have to crop it for this), 117px from bottom.

Now remove the loop.

Now it happens: If you HIDE the video, WHILE it is playing: No Problem, it will always come up, if you make it visible again.

BUT: If you let play the video till its end, then hide the source, and make it visible again: It won't come up anymore.

Open the settings, uncheck hardware encoding, save, it will play again - until you let it play till the end.

Can you reproduce the issue now?

TheRealMakkus avatar Jun 20 '24 12:06 TheRealMakkus

Please provide the OBS log from that session where it contains only the single problematic Media Source.

RytoEX avatar Jun 20 '24 18:06 RytoEX

Here it is: https://obsproject.com/logs/OlhgmVwOM7Nwq3Rj

TheRealMakkus avatar Jun 20 '24 18:06 TheRealMakkus

If you like, I can create a screencapture-video of all my steps.

TheRealMakkus avatar Jun 20 '24 18:06 TheRealMakkus

Here is a video with this issue. Did not use the exact coordinates, but all steps like moving and cropping. https://www.youtube.com/watch?v=ZrpOTvPCKf4

TheRealMakkus avatar Jun 20 '24 19:06 TheRealMakkus

By the way, you can also see how the audio source does not disappear from the list at 1:28. It looks as if the video file is simply not closed as soon as the source is hidden.

Can you confirm this error?

TheRealMakkus avatar Jun 23 '24 12:06 TheRealMakkus

BUT: If you let play the video till its end, then hide the source, and make it visible again: It won't come up anymore.

Open the settings, uncheck hardware encoding, save, it will play again - until you let it play till the end.

Can you reproduce the issue now?

Yes, now I can reproduce the issue. The key is that the Media Source must be cropped and must stop by playing to its end for this bug to occur. Hardware acceleration has nothing to do with this issue.

I do also observe that the Media Source is not being removed from the Audio Mixer as if the file is not being properly unloaded.

Also, I can confirm that this does happen in OBS Studio 30.1.2, so this is not a 30.2.x regression.

RytoEX avatar Jun 27 '24 02:06 RytoEX

I'm glad you were able to reproduce the bug. I hope you can fix it. :)

TheRealMakkus avatar Jun 27 '24 10:06 TheRealMakkus

I believe this is related but can make another bug if it seems different.

On Linux (void linux, kernel 6.10.0, mesa 24.1.4, Intel A770 DG2) using the fade transition with 300ms default instead of cut transition makes video and preview blank black. However the filter/properties preview is not black.

I tried back to 29.1.3 and this still happens.

zlice avatar Jul 28 '24 13:07 zlice

This seems to be related to plugins, at least on linux - where you i think you have to define OBS_PLUGINS_PATH=/lib/obs-plugins OBS_PLUGINS_DATA_PATH=/usr/share/obs/obs-plugins/ to get plugins. Cut and Fade both work for transitions at this point.

Plugins also seem to create some segfault on exit though...

zlice avatar Aug 06 '24 12:08 zlice

This issue has nothing to do with the void linux issue, I think whoever linked that to this was a bit confused.

kkartaltepe avatar Aug 31 '24 00:08 kkartaltepe

it's not void specific, it's linux specific and issues have been immediately closed as wont fix. the root cause is that plugins are loaded twice even when they have bad paths. cmake also has variables that don't add up afaict which makes, more bad paths.

zlice avatar Aug 31 '24 13:08 zlice

This issue has nothing to do with the Linux issue about plugins loading twice. Please do not use this Issue as a place to debate/debug that issue. As I wrote above, I was able to confirm this Issue on Windows, as the OP reported.

RytoEX avatar Aug 31 '24 14:08 RytoEX

Any chance, this could be fixed?

TheRealMakkus avatar Nov 03 '24 19:11 TheRealMakkus