#plugins-and-tools

1 messages · Page 40 of 1

obsidian agate
#

its not a Warning or a Critical issue

hushed pelican
#

no, i have two monitors so i started the stream and then start the game as normal and play until the end

hushed pelican
obsidian agate
#

the lag/overload is from the game capture source hooking into the game. It will have a brief hiccup

hushed pelican
#

right so its something that u cant avoid?

obsidian agate
#

not really, and its not much of a lag anyway.

The meter that was going into the orange and red is more specifically to do with your network connection to the ingest servers

hushed pelican
obsidian agate
#

you probably wont get the very brief and benign encoder overload, since you wont be hooking into a game process with a game capture source, instead you would be using a Video Capture Device source

hushed pelican
obsidian agate
#

welcome.

boreal hearth
#

I've been playing around with an alternative to the vlc video source using mpv as a backend, only works on linux for now though

untold jay
#

That's good to see. If it's the entire mpv player, that can help troubleshooting videos all without leaving obs-studio and having to install mpv standalone.

boreal hearth
#

it basically is, but for some reason clicking on the ui elements doesn't work. Only moving the mouse to show the UI works and I don't know why

boreal hearth
#

I don't think so, when I move the mouse over the seek bar the time code shows up at the mouse position just fine, but clicking does not make it seek to the selected position, which is really weird

honest plover
#

well i am still confused on which one to use the one on the top Hardware (NVENC, HEVC) or the bottom one NVIDIA NVENC HEVC ? . Or should i not use source record as it seems to crash obs instances.

untold jay
honest plover
#

source record has caused problems for me in the past like it will only record parts of the footage and only black screen after that with no audio so stopped using it for a while. Now i wanted to use it again might switch back obs default recording if source record is causing problems or not working correctly.

untold jay
#

If i can instruct people how to vf add mpdecimate and stats.lua works, that alone would be most useful for troubleshooting.

karmic delta
oblique yewBOT
# karmic delta https://obsproject.com/logs/6sBIwtg5CPl3d8xu

Log contains debug or verbose error messages (browser/ftl/directshow/etc), for a filtered version click here

🛑 Critical
  • 41.1% Rendering Lag
⚠️ Warning
  • Not Admin
  • Mismatched Sample Rates
  • Capture Interference
ℹ️ Info
  • Windows 10 22H2 (OK)
  • Dynamic Bitrate
  • Third-Party Plugins (3)
Hardware Check

AMD Ryzen 7 3700X - OK! / GeForce RTX 2060 - OK!

oak root
#

Hi everyone! I have a question, so I manage a streamers obs and everything else, i was wondering, is there a plugin out there so I can control his obs? Like changing scenes or moving stuff here and there without the need of a third party software like TeamViewer or any desk?

#

He’s pretty slow with the pc and sometimes I just want to help him out really quick, the main issue is that any desk or teamviewer makes his computer slow while I’m there and of course takes the focus out of the game or whatever he’s doing atm

untold jay
oak root
#

Ok, so basically this tools let me do some presets and the I can trigger them from home with my stream deck into his OBS or something along those lines?

untold jay
#

@oak root Depends on what you consider a "preset", but yes, you can trigger anything that can be bound to a hotkey (without counting as a physical hotkey press), change filter states, move sources, and some other things. But no preview.

oak root
#

I’ll give it a try then, thanks for the quick answer

karmic delta
oblique yewBOT
# karmic delta https://obsproject.com/logs/OUZi1cGDnPxWV4pg

Log contains debug or verbose error messages (browser/ftl/directshow/etc), for a filtered version click here

🛑 Critical
  • Max Audio Buffering
⚠️ Warning
  • Mismatched Sample Rates
  • Capture Interference
ℹ️ Info
  • Windows 10 22H2 (OK)
  • Dynamic Bitrate
  • Third-Party Plugins (3)
Hardware Check

AMD Ryzen 7 3700X - OK! / GeForce RTX 2060 - OK!

fossil wyvern
lusty marlin
#

hi all, i just got an rtx 3070 ti card, does anyone know of a good youtube guide to using the nvidia ar move filter that is a part of exeldro's move plugin, to make snapchat style face masks etc? i found a video from andilippi that gives an overview of all the controls but i wondered if anyone knew of a step-by-step guide to using it to create a snapchat-like filter? thanks

weak escarp
lusty marlin
weak escarp
lusty marlin
#

thanks @weak escarp will see how i get on

bright sapphire
#

I only know about a few plugins - state your issue and if anyone can assist they will respond. I personally use a greenscreen

edgy moon
#

but not only this all plugins don't show up

bright sapphire
edgy moon
bright sapphire
#

Have you restarted OBS?

edgy moon
bright sapphire
oblique yewBOT
# edgy moon yeah i have tried all that but i don't know the issue

To help resolve your issue, we need to view a log file from a fresh launch of OBS Studio containing an output session. Follow these instructions to upload a clean log file:

  1. Restart OBS Studio first!
  2. Start your stream/recording replicating any issues (meaning having any games/apps open and captured, etc.)
  3. Stop your stream/recording after 30 seconds or after the issue has occurred
  4. Click the Help menu → Log Files → Upload Current Log File
  5. Paste the URL into this Discord channel
sleek lynx
#

dumb question, but is there a way to install multiple instances of a plugin?

mortal harbor
#

no

visual lantern
#

How do i figure out what version of my websocket i have? Streamerbot wont connect to OBS

hard jay
#

If you didn't install a plugin, you most likely have v5, as that's what ships with OBS now.

visual lantern
#

I thought so, but 4.9 and 5.x arent working and connecting

glacial haven
#

can you show a screenshot of your streamerbot websocket connection config?

#

if you left everything set to default in the OBS websocket config it should be looking like in their example screenshot, but you need to make sure you enter the correct password

glacial haven
# oblique yew

also you could upload a log for us to help investigating what the problem might be as described by the bot here. instead of starting and stopping the recording in steps 2 and 3 just try to connect streamerbot so that you generate an error message

#

and while troubleshooting disable any firewall temporarily - if that already helps and makes the connection work then you know what to look at, otherwise it's just one thing to have out of the way while trying to find the issue

dense perch
#

I am using obs-plugintemplate and looking into the ability to set package:true for tagged RC-type of builds not on the master branch.
I have noticed in non-master branch Actions such as PatTheMav's https://github.com/obsproject/obs-plugintemplate/actions/runs/6657042057/job/18090925431 that the Check Event Data step says:
could not determine current branch: failed to run git: not on any branch
I also see this on my plugin's (obs-ndi) develop branch.
https://github.com/obs-ndi/obs-ndi/actions/runs/6739958301/job/18322315459

Is this message just warning and normal/acceptable, or the indicator of a problem in the configuration or script?

dense perch
#

I noticed the .github\workflows\build-project.yaml file has a "Seeking Testers" label that can publish the plugin.
What is the recommended practice(s) of using some of these package:true overloads?
Is the below code saying that if I create a pull request with the label "Seeking Testers" then it will codesign and package the plugin?

          case "${GITHUB_EVENT_NAME}" in
            pull_request)
              config_data=('codesign:false' 'notarize:false' 'package:false' 'config:RelWithDebInfo')
              if gh pr view --json labels \
                | jq -e -r '.labels[] | select(.name == "Seeking Testers")' > /dev/null; then
                config_data[0]='codesign:true'
                config_data[2]='package:true'
              fi
              ;;
            push)
              config_data=('codesign:true' 'notarize:false' 'package:true' 'config:RelWithDebInfo')
              if [[ ${GITHUB_REF_NAME} =~ [0-9]+.[0-9]+.[0-9]+(-(rc|beta).+)? ]]; then
                config_data[1]='notarize:true'
                config_data[3]='config:Release'
              fi
              ;;
            workflow_dispatch)
              config_data=('codesign:true' 'notarize:false' 'package:false' 'config:RelWithDebInfo')
              ;;
            schedule)
              config_data=('codesign:true' 'notarize:false' 'package:true' 'config:RelWithDebInfo')
              ;;
            *) ;;
          esac
#

I tried just now, but still run into the could not determine current branch: failed to run git: not on any branch problem when on a non-master branch.

dense perch
hollow portal
#

Anyone know of any plugins that would be a good replacement for the experimental captioning built in that would work for twitch?

dense perch
mortal harbor
#

can someone help me with the background removal

#

for mac

regal breach
hollow gull
#

i have a question
can someone help me with the record like its always record all the screem for me and i want to record a singale screem.

oblique yewBOT
ruby lichen
wispy nebula
#

Hi, since Xaymar went full paywall, is there any plugins to use ffmpeg/AV1 etc. in the new OBS Studio?

#

the settings in OBS without plugin are so few.. like hmmmm im still having my old OBS with streamFX..

wispy nebula
#

neat

dense perch
# dense perch I wonder why that Action step says it isn't on a branch. There looks like a newe...

Newp! 😦 The version of gh in the GitHub Action Ubuntu image is very recent.
I added the following to obs-ndi's .github\workflows\build-project.yaml

gh --version

The result...

gh version 2.37.0 (2023-10-17)
https://github.com/cli/cli/releases/tag/v2.37.0
could not determine current branch: failed to run git: not on any branch

Still, could be another bug in the gh cli.
Any ideas @rancid fossil ? (See my fairly short thread in the reply above)

rancid fossil
#

you probably have to explicitly add the tag as a reference

#

I remember we had to do that on the main repo because gh cannot handle prereleases

dense perch
#

k

dense perch
rancid fossil
#

can't say, haven't looked into it - I haven't had time to backport the fixes we did on obs-studio back to the template yet

dense perch
#

Noticed that, and still grateful for all of the updates that you have made to both repos

rancid fossil
#

there will be backports once I can make some time 😅

dense perch
#

I may PR a template update to the .github/workflows/build-project.yaml

dense perch
#

You want me to create a PR, or simpler for you to eventually just fix it?
I myself am not blocked and will just use my repo's fix.

rancid fossil
#

feel free to open a PR

low garden
#

this may sound odd or confusing... but i have a tool that is provided as a webpage, but the problem is that in order for it to work on mobile you have to control it with touch actions and those same actions control the browser like pulling down the URL in mobile chrome or scrolling the page...

if i give the controls touch-action: none in CSS then they work without the browser interfering, but in the case that a control somehow takes up the whole viewport you seem to lose control of the browser...

anyone happen to have any insight on how to handle this? x.x

obsidian agate
#

We would need specific information about the software u are using

low garden
#

its just plain html/JS and mobile browsers

#

basically theres a canvas element that you interact with by dragging and if i set touch-action: none for the element it prevents the dragging from scrolling the browser / pulling down the URL bar, but if you pinch zoom such that that element takes the whole viewport then you suddenly cant do anything besides interact with it because the browser is ignoring everywhere you can touch

jovial stream
oblique yewBOT
# jovial stream https://obsproject.com/logs/2XTtoyIuxEQOcz4D
🛑 Critical
  • Max Audio Buffering
  • Hardware-accelerated GPU Scheduler
⚠️ Warning
  • Capture Interference
  • Multiple Game Capture
ℹ️ Info
  • Windows 11 22H2 (OK)
  • No Output Session
Hardware Check

Intel Core i5-9400 @ 2.90GHz - OK! / GeForce GTX 1650 - OK!

jovial stream
oblique yewBOT
# jovial stream https://obsproject.com/logs/xRIwRgYjta3eqFwi
🛑 Critical
  • Max Audio Buffering
  • Hardware-accelerated GPU Scheduler
⚠️ Warning
  • Capture Interference
  • Multiple Game Capture
ℹ️ Info
  • Killer NIC
  • Windows 11 22H2 (OK)
  • 1.9% Rendering Lag
  • 2.0% GPU Encoder Overload
  • Dynamic Bitrate
Hardware Check

Intel Core i5-9400 @ 2.90GHz - OK! / GeForce GTX 1650 - OK!

plain warren
#

@warm olive i'd like to try that test build if you are still offering

glacial haven
#

I am not using the audio capture yet but was planning on using it later, so I don't know yet whether I am affected by the problem, but I have 4 systems to test with (1 laptop with win11 and 1 laptop and 2 desktops with win10) - so I can also run the test builds there if it helps - how do we normally go about reproducing it, just capture any app for 30-60 minutes or is it specific ones? I think I read that it happens with discord and spotify

#

also 1 laptop and 1 desktop have amd and intel each, so there's a good mixture for comparison

#

and then run with --verbose and collect logs, or what would you need?

frigid sail
#

@warm olive same would love to try the build out. Having problems with audio capture on obs 28/29/30. SadCat

wary escarp
glacial haven
#

ok but the app I capture doesn't matter?

#

could just be a browser running youtube?

frigid sail
wary escarp
glacial haven
regal breach
#

I guess if you want to run something afk, you could get a looping music, let it run, then check the recording in audacity and look for a part where the audio waveform becomes weird

wary escarp
#

@plain warren @frigid sail just fyi pkv and Mitchell are offline at the moment, but they'll respond once they're back

glacial haven
frigid sail
#

It’s completely random but usually after an hour to 2 with continuous audio playback

regal breach
#

Ah nice

#

For good measure I'd say initially try with 2 obs instance, one is the release, one is the test build

regal breach
#

So you'd know the issue already occurred

glacial haven
#

now what's missing is the new special test build

regal breach
#

Eyyy, I should remember that everyone is smarter than me hahaha

glacial haven
#

dunno, have a bit of QA experience

regal breach
#

Ah, makes sense

glacial haven
#

usually also run stuff like process monitor on it - but here this is going to be hard, as it produces a lot of data and then I'd have to find the exact timestamp where the distortion occured

regal breach
#

Also, one issue with it is desync, so would be helpful to have video that is supposed to be synced with audio

#

Probably just include the process monitor in the recording lol

frigid sail
#

Streaming to an audience is a great way for testing when my viewers suddenly cry the audio is hurting their ears LULW

regal breach
#

(just me hoping desync is also fixed along with that issue)

glacial haven
#

the one thing I am worried about is that this looks like it's something from windows side, so it's not clear how much influence we can have on this from OBS at all

frigid sail
#

Yea this problem just occurred out of nowhere and has driven me mad for weeks now. I had an outdated windows that wouldn't update but after getting it fully updated it still happened.

glacial haven
#

I once worked with microsoft on an issue in several of their office products - that was from an enterprise business that had a huge contract with them so they would actually listen and involve their devs - we got a good repro scenario with process monitor showing exactly what is going wrong (basically some locking steps were done in the wrong order, making a race condition possible) - still eventually they decided to not change it, because they were too afraid of unforeseen side effects

#

things like that always come with risks on a huge scale, they're then afraid of breaking even more and rather do nothing

#

I hope it will be different here 😐

#

or there is a way to indirectly influence it from OBS, but when I hear that discord also has that problem I guess we can't really hope for that either

frigid sail
#

Yeah best of luck. At the very least I'm not the only one losing my mind over it I guess but I'm also really worried it just won't get fixed. Probably will have to go through the mess of using Voicemeeter again. pepehands

glacial haven
#

that's exactly where I am at, too - used Voicemeeter, but that also was never really stable for me, could also get distortions (who knows, maybe it's even related) after a while, I had to regularly restart it's process to fix this

hallow vale
frigid sail
#

The obs capture is just so damn simple and easy to setup and then ofcourse with my luck it's super broken for me.

glacial haven
#

then I moved over to abuse the sound devices that come with my monitors as kind of virtual devices, making one the one that only I can hear and another one that will be heard in recordings/streamings and directed sound to my headset using the audio monitoring feature of OBS

#

but guess what, with that I am running into the desync issue

#

so next I wanted to look at app audio capture

#

until I read that this is having issues too 😄

vale vine
#

It's for sure a windows issue it seems because other programs using the same api have the issue

glacial haven
#

yeah, it seems so

#

I wonder whether it's only capturing anyway, or just that in many other scenarios we don't notice it so much, like when spotify itself during playback gets "desync", well, what would be your reference to notice it

obsidian agate
#

and ive run into the issue with both the built in BETA and the plugin version, which is why I dont use either of them or suggest their usage at the moment.

#

im also using a dual PC setup, so the overal need for it isnt really there anyway. mostly used it to capture StreamRaiders on my OBS PC when I was running that a few years back

frigid sail
glacial haven
#

that's exactly what I mean, I wonder how many people take closer looks at something like this outside of us people who care about capturing

#

this "subconsciously disturbing" area there is super annoying

warm olive
#

@frigid sail sorry i was at the theater, sending you a link on DM

frigid sail
#

Much love. HYPERS

warm olive
#

you'll have to open DMs Yorvex

glacial haven
#

just did

glacial haven
#

tried with 29.1.3 first to see whether that system is affected at all before going with the test build - didn't get any distortions within 18 minutes of recording, but boy is the desync bad

wary escarp
#

Desync should be fixed as of 30 rc1 i think?

glacial haven
#

OK, then I guess it will also be fixed in the test build - but first I have to find out which systems have the distortions and which haven't

peak ore
#

I probably should've asked it in this thread... Mybad

#

But, my Python for OBS isn't loading even though it's the right file path

fossil wyvern
peak ore
fossil wyvern
#

supported versions are 3.6 to 3.11

peak ore
#

I'm going to get it installed then let you know how it is!

#

It's working! Thank You again.

peak ore
#

I feel good about this script 😆

fossil wyvern
#

lmao

mossy lintel
#

Do I get it right or I'm just not finding option in regard of obs-websocket to have possibility to get scene item list and/or properties for current scene or current preview scene with version 5 of plugin? Using GetSceneItemList needs scene name to be added to get any info out of it. In v4 there were CurrentScene and PreviewScene as options to choose from.

jovial stream
oblique yewBOT
still beacon
#

Possible bug in Advanced Scene Switcher?

If <current scene> 0 Intermission
Then Switch to <scene --break-->

This switch is occurring when the current scene is 3 Studio Wide Rear Cam. I think this may be a bug. I find it switched to the --break-- scene after 15 mins when on other scenes other than the 0 Intermission scene. Bug?

mortal harbor
#

probably not, would need more context as to what all of your macros are doing though.

gleaming raptor
#

Is Aitum Vertical the same as multi rtmp but with added functionality to customize and have more control with scenes?

untold jay
#

@gleaming raptor No, it creates an entirely new canvas, which has a significant resource footprint, whereas obs-multi-rtmp only creates additional outputs for the existing canvas. You can use both at once, if need be.

gleaming raptor
mossy lintel
regal breach
mossy lintel
#

Yes, but I do not want to get scene name per se, I want to get list of items of current scene, meaning all the sources and their properties.

regal breach
#

and you get the exact name of scene

#

so now you can use the function

mossy lintel
#

Yup, I just wanted confirmation that there isn't easy way in v5 like it was with v4. There are more steps needed to get same result.

wraith moon
#

uhm i need very specific help but i dotn know where else i would type this so... for soem reason only my mic is picking up. no music. no sound. just my mic. is there any settigns i should turn on/off?

#

ok ima un-install OBS then reinstall OBS and hopefully that works...

#

wait a sec...

#

nvm

#

nope that STILL didnt work.

#

welp.

rancid kiln
#

I wrote a Program called EYE. It communicates Information of a Game to the Plugin Advanced Scene Switcher. So it is possible for example to let the health Bar trigger sources in OBS. I dont know if I am allowed to write that here, but I think many would be interested in it.

bleak pewter
#

Guys any of you can guide me about how to use the dynamic mask shader that comes with Exeldro's shader filter?

solid plume
#

Do anyone know a plug-in that syncs scene changes across multiple computers over ip? I had one but I don't remember the name and it doesn't show anymore since last update

glacial haven
#

out of personal interest: I am doing something similar, basically firing lots of shader effects based on things that happen in CS, but I do this simply by having my tool control OBS through OBS-websocket (e.g. enable and disable the shader filters or hide or show sources) - how do you interface with adv-ss? also through websocket? or somehow directly?

rancid kiln
# glacial haven out of personal interest: I am doing something similar, basically firing lots of...

No, I developed an interface to easily setup up to 10 different areas simultaneously. For each area you can create categories, like high life, middle life, low life or everything you desire. In those categories you put screenshots of those areas, which indicate the state of the healthbar for example, that describes the categorie. You create those croped screenshots directly with the program. The program than checks each area and compares the current screen with the deposited screenshots and picks the one that is the most similar. Than it writes the name of the category into a file which you than read with Advanced Scene Switcher. It works very well and is easy to setup.

glacial haven
#

ah, so it's using the video condition from adv-ss to detect the states from the video feed?

rancid kiln
glacial haven
#

that was a message from them (but I turned ping off, not sure whether they like to be pinged here, do at your own risk)

rancid kiln
#

thank you

rancid kiln
#

super cute emoji

still beacon
#

My macros are switching from scene 0 Intermission to scene --break--, but supposed to only do that when scene 0 Intermission is active. The problem is it's switching to --break-- scene when scene 3 Studio Wide Rear Cam is active. And then it stays there and never comes back.

rancid kiln
#

So, the scene 0 should toggle the macro to the scene Break on and off.

still beacon
fossil wyvern
still beacon
fossil wyvern
#

yes

still beacon
fossil wyvern
still beacon
#

Another question--why does my bumper video play twice at each break? And why the same bumper when I have more than one in the folder? The bumpers are in VLC video source with shuffle checked.

still beacon
fossil wyvern
#

you're on 29.1.3?

vale vine
#

Their scene collection causes settings to either hang or take an hour to open

#

Started with the change in how hotkeys load when launching settings

obsidian agate
#

i have my doubts, my collection is 5x larger and settings opens up near instantly

vale vine
#

I mean, I'm pretty sure they've posted videos of it happening doggolul

obsidian agate
oblique yewBOT
vale vine
#

Show off

#

46 plugins doggolul doggolul doggolul

obsidian agate
#

yep, over half are exeldros

#

good thing i posted that log, jsut noticed my Ko-Fi browser sources are having issues

green rover
#

Hi, could someone help me with Blackhole on a MacBook?

green rover
#

Also, does anyone have any recommendations for an EQ that'll work on Mac? Reaper Plugs are unfortunately not compatible with Mac (please correct me if I'm wrong).

dense perch
#

I'm trying to get my obs-ndi plugin, based on obs-plugintemplate, packaged installer to work on MacOS.
If I manually copy over the obs-ndi.plugin file then OBS loads and runs my plugin fine.
When I use the packaged installer OBS 29.1.3 fails to load the plugin with the following error:

15:43:50.748: os_dlopen(/Users/paul.peavyhouse/Library/Application Support/obs-studio/plugins/obs-ndi.plugin/Contents/MacOS/obs-ndi->/Users/paul.peavyhouse/Library/Application Support/obs-studio/plugins/obs-ndi.plugin/Contents/MacOS/obs-ndi): dlopen(/Users/paul.peavyhouse/Library/Application Support/obs-studio/plugins/obs-ndi.plugin/Contents/MacOS/obs-ndi, 0x0101): Symbol not found: _qt_version_tag_6_5
15:43:50.748:   Referenced from: <FD3E2B62-0073-3BA4-97C9-189833634665> /Users/paul.peavyhouse/Library/Application Support/obs-studio/plugins/obs-ndi.plugin/Contents/MacOS/obs-ndi
15:43:50.748:   Expected in:     <EA2F3100-9BC7-3459-845C-E424249B9015> /Applications/OBS.app/Contents/Frameworks/QtCore.framework/Versions/A/QtCore
15:43:50.748: 
15:43:50.748: Module '/Users/paul.peavyhouse/Library/Application Support/obs-studio/plugins/obs-ndi.plugin/Contents/MacOS/obs-ndi' not loaded

Symbol not found: _qt_version_tag_6_5
Looks like a hash/guid is off?

dense perch
#

Fixed: I was trying to get fancy and use deps obs 29.1.3 and qt 2023/10/06.
I reverted to the template's 29.1.2 and other 2023/04/12 deps and it loads fine now.

#

Bumped obs dep to 29.1.3 with no problems; kept other deps at 2023/04/12

ruby lichen
#

Silly Q
Is there a way to dynamically reload plugins while obs is running?
I hate the restart obs each time I build the plugin (it loads in seconds so not a big deal)
Also being able to attach a consistent debugger is a plus

obsidian agate
#

nope, OBS needs a full relaunch

ruby lichen
#

Got it. I suspected as much.
But - why is that?
There's nothing preventing a program to unload and load a dynamic library..

obsidian agate
#

that is something I will leave for the devs to go over

glacial haven
#

I guess implementing it would just be a lot of work - e.g. what about all the callbacks the plugin might have itself registered for? what about code it might be in the middle of executing at the moment of getting unloaded? you probably need additional callbacks to notify plugins of getting unloaded beforehand, and either make it mandatory and break every single plugin that exists, or don't do it but then a lot of them might not play well with getting unloaded and reloaded

and then the more subtle things like plugins expecting to receive some frontend start events after getting loaded, which doesn't happen when a plugin is getting (re)loaded at a later point

and all that for a rather small use case

still beacon
fossil wyvern
still beacon
oblique yewBOT
# still beacon Where is it located?

To export OBS settings to back them up, go to Profile > Export (to export streaming/recording settings) and Scene Collection > Export (to export scenes).

still beacon
#

When I came back to the office this evening, I found that OBS had stopped streaming. It was frozen on the --break-- scene and unresponsive. I had to force quit and restart it.

#

Prior to installing and setting up the automatic scene switching, it would not be unusual for OBS to run 30-40 days without any issue.

still beacon
#

I'm finding another problem since I've installed the scene switcher.. WinAMP is ignoring global hotkeys now. My StreamDeck can no longer control stop and start of music playback when it switches scenes.

obsidian agate
still beacon
#

StreamDeck can only control WinAMP if WinAMP is on top (had the focus) now.

#

OBS is running as Admin

#

OBS running as Admin was the problem. I run it normal now and StreamDeck can control WinAMP again.

obsidian agate
#

good good. though odd that OBS not being admin anymore changed something about the SD software working with WinAmp

#

aaaaand ive just reinstalled WinAmp, lol

vagrant minnow
#

It really whips the llama's ass.

still beacon
sonic crag
#

obs_data_t *settings = obs_data_create();
obs_data_set_string(settings, "server", "rtpm://ams.streamway.in");
obs_data_set_string(settings, "server", "rtmp://ams.streamway.in");
obs_data_set_bool(settings, "use_auth", false);
obs_data_set_bool(settings, "bwtest", false);
obs_data_set_string(settings, "key", "");

I want so save custom rtmp server and key directly from cpp code , I am trying many methods provided in obs studio api.
but it's not working, So if anybody know about this? then help

sleek lynx
#

This is probably gonna be one of those wishful thinking questions... but I have advss pausing/unpausing music via hotkeys, pausing on certain scenes there should be no music, and resuming when acceptable... but I am running into the issue of it always unpausing on approved scenes when I dont want it to... I was wondering if there is a way to rewrite the macros so that it only unpauses if it detects it was paused via advss to begin with? seems like a variable thing, but im pretty terrible at those... always need Penwywern's help

regal breach
#

do you unpause it in those scenes sometimes?

#

anyway if you want to detect if it was paused using advss, then whenever you pause /unpause using advss, add another action to set a variable to on/off

#

then when you will unpause the audio, add an AND condition for the variable

#

however, you will also have to dedicate a couple macros to turn the variable off when the audio is unpaused by user

sleek lynx
#

i have a beacn thing, i think it'd be a huge PITA?

regal breach
#

what?

sleek lynx
#

like a goxlr, but it basically puts all audio into 1 stream

#

or input i should say

regal breach
#

okay

#

but yeah you can do it with variables

#

would help if you show your macros

sleek lynx
regal breach
# sleek lynx

how does the "issue of it always unpausing on approved scenes when I dont want it to" happen?

#

sounds like it would be better to fix that than workaround using variables

sleek lynx
#

well say if im doing whatever(no music), goto a restricted scene, then back to an approved scene, it starts playing music wether i was before or not

regal breach
sleek lynx
#

correct

regal breach
#

welp lemme try to generate brain cells

#

what does the hotkey do?

sleek lynx
#

i feel ya, still shaking out the cobwebs myself

#

mute = pause unmute = play

#

these are built in hotkeys for Snip to control itunes, if you care to know

regal breach
#

why are the macros checking for the scene items and media, rather than what scene it is?

sleek lynx
#

maybe the way i setup my scenes? (i had to this way to make tuna work) I have my main 6 scenes, start/main/brb/just chat/intermission/end, then a nested content scene: with different content type nested scenes 😉 im probably not explaining this right, but

regal breach
sleek lynx
#

outside

regal breach
#

well shit

#

is there a condition in advss to detect whether a hotkey is pressed?

regal breach
sleek lynx
#

no, manually i just use itunes

#

i dont see a condition to detect hotkey press

regal breach
sleek lynx
#

well thanks for trying, maybe just disable these for now and go back to manual

latent fox
#

Yo idk but anyone got a recommendation for some settings i could use

#

or plugins

hallow tundra
#

the plugin for multy stream stop working it starts but dose not go to youtube

oblique yewBOT
# hallow tundra the plugin for multy stream stop working it starts but dose not go to youtube

To help resolve your issue, we need to view a log file from a fresh launch of OBS Studio containing an output session. Follow these instructions to upload a clean log file:

  1. Restart OBS Studio first!
  2. Start your stream/recording replicating any issues (meaning having any games/apps open and captured, etc.)
  3. Stop your stream/recording after 30 seconds or after the issue has occurred
  4. Click the Help menu → Log Files → Upload Current Log File
  5. Paste the URL into this Discord channel
karmic delta
oblique yewBOT
# karmic delta https://obsproject.com/logs/OaY2nf62LgY47eX8

Log contains debug or verbose error messages (browser/ftl/directshow/etc), for a filtered version click here

🛑 Critical
  • Max Audio Buffering
⚠️ Warning
  • Mismatched Sample Rates
ℹ️ Info
  • Windows 10 22H2 (OK)
  • 2.4% Rendering Lag
  • 2.4% GPU Encoder Overload
  • Dynamic Bitrate
  • Third-Party Plugins (3)
Hardware Check

AMD Ryzen 7 3700X - OK! / GeForce RTX 2060 - OK!

karmic delta
oblique yewBOT
# karmic delta https://obsproject.com/logs/OaY2nf62LgY47eX8

Log contains debug or verbose error messages (browser/ftl/directshow/etc), for a filtered version click here

🛑 Critical
  • Max Audio Buffering
⚠️ Warning
  • Mismatched Sample Rates
ℹ️ Info
  • Windows 10 22H2 (OK)
  • 2.4% Rendering Lag
  • 2.4% GPU Encoder Overload
  • Dynamic Bitrate
  • Third-Party Plugins (3)
Hardware Check

AMD Ryzen 7 3700X - OK! / GeForce RTX 2060 - OK!

dusky finch
#

I have made a tool for streamers (open source). I wanted to post it in the obs-forums but seems like I don't have permissions. Am I allowed to share the GitHub link here?

hard jay
#

You can submit it as a resource on the forums for review

dusky finch
dusky finch
dense perch
#

My plugin [obs-ndi] is based off of the latest https://github.com/obsproject/obs-plugintemplate code.
When I install the .deb file with either Ubuntu Software or sudo dpkg -i obs-ndi-4.12.0-linux-x86_64.deb the plugin gets installed to /usr/local/lib/obs-plugins/:

pv@m6-16g-ubuntu:/$ sudo find . -name obs-ndi*.*
./home/pv/Downloads/obs-ndi-4.12.0-x86_64-linux-gnu.deb
./usr/local/lib/obs-plugins/obs-ndi.so
pv@m6-16g-ubuntu:/$ 

OBS never sees that.
To get it to work I have to:

pv@m6-16g-ubuntu:/$ sudo ln -s /usr/local/lib/obs-plugins/obs-ndi.so /usr/lib/x86_64-linux-gnu/obs-plugins/obs-ndi.so

Similar with the data/strings:

pv@m6-16g-ubuntu:/$ sudo ln -s /usr/local/share/obs/obs-plugins/obs-ndi/ /usr/share/obs/obs-plugins/obs-ndi

Is there something I am doing wrong that is causing the obs-plugintemplate based plugin to not install to the correct location?

still beacon
#

Why is it that VLC Source, even with shuffle mode on, plays the same sequence of videos from the same starting point, every time I restart OBS? My understanding is that Shuffle is supposed to randomly arrange the play order of videos in that folder. Could it be the "Refresh source settings" in the macro in Advanced Scene Switcher causing it to restart the same sequency of videos evey time?

hard jay
#

It's less than ideal, and true random mode would probably be good, just nobody has spent time on it as we have other priorities.

heady tinsel
#

Hmm. Are there any plugins or methods of having a notification sound if you start dropping frames?(network frames)

glacial haven
#

but I guess it's at least worth a shot

heady tinsel
#

ah... that's unfortunate this would of been perfect. I might give it a try but I use both of those plugins plenty so probably won't end up using this. Thanks

dense perch
#

i thought the websocket plugin could report stats

dense perch
fossil wyvern
heady tinsel
#

Oh this might work I'll take a look at it. I can maybe do bitrate as well

small cosmos
#

Any suggestions on how I would have my phone connection status in DroidCam as a conditional in Automatic Scene Switcher? My current setup uses window capture on the popout video preview. I want it such that if the connection between my phone and DroidCam is severed, for some other action to occur

mortal harbor
#

is droidcam selected in OBS as a video capture device or it's own source type?

small cosmos
#

Not its own source type. Ive been doing a window capture for the video popout. I just noticed that I can have it as a video source.

fossil wyvern
mortal harbor
small cosmos
#

Yep, im looking into it right now. Appreciate the help

small cosmos
#

Looks like Droidcam still broadcasts the last frame even if the phone is disconnected from the Droidcam client so checking whether or not there is an output doesnt work. Instead, Ill be checking whether or not the video source has changed and set a very high threshold which can only realistically be achieved from the video source being frozen

#

big sad

azure delta
#

maybe the way i setup my scenes? (i had to this way to make tuna work) I have my main 6 scenes, start/main/brb/just chat/intermission/end, then a nested content scene: with different content type nested scenes 😉 im probably not explaining this right, but

rancid fossil
# dense perch My plugin [obs-ndi] is based off of the latest https://github.com/obsproject/obs...

User-compiled code should be placed in /usr/local hence why CMake defaults to that - obs does not look for plugins there (though I would argue that it should but that’s maybe for Linux folks to fight over).

If you want CMake to act as if your own code is actually a distribution package, you need to either change the CMAKE_INSTALL_PREFIX cache variable when configuring your project or use the --prefix parameter for cmake --install to specify it

#

Be careful with that if you somehow use the cache variable as a preprocessor define in your code (we do that on obs-studio, it’s bad, we should feel bad about it, but I can only fix so many things in a day) because specifying a different prefix at install time (as cmake clearly intents) might break some code then

solar dust
#

obs does not look for plugins there (though I would argue that it should but that’s maybe for Linux folks to fight over).

There is nothing to fight over, obs should look only in it's own install path (which is in the prefix) when it comes to "system-wide" plugin installs.

frigid dove
#

can I put subtitles on obs?

vapid charm
#

In what context?

rancid fossil
solar dust
#

"Forcing" the dev to system-wide install a plugin to test it is not the right workflow.
Unfortunately I'm not well-versed on how it could be done, beside building OBS and the plugin in a prefix placed in the user home directory.

#

Or the well-known in-tree plugin build.

mild nova
#

void obs_service_update(obs_service_t *service, obs_data_t *settings){
obs_data_t *settings = obs_data_create();
obs_data_set_string(settings, "rtmp_url", "rtmp://localhost/live");
obs_data_set_string(settings, "stream_key", "123");
obs_service_update(service, settings);
obs_data_release(settings);

frigid dove
vapid charm
#

Vouch for the first one for sure.

rancid fossil
# solar dust *Or the well-known in-tree plugin build*.

so the situation right now is this (all of this is for non-portable location):

• OBS is built with a hard-coded search path for its runtime plugins:
OBS_INSTALL_PREFIX is set to CMAKE_INSTALL_PREFIX - so a distribution package searches in /usr/lib/<arch>/obs-plugins/
obs-plugins/64bit two levels up from the binary (which would resolve to /obs-plugins/64bit from a binary in /usr/bin
• The Flatpak plugin path

the major issue with this is that the only effective search path is hard-coded at build-time of obs-studio and a user has to know which path was used by their distributor to install plugins into the correct directory

#

so if I build my plugin locally, I should use /usr/local as the prefix for anything not managed by the distribution if I want to follow the rules

#

so by that token obs should also support that path, except if we have a rule that we will only load plugins provided by the distribution

#

and my point was what the point of the rules is if we have to tell people to ignore them 😄

mild nova
#

i working on obs multi rtmp plugin and i want to set rtmp server and key programmatically , i use some methods and provided obs studio api's but its working i use this :-obs_data_set_string(settings, "server", "rtpm://ams.streamway.in");
obs_data_set_string(settings, "server", "rtmp://ams.streamway.in");
obs_data_set_bool(settings, "use_auth", false);
obs_data_set_bool(settings, "bwtest", false);
obs_data_set_string(settings, "key", ""); its running properly but not effected obs studio. if anyone know about this help me....

solar dust
# rancid fossil so the situation right now is this (all of this is for non-portable location): ...

Note, we don't have 64bit level on Linux, except in the config folder.

so by that token obs should also support that path, except if we have a rule that we will only load plugins provided by the distribution

No, /usr/local is extremely unpredictable since the user can install other things that might cause issue, packaged obs should not touch it at all.
Relying only on the given prefix (and on the XDG config dir value) is enough.

If users are mix and matching various way of installing plugins and want to do wrong things like installing a non-package in /usr, they are on their own.
If the user wants /usr/local, the user will have to build obs with this prefix.

I don't want to open this door, I maintain ~50 plugins AUR package because provided package for plugins is the best way.
But plugin makers, don't always want to publish on Flathub or on a PPA.

rancid fossil
#

fine by me - I just find it weird that it breaks the convention of what man hier explicitly spells out, but I guess those rules got broken the moment Unix got GUI applications

#

also e.g. FreeBSD still follows those rules to the letter - every package is installed in /usr/local because they are not part of the base FreeBSD distribution

solar dust
rancid fossil
#

we don't set a prefix at all

#

so CMake defaults to /usr/local

solar dust
#

I meant the PPA for my question, because the PR is wrong for Ubuntu in general.

rancid fossil
#

oof no idea really

#

but I need guidance on that PR because I have no idea what the "right" choice for a hard-coded prefix here would be

solar dust
#

I said nothing I got agains confused with the LIBDIR variable, which is really different between distros

rancid fossil
#

yeah but will it use the right LIBDIR when /usr/ is provided?

#

GNUInstallDirs should yield that one

solar dust
#

Arch: CMAKE_INSTALL_LIBDIR=lib
Fedora: CMAKE_INSTALL_LIBDIR=lib64
Ubuntu adds another level.

#

The default is lib IIRC, but Ubuntu does not use that.

rancid fossil
#

alright, so it's fine then

solar dust
#

Yeah, sorry for my confusion on this PR with libdir.

#

PPA have the right LIBDIR for Ubuntu (lib/x86_64-linux-gnu).

jovial perch
# small cosmos Any suggestions on how I would have my phone connection status in DroidCam as a ...

have you tried this? https://obsproject.com/forum/resources/siilicam-obs.1817/ i published it yesterday/this morning, if you don't need audio but want high quality video it might do the trick. If it does not work with the macro you have I can easily make adjustments to the plugin so it won't update the last image anymore but I guess if the macro just checks updates on the source, then my plugin should work fine

rancid kiln
glacial haven
# dense perch i thought the websocket plugin could report stats

I am quite sure it does, I've written a tool that does nothing but replicate the Stats window from OBS on a remote machine based on data from the websocket plugin - that was for the 4.9 protocol, but I would be surprised if 5 wouldn't have that data anymore

glacial haven
jovial perch
#

how to update the properties of a source while the properties is open?

#

or let me rephrase that, after the get_properties is called can I update the possible properties while the user has the properties window opened

swift brook
#

New to obs, cant seem to get my display capture behind my cam and overlay layer. Any help would be appreciated

dense perch
dense perch
glacial haven
#

yeah, I also tried to refresh the text of a label of an open properties window and...I think it crashed? not sure, but it didn't work. ended up adding a "refresh" button, that would then update the label during its click handler, this is working.

jovial perch
#

aaah alright, ill dive into the refresh button because my app definitely needs one of those

#

but if you can do it onclick wouldn't it make sense that you could add a timer that updates like every 0.1 sec the label?

glacial haven
#

I suspect the issue is something about threading or context, the UI assumes that outside of its own update procedures and callbacks the fields are not changed and if you do you run into trouble

jovial perch
#

aaaah yeah ofcourse

glacial haven
#

the click event handlers set this context, if my observation is correct it actually makes all fields reload (I think if you return "true") so that you get a consistent state again, so even if you're updating only one field during the click event handler, all elements are reloaded

#

if I click my refresh button I can see all UI elements disappear for a split second and then reappear

jovial perch
#

hmmm well it would then make sense that the ui could perhaps be refreshed outside of the ui thread with some trick

#

other than the onclick handler

glacial haven
#

yes, very well possible, I also had the same though but didn't yet explore this option - lmk when you find something out 🙂

jovial perch
#

yeah

glacial haven
#

the problem mostly is this full refresh - like, you could trigger a timed constant click of the refresh button from code, but it would make the window constantly flicker - beside looking ugly it would also make it hard for the user to work with the properties window, e.g. if the user is entering text or moving a slider this would be interrupted by the refresh

polar drift
#

not to interupt anything but would this be where i ask for support on a pluggin not working or should i use the (OS)-support channel?

glacial haven
#

I'd say try here first and if it seems like it's not the plugin causing it you can still switch there

#

some authors of plugins are also reading this channel

polar drift
#

Okay well I'm trying to install the source record plugin, I've tried manual and the auto installer (windows) and yet no matter if i uninstall and reinstall restart my pc or anything else it never shows up under the filter effects.

oblique yewBOT
#

To help resolve your issue, we need to view a log file from a fresh launch of OBS Studio containing an output session. Follow these instructions to upload a clean log file:

  1. Restart OBS Studio first!
  2. Start your stream/recording replicating any issues (meaning having any games/apps open and captured, etc.)
  3. Stop your stream/recording after 30 seconds or after the issue has occurred
  4. Click the Help menu → Log Files → Upload Current Log File
  5. Paste the URL into this Discord channel
glacial haven
#

so that we can see whether it's loaded at all

polar drift
oblique yewBOT
polar drift
#

old version?

#

why wasn't i prompted one second

glacial haven
#

yeah, quite old, actually 🙂

#

that said, I think the source record plugin should actually work with that version - then again, I'd still say as a first step update OBS to 29.1.3 - then install the latest source record plugin over it and then check again

polar drift
#

sorry i probably should have checked that...

#

its fixed

#

sorry for bothering

glacial haven
#

yeah I just found it in the log, that it actually looked like it was incompabtible:
12:08:27.438: Module '../../obs-plugins/64bit/source-record.dll' not loaded

#

so it was installed correctly and in the right place but couldn't be loaded, probably because of version mismatch

polar drift
#

that makes sense

#

anyways

#

thank you

#

🙇

glacial haven
#

also might want to check this

tacit mirage
#

is there any way to update my obs studio it keeps crashing?

glacial haven
#

you're welcome

oblique yewBOT
earnest wind
#

does anyone know how to have individual discord users show up as different audio in OBS?
Like, if Person A is talking, only Person A lights up on screen

#

Posting in here bc it's probably better to ask here

sleek lynx
#

Someone needs to make a script/plugin to move media controls, for example my main vlc source is nested a few layers deep, would be cool if you could go into the properties of this vlc source, and have a checkbox to redirect media controls and maybe a drop down to pick the scene/source they will be displayed. Obviously if one source redirects to X, another source cant redirect to X.... pretty please 😉 i miss my timeline/buttons

sleek lynx
#

i thought someone was gonna suggest media controls by exceldro, but that looks interesting, ill check it out

sleek lynx
#

since you are here, im making an intro with a buncha macros, but running into a few situations where conflicking macros wont let me do something, how do i stop those f-ers

fossil wyvern
#

can you detail the conflicts?

sleek lynx
#

been a few days but the main one i remember is a "live wallpaper bg" video, I hide it, play some other video then go to change scenes and theres the damn background showing, i think another macro is making it come back

#

you cant show just one source on the media controls one? hrmmm

fossil wyvern
sleek lynx
#

wtf, i installed the source dock thing, now tuna dont work crosses arms while having a fit

#

a restart of obs fixed it, oh thank god

#

ima hit the sack, thanks for the help pen

fossil wyvern
#

👍 pleasure, never hesitate to ask my help for cool shit.

#

have a good schlep

dense perch
#

what events can a plugin acting as a Source use to know if it has been

  1. renamed
  2. made hidden or visible
    ?
fossil wyvern
dense perch
#

Event for when someone clicks the Eye icon to hide or show the Source in the output

fossil wyvern
#

that's a complex one. Just to know, what's the exact usecase?

#

basically, what you'd need is a callback on every scene, watching for the item_visible signal, and then use obs_sceneitem_get_source to check whether that sceneitem is associated to the source itself or not.

#

to maintain a callback on every scene, you'd need a callback on the global handler for source_create and source_destroy, that checks for creation/destructions of scenes in order to apply/remove said callback to them

#

and then there's the question of bloody fucking groups because I'm unsure whether the visibility toggle of an item inside the group triggers an item_visible on the scene the group is in or only the group, you'll have to test that

dense perch
#

For the obs-ndi plugin:

  1. if the source is not hidden on every scene then stop RXing NDI a/v
  2. if the source is shown on any scene then start RXing NDI a/v
#

low priority, but it's a feature request

weak escarp
#

in the obs_source_info itself you can use the .show and .hide

fossil wyvern
fossil wyvern
weak escarp
#

the ndi plugin uses these already to set the tally light, you can disable/enable in that same call when needed

dense perch
#

i have callbacks to those already and tried using them but was running into other weird OBS foreground/background performance issues and paused that effort

weak escarp
dense perch
#

Normal

weak escarp
dense perch
#

I changed the ndi-source call to recv_capture_v3 to pass in nullptr for audio and now never get or process audio yet the video stutter is still there.

#

Sync Network or Source Timing makes no diff

#

Foreground performance is worse than background; I am stumped

weak escarp
dense perch
#

I asked in #development yesterday and they thought it has something to do with Windows 11 "optimizations"

weak escarp
dense perch
#

FWIW, I do plan to improve the obs-ndi NDI send and receive logic in a future 5.x version, so no need for a major rewrite right now. 🙂
The fact that it works fine when OBS is not the focused app tells me there isn't that much wrong w/ the current code.
Something seems to just be misbehaving with OBS when it has focus; competing with something?
I am running a Sunshine server, but that isn't active during any of this.
There could be possibly be capture hooks or other drivers involved.
I have 4 MiniPCs w/ fresh Win11 installs that I can also test this on (although I haven't even confirmed yet if they are powerful enough to run OBS+obs-ndi)

#

1:20am my time; signing off

undone field
#

So I've started studying multi rtmp, but I've noticed that there's no easy way to either check multiple chats at the same time, nor to (at least) change the title of the stream at once

#

Perhaps any of you know of something for that?

wise palm
ruby lichen
ionic goblet
#

I press "start replay" in the obs studio, press the hotkey to save the recording and the obs studio gives me an error - "An unidentified error occurred during recording", please tell me what to do, before that everything was fine

oblique yewBOT
ionic goblet
oblique yewBOT
ionic goblet
#

I press "start replay" in the obs studio, press the hotkey to save the recording and the obs studio gives me an error - "An unidentified error occurred during recording", please tell me what to do, before that everything was fine

trim minnow
#

Hey everyone! I hope someone can help me here.. I got the OBS (Version: 29.1.3) but can´t find the websocket plugin. Do you have an idea how I can open websocket, so that I can connect my "streamer.bot" ?

vale vine
trim minnow
vale vine
#

👍👍

safe wing
#

Seems to be a bug with AudioMonitor plugin, where it falls into a feedback loop of toggling the filter visibility.
I am seeing over 10,000 flips per second, which was discovered because it chokes the websocket.. Is there any way I can view some kind of log for audioMonitor to see what might be happening? I have not got a small repro scenario unfortunately

oblique yewBOT
glad perch
#

Hello Guys. Is there any way to capture the mouse pointer and double its size? I'm capturing Eve online gameplay videos, but this game doesnt have any option to change its mouse pointer size and, in 4K, it's so tiny that it becomes very hard to see.

potent tundra
#

Is there like a way to set up a condition in OBS scenes? I have 3 different pictures (more actually but I'll just lessen them to show my point), I want to present them in a slideshow like way but keeping them as separate sources and not using the Image Slideshow Feature. (Particularly because I can't select which pictures to show. I can't jump from the 1st to the 5th, or not that I know of)

For example, I will show Picture A. And then I will show Picture C, but I want Picture A to automatically disappear or hide itself if I show Picture C. Same with Picture C hiding if I show Picture B.

It's not organized because the other person may ask to show picture B then Picture C then Picture A.

TLDR, I want to only show only 1 sources, if I show another picture source, then the previous one will automatically disappear.

regal breach
#

so i will have multiple images like you said

#

but whenever i show one, it automatically hides all in the same scene or group

potent tundra
#

Ooooohh, cool! Will check it out, thanks!

#

You have a great day, bruv

#

Can it be configured to only show an x amount of sources? I still want to show my camera HAHAHA!

regal breach
potent tundra
#

Aight!

urban wharf
#

yo why do i have black bars at screen when i stream at twitch 720p?

oblique yewBOT
peak ore
#

I've perfected my OBS mute notifier. If anyone wants it, let me know. It's a Python based script!

#

^It was put in place for streaming purposes but I can easily switch it to recording or even have both of them!

peak ore
#

I probably should've made a video tutorial on this.. DANG 😆

kindred nymph
#

Greetings! Is there a plugin that provides a recording indicator and time over full screen games? I'm unable to do a multi-monitor setup and being unable to at least see that I'm actually recording and how long is quite frustrating.

hard jay
#

Unfortunately, no. Doing an in-game overlay is an incredibly finnicky and complex task. It's something we'd like to be able to offer, but we haven't had the time to devote to the R&D necessary.

kindred nymph
#

Gotcha. Thanks for the response 🙂

swift light
#

Lol

rancid kiln
vapid charm
#

there's still the problem of getting the data they want.

#

They're on a single monitor setup which prevents themnfrom using anything internally from OBS as that would outright block whatever they're doing.

potent tundra
#

Is there a plugin to select which image to show in an Image Slide Show? I can bulk import pictures in the Image Slide Show, but I want to show picture 3 immediately instead of scrolling from 1-3. Also, it would be great if it has a dock that will let me choose the image to play in the Image Slide Show

potent tundra
rancid kiln
regal breach
#

that's a bit oversimplified

#

which i believe is simpler than your suggestion

south owl
#

hii 🙂 I just wanted to install the websockt plugin, which I did. However, the following message comes from obs. I don't know how to fix it.

fossil wyvern
oblique yewBOT
south owl
#

I have to completely reinstall obs? I downloaded the latest websocket file from the Obs forum.

#

sry for my english is translate with google..

fossil wyvern
south owl
#

Can I go to the link they sent and then just download? not more ?

fossil wyvern
south owl
#

i have install and now i have iin tools the point websocket

#

but why i have this not for 1h ? i have too same obs verson install but for 1h wiiithout websocket

fossil wyvern
#

what do you mean 1h?

mortal harbor
#

beause you installed a different version of websocket after installing OBS that was not compatible, OBS includes it already.

south owl
#

Oh, that means it already had it in there because the websocket version didn't work?

near flicker
#

having the latest OBS version means websocket is already inside the OBS itself

dense perch
#

I am soooo freakin close to getting obs-ndi 4.12.0 released.
It is based off of the latest obs-plugintemplate.
I am testing a packaged Windows installer generated by the CI and Windows is complaining that the installation file is a threat and removed it.
How to get official CI builds to be either be signed or not report false threats?

#

Even adding all of the MacOS signing variables I still get the following warning on MacOS too.

wispy loom
#

Friends, I'm trying to come to grips with converting shaders from ShaderToy over to OBS's shader language and I'm having trouble finding the documentation about ... well, any of it 🙈 Using some of the old StreamFX stuff I was able to use #define to switch one-for-ones (like vec2 for float2 etc) and I've found in some cases #define was giving odd "expected type" or "expedted {" and converting these to functions did the trick...but it's all been like, very trial and error, shots in the dark 😅

Right now, I'm trying to make an ocean shadertoy work and the last error is really blowing my mind, it's saying
C:\Users\Thades\Pictures\twitch\shaders\Ms2SD1.effect (Pixel shader, technique Draw, pass 0)(64,19-22): error X3004: undeclared identifier 'Time'
And I have a working shader that is using Time ... it works, this one doesn't.

The shader that works is: https://www.shadertoy.com/view/3l23Rh
The one I'm trying to get working is: https://www.shadertoy.com/view/Ms2SD1

Just pointing me at documentation would be grand, if it exists? Or maybe if you've tangled with this yourself, you can get me unblocked? I appreciate you all, thank you.

#

I have tried StreamFX, FreeFX, and the obs-shader-filter with the ShaderTime checkbox checked...to no avail

untold jay
obsidian agate
#

Does OBS even have its own shader system? I thought only the plugins do that, and it depends on the plugin you use to determine how to format it right

wispy loom
#

Thanks, @untold jay . @quiet bramble if you have bandwidth sometime I would appreciate a bit of aid 😅

quiet bramble
# wispy loom Thanks, <@252470140174598154> . <@277094731576770561> if you have bandwidth some...

Yep, it's pretty much trial and error. There isn't any official documentation for the most part. The shader plugins document their context and how to use supplied builtins but not much else. Microsoft's HLSL documentation is a good start for the shader language however not everything Microsoft documents is functional in the context of OBS and none of that is documented anywhere as to what works or does not work, so it is a matter of trying things and figuring out what does or does not work. In addition, the OBS shader parser has bugs that do not like certain constructs and will crash OBS or otherwise fail, usually without any error or any meaningful error. Example, if a shader file contains a preprocessor directive on the first line of text OBS will crash. Putting a comment on the first line always will work around this. There are lots of quirks to navigate.

wispy loom
#

Oh wow haha

quiet bramble
#

It is doable though. I started with a background in graphics programming in MSDOS and Linux back in the day, but with no userland DX/OGL experience and no shader experience, and just figured things out one at a time by smashing things. 🙂

wispy loom
#

Good to know re: the preproc

wispy loom
quiet bramble
#

Guides for converting HLSL<->GLSL are useful. The 2 languages are quite similar so easy to learn together more or less.

wispy loom
#

Any notion why one shader would be chill with Time while another would claim it's not real? 😬

#

I do appreciate how C adjacent the lingo seems to be

quiet bramble
#

OBS Shaderfilter uses elapsed_time, StreamFX uses a different name (forget off top of my head), other plugins use other names. Need to consult the given plugin's documentation to look at what variables are passed into the shader, and convert the shader code to use the plugin's naming. Sometimes a #define macro is all that is needed. ie: #define iTime elapsed_time or similar.

#

Other times something more elaborate is needed.

#

In Shadertoy for example there is iResolution.xy, which the Shaderfilter equivalent is uv_size.xy

wispy loom
#

That's CRITICALthank you

#

Is this off the top of your head or do you have notes? 👀

#

StreamFX seems to use Time, their def is
#define iTime Time.x

quiet bramble
#

Also, another big gotcha is that matrices in GLSL are in row-major order and in HLSL they're in column-major order. The language has a way to change this but it does not appear to work in OBS.

#

So matrices need to be converted manually which can be a pain. 🙂

wispy loom
#

Oh shit haha. I haven't done that in YEARS

#

Whelp haha Why would that stop me

quiet bramble
#

Also things like mod() in GLSL have no identical function in HLSL. There are functions like fmod() and whatnot but none of them work the same. You basically need to reimplement GLSL's mod() yourself as a macro and use that.

#

Another gotcha is the arguments to atan are reversed in HLSL

#

Arrays can not be passed as arguments to functions in OBS even though Microsoft documents it as a feature

wispy loom
#

Any idea why it's a mix of HLSL and GLSL and not strictly one or the other?

wispy loom
#

Wait, can I malloc haha

#

I would assume not in the shader

quiet bramble
#

I'm not sure of the history of the OBS shader parser or who wrote it, but I think it dates back quite a number of years so it might have some legacy to it and they may have never had a reason to update it to present standards as it worked as is for their built in filters and whatnot.

wispy loom
#

Gotcha

quiet bramble
#

If you want to do advanced things you need to write a plugin that invokes your own shader, and pass the shader the extra data you want to pass in.

#

That can also be done via LUA scripting instead of a native plugin

#

Or multi-pass shaders

#

I suspect that they just tweaked the shader parser enough to make it work for the builtins and were not trying to put full HLSL support.

#

Xaymar mentioned a few times that it was more like a cross between Cg, HLSL and something else I forget

#

Might have been a partridge in a pear tree. 🙂

#

It's useful to create custom shader function libraries and put them in separate include files with double-inclusion protection, and then just #include them to avoid code duplication too.

#

just not on the first line 🙂

#

Also if {} or () are mismatched OBS will poop the bed

#

that's a handful of tips/tricks I can think of off the top of my head anyhow. Haven't touched shaders since early this year so I'm a little stale. 🙂

wispy loom
#

Hey, you seem to be the resident guru, so I appreciate your time here

quiet bramble
# wispy loom Any reason to not just use globals?

Forgot to respond to this... The only global variables you can have are uniform. Any other variables you need, will need to be defined in the main pixel shader function and passed as parameters to functions, or stored inside of a function that can return the values desired.

wispy loom
#

Any reason to not use functions? Is there a limited memory segment or no inlining? Or do we know? 😅

quiet bramble
#

Pretty much everything is automatically inlined IIRC

#

There are some limitations with unrolling loops and nesting things, but it's hit and miss

worldly geyser
#

Hey guys, so i use the Waves Ultimate collection with StudioRack, the problem is everytime now when i try to launch OBS it crashes and it just started today

fossil wyvern
worldly geyser
fossil wyvern
#

reinstalling obs wouldn't do much, this is an issue in waves itself, not obs

worldly geyser
#

Ah gotcha

fossil wyvern
#

I'd suggest contacting the people making that plugin

worldly geyser
#

Ok will do! thankyou

glacial haven
#

is there any way to track the eye icon state of a source in a specific scene regardless of whether the source is currently shown/that scene is currently active?

#

if that's not possible it's fine, I know that OBS was not meant for the use case I want to (ab)use it for 😏

#

it's a source that would only ever sit in one single scene, and its icon would be used to enable/disable its functionality - and that mechanic should work regardless of whether the scene where it is is active (in reality it will probably never be the active one)

#

can't use source_show/hide or source_activate/deactivate, as both source_hide and source_deactivate will be triggered as soon as I am switching to a different scene

glacial haven
#

ah, right, I always keep on forgetting this distinction

fossil wyvern
#

what exactly are you trying to do

glacial haven
#

ah, don't mind me, just something completely dumb 😄

but it's a niche use case anyway, I will probably the only user of that feature so I wouldn't care too much if it's a bit hacky. basically abuse a source as a toggle to switch a relay on or off that will relay A/V data

#

right now I have it based on source_show/hide but now I have to add it to every single scene, since the relay is supposed to stay active most of the time

fossil wyvern
glacial haven
#

I wanted to throw the relays into a separate "Relays" scene, there I would go to toggle them on or off and only keep them there, as opposed to needing to add them to every single scene that might be active

fossil wyvern
#

do you need it to be an UI button or can it be a hotkey?

glacial haven
#

I thought about putting the relaying stuff into an entirely separate tool, but that's just so much of extra work when I already have the necessary classes and so on in that same plugin

#

in theory a hotkey would do, in practice I keep on forgetting about them, also a visual representation of the enabled/disabled state would be nice (the eye icon would serve that purpose)

glacial haven
#

I would need to mess directly with Qt for that, right? can't do this only based on functions that libobs is providing?

#

problem is the plugin is written in C# and I have no bindings yet to include Qt stuff, might be possible to create them, but would probably be a lot of work

#

currently I rely a lot on properties windows for UI stuff, and those I can control solely from OBS functions

#

so I could of course throw a checkbox into the properties of the source for enabling/disabling, but the eye icon would just show that state instantly

fossil wyvern
#

I was gonna say "it's not too hard to do simple stuff in QT" but yeaaaah, C#

glacial haven
#

once the bindings are there it would also be easy, but that entry barrier is quite high, I would only do that when needed for something more important, not for that niche use case of mine

fossil wyvern
#

ok, you want some really hacky stuff?

glacial haven
#

always 😄

fossil wyvern
#

that'll even allow you easy control through ws

glacial haven
#

woah, that's brilliant

#

thanks for that idea, now I got a new toy to play around with

fossil wyvern
#

👍

glacial haven
fossil wyvern
#

always a pleasure to twist the api into shit it wasn't meant for XD

regal breach
# glacial haven is there any way to track the eye icon state of a source in a specific scene reg...

While the media source hack may also work for you, it's not that hard using the item_visible scene signal https://docs.obsproject.com/reference-scenes

Especially if the source will only sit in one scene. Otherwise you could let user pick from a list of scenes that has your source, and just pick the first scene item in the scene with the source you're looking for, save its id so that in the event, you compare with scene item id rather than source id

#

Just if ever you really want to get that event, because I've also done so

fossil wyvern
regal breach
#

Ohhh that's what that meant

glacial haven
#

media source control is automatically global, right?

regal breach
#

I didn't understand that thing at first

fossil wyvern
glacial haven
#

regardless of whether it sits in one scene or in multiple

regal breach
#

You have to add it to all

fossil wyvern
#

ah

glacial haven
#

hm

fossil wyvern
regal breach
#

I'd say write a simple html form with websocket js

#

Or that yeah

fossil wyvern
#

that one will allow you to access the media controls globally

regal breach
#

Will also let you toggle scene item visibility

regal breach
fossil wyvern
#

yee but using media control callback is much more robust because it's all in the source itself

regal breach
#

No idea about that

glacial haven
#

I meant like, you press play on the source in scene 1, and then it stays in the playing state also when I switch to scene 2, regardless of whether the source also sits in this scene or not

regal breach
#

Sorry for always butting in like this without understanding context haha

glacial haven
#

don't worry about it, I enjoy chats like this a lot ❤️

regal breach
#

Unsure how the plugin does

#

But in plain obs it will stop

#

Alternatively, instead of binding to the play pause button, just use the mute button

#

Tho I'm not super sure the mute has an event

glacial haven
#

are you sure about that? will it actually get a media_stop event from OBS when switching away from the scene where it's in, when it's not also on the target scene? I mean, real media sources also can continue playing in the background if you configure them to do so

regal breach
#

Huh, what setting lets you do that?

glacial haven
#

at least video loops

regal breach
#

Oh huh

#

Never tried that so I'll be excusing myself now

glacial haven
regal breach
#

Maybe loops does but not that

glacial haven
#

too much theory anyway, I guess I will just try and see what media events I get in which cases

regal breach
#

But if you're literally testing it in obs right now, correct me

glacial haven
#

the one thing I know about that option is that it's often a trap for people performance wise - like, they keep a few video loops around with that option disabled and then wonder why their CPU load is high from OBS, although they are not on a scene showing these media sources

#

because OBS in the background keeps on decoding them

fossil wyvern
regal breach
#

No, the option you're talking about I believe is "close file when inactive"

fossil wyvern
#

meaning, unless you implemented a source_deactivate that also stops your source, it won't gets stopped on being hidden (switching scenes)

regal breach
#

Restart playback is when you switch to a scene with that source, it will play. Without the option, it will remain stopped

glacial haven
fossil wyvern
regal breach
#

Media_stop will be called when it goes inactive as well.

fossil wyvern
glacial haven
#

been working with that option a lot, because I have like 20 cam background video loops that get activated based on a certain context - and when I want my CPU to melt I disable that optiion on all of them 😉

regal breach
#

I'm kinda sure, since ive worked on a pr for media source regarding a media state

fossil wyvern
#

ouki

regal breach
#

But ofc i may misremembering things

fossil wyvern
#

what's the point of stopping on source_deactivate then?

regal breach
glacial haven
#

that the naming of this option is not really clear is exactly why I called it a trap, nobody is ever aware that disabling it effectively means it is always being decoded in the background (when loop is also active infinitely)

fossil wyvern
#

yeah, but the media source, specifically calls media_playback_stop inside its deactivate callback.
Why if media_stop gets also called on deactivate

glacial haven
#

that sneaky little...

#

:>

#

but that tells me that not doing it would mean the media state stays on play

#

which would be good for my case

#

because I want it to stay active (= in playing state) regardless of scene switches and whether it's in a scene or not

#

I only want it to stop when someone goes there and presses the stop button on it

regal breach
fossil wyvern
#

oh yeah, it goes to stopped

regal breach
fossil wyvern
#

but the callback itself shouldn't get called, which is what's important for yor's stuff

regal breach
#

Yeah

#

I misremembered a lot of stuff today

glacial haven
#

yep, that sounds good

fossil wyvern
regal breach
#

Well that's 2v1 already, ill consider that as a fact

#

Code also says so anyway

fossil wyvern
regal breach
#

Why o why Pen

fossil wyvern
#

💜

glacial haven
#

the first signs of lunacy 😛

fossil wyvern
regal breach
#

Dunno why I didn't learn that during the early stages of me OBSing

fossil wyvern
#

to be fair it is a sneaky one and not obvious from the description

glacial haven
#

seems to be fine, it keeps its playing state regardless of scene switches with my simple implementation where I just react to media_restart or media_play_pause for starting and media_stop for stopping (and then report the state for media_get_state)

#

I guess I can also report how long the relay has been active for media_get_time

#

not that it would be too important, but since it's just that easy to do

fossil wyvern
#

yeah, you deffo can use get_time to convey info

#

could even use it as an error reporting mechanic

glacial haven
#

these words are warming my misuser heart

regal breach
#

Isn't get time only useful here if you have a long ass video

#

Or does loop make it all accumulated?

glacial haven
#

well, useful is relative 😄

#

this is my own source, not a media source, I don't have a loop option - it's not even a real media source anyway, it's not playing shit 😉

regal breach
#

Ohhh

#

Cool hack

glacial haven
#

it's just relaying A/V data using named pipe or network

#

and now the play/stop buttons just start/stop the relay

fossil wyvern
#

get_time is the current playing time, and unless I'm mistaken, it basically gets called every UI tick to display current time in the UI, which means that in this case yeah you can use it to display info

glacial haven
#

seems to be called simply every second here

fossil wyvern
#

could also use get_duration but I'm unsure how often that one gets called, might be just on media start

regal breach
#

I was thinking of a media source hahaha

#

Your relay is like ndi?

glacial haven
#

ignore the other debug stuff, but you can see both get_time and get_duration are simply called every second

regal breach
#

Can i say something absolutely unrelated

glacial haven
fossil wyvern
#

oh yee then you could probs use one to display running time and the other for error reporting

fossil wyvern
glacial haven
regal breach
fossil wyvern
#

lmao

glacial haven
#

hehe

fossil wyvern
regal breach
#

See in vmix, a List input (basically vlc source) has a dock showing the duration of each video in the list. And there's a currently playing timestamp just like in obs, except in vmix there's three. The current time in the file, the duration of the file, and the remaining time in the whole list. I was wondering if there's somehow a way we can show the total time remaining for the whole list in obs

#

I guess not, without modifying the built in source toolbar

fossil wyvern
#

yeah, not with the current API

regal breach
#

So only option is a dock

fossil wyvern
#

so a custom dock only

regal breach
#

Ah yes

fossil wyvern
#

dock

#

dock

glacial haven
#

^^

#

WE SAW THAT

fossil wyvern
#

dock

glacial haven
#

🦆 ?

#

🐳?

#

anyway, gotta go to sleep now, I think I can consider what I have a working PoC already, later all I have to do is combine it with the already existing start/stop logic for the actual relay and persist the enabled-state in the properties

fossil wyvern
#

take care sleep well

glacial haven
#

thanks a lot again ❤️

regal breach
#

You're welcome for me disturbing this conversation

weak escarp
dense perch
#

The plot thickens for obs-ndi having some users reporting:

QWidget: Must construct a QApplication before a QWidget

From a user's --verbose OBS log:

...
info: Qt Version: 5.15.10 (runtime), 5.15.10 (compiled)
...
info: [obs-ndi] obs_module_load: Qt version (compile-time): 6.2.4 | Qt version (run-time): 6.4.2
...

Their OBS 29.1.3 is compiled and running under Qt5.
obs-ndi is compiled and running under Qt6.

What the heck?

dense perch
#

Yes

fossil wyvern
#

ubuntu 20.04 is still running under qt 5

dense perch
#
info: Platform: Wayland
info: CPU Name: AMD Ryzen 7 3700X 8-Core Processor
info: CPU Speed: 3593.215MHz
info: Physical Cores: 5, Logical Cores: 5
info: Physical Memory: 9898MB Total, 6079MB Free
info: Kernel Version: Linux 6.5.0-10-generic
info: Distribution: "Ubuntu" "23.10"
info: Desktop Environment: ubuntu:GNOME (ubuntu)
info: Session Type: wayland
info: Qt Version: 5.15.10 (runtime), 5.15.10 (compiled)
fossil wyvern
#

ah I might know, gimme 5 to check

dense perch
#

Can the user force update to Qt6 w/ little problems?

solar dust
#

No

fossil wyvern
#

it's generally broken, I wouldn't care too much about supporting it

solar dust
#

But note that 20.04 and Qt5 support is dropped as soon as 30 is out.

regal breach
#

but it says 23.10?

fossil wyvern
#

oh wait no am wrong, mb

dense perch
#

User says:

Desktop: GNOME 45.0 wm: Mutter
OS: Ubuntu 23.10 x86_64
Kernel: 6.5.0-10-generic
fossil wyvern
#

which obs is that exactly?

#

as in, flatpak, ppa, which version

dense perch
#

I have several users reporting the problem.
Problem is because of Snap installs?

#

Not sure

fossil wyvern
solar dust
#

I don't how Ubuntu build their OBS deb package, but if they keep using Qt5 to build it. This may be the issue.

fossil wyvern
dense perch
#

I've pasted above all the version info I see

fossil wyvern
#

yeah, 29.1.3.1-2 should be ubuntu's own package

solar dust
#

And we will began to provide PPA for 23.10 only as of 30 (because of some build issue with 29 on 23.10).

dense perch
#

info: OBS 29.1.3.1-2 (linux)

fossil wyvern
#

so as tytan said, probs ubuntu compile their own with qt 5

dense perch
#

Surprised that even compiles...I thought Qt6 was a req since OBS 28

solar dust
#

No, it is recommended and the default for 28 and later (it can fallback to Qt5 while building). For 30 it becomes required.

fossil wyvern
dense perch
fossil wyvern
#

@dense perch until 30.0 gets released and the ppa updates, they should be able to grab the mantic beta package and run that

solar dust
fossil wyvern
#

nah 29.1.3 doesn't have a package for 23.10

#

(or later RC if there are later RC)

dense perch
#

thanks all

solar dust
#

Or a little better use the unstable PPA for OBS beta/rc.

fossil wyvern
#

oh yee

fossil wyvern
#

would flatpak 29.1.3 work on 23.10?

solar dust
#

Flatpak is distro agnostic, Applications use their own runtime.

fossil wyvern
#

oh but it's ndi so doesn't work on flatpak anyways, so moot

#

mb

solar dust
#

IIRC, the issue is that the NDI plugin on Flatpak can't be a thing because of how NDI is licensed (disallow redistribute).

wary escarp
dense perch
#

again, thanks all. reasons like these are why mortals like me stick mostly to MacOS & Winblows.

fossil wyvern
#

and it's accepting qt6 plugins

dense perch
#

I run 22.04 and install and load and obs-ndi just fine

fossil wyvern
solar dust
#

The obvious question, PPA in use ?

fossil wyvern
#

that's the official stable ppa

solar dust
#

Yes, we build with Qt6, but Ubuntu themselves seems to not.

fossil wyvern
#

oooh you meant ubuntu's own build

wary escarp
#

Yeah I meant the Ubuntu non-PPA version

#

Correct

fossil wyvern
#

yeah, mb, when I said "official releases" there I meant obs' official, not buntu's official

dense perch
#

Ubuntu Store's official release of OBS 29.1.3 says "(unofficial)" 🙂

wary escarp
fossil wyvern
#

yee

jovial perch
vale vine
#

I agree. Exeldro is kinda S tier

regal breach
jovial perch
#

wtf so I pressed probably some wrong button

regal breach
#

Seems like there's such a bug

#

Or that there's some factor that only someone knows

#

Perhaps how long since the resource was approved, or download count

jovial perch
#

aaah just my luck ill add it here so perhaps some admin will see and help me

wispy loom
#

It looks like yes? (Bear with me, this is my first time braving the obs source code)

libobs-d3d11/d3d11-shader.cpp: *   uniform float2 test1;
libobs-d3d11/d3d11-subsystem.cpp:float2 main(VertInOut vert_in) : TARGET \
libobs-d3d11/d3d11-subsystem.cpp:       return float2(1.0, 1.0); \
weak escarp
wispy loom
#

I gotcha, thank you

fossil wyvern
jovial perch
wispy loom
# weak escarp the OBS shader compiler converts float2 to vec2 when compiling the shader for op...

In the original's map() it calls sea_octave() (which looks identical in yours, really) thus

        d += sea_octave((uv-SEA_TIME)*freq,choppy);```
and you tweak this slightly rather than just passing `SEA_TIME` (which again to my eye looks identical in both) you pack it into a two-pronged `float2` and it's happy. I concede, it's been many years since my uni class in linear algebra, so maybe this is obvious to others 😅 but is it something you can explain?
```        d = sea_octave((uv+float2(st,st))*freq,choppy);
        d += sea_octave((uv-float2(st,st))*freq,choppy);```
See: `float2(st,st)` where `st` is `SEA_TIME` which in both cases is a `float`
weak escarp
#

SEA_TIME is a float, sea_octave expects a float2 and I got an invalid type error so I made sure it was a float2 and split it up into multiple lines to find out what was causing the error

wispy loom
#

Weird. (Is it weird?) uv is a vec2 and multipled (uv+st)*freq I would expect that to be a vec2... but was st being only a float discarding data in OBS whereas on the Shadertoy site it was multipled across both? (Maybe I'm misreading it.)

#

Just trying to understand if this is a bug in the original vs. something particular to OBS

weak escarp
#

Not sure it was the bug, easiest way would be to try and convert it back step by step

tame jungle
#

is there plug-in that enable image if open windows. For example I play video player obs detect it and show it so I want to auto enable image like replay.png & off image when I close video player windows so obs also do to image

weak escarp
wispy loom
weak escarp
#

did you get to the replace the matrix * with the mul fuction yet?

wispy loom
#

oh I'm sitting right next to it; you mean this change in the map() function?
uv *= octave_m;
->
uv = mul(uv, octave_m);

weak escarp
wispy loom
weak escarp
wispy loom
#

I see you added CAMERA_TURN_SPEED and CAMERA_SPEED was this just to let there be sliders to modify them? (and replace the iMouse stuff that wouldn't really work in OBS?)

weak escarp
#

yes

#

I disabled AA by default, because it is an inefficient blur, you better use the composite blur plugin for that

wispy loom
# weak escarp I disabled `AA` by default, because it is an inefficient blur, you better use th...

Yes! I saw that, that's smart, thank you.

Maybe my last question for a while haha (it looks like basic stuff): what is VertData and TARGET here?
o.g.
void mainImage( out vec4 fragColor, in vec2 fragCoord ) {
->
float4 mainImage(VertData v_in) : TARGET
Seems like TARGET must direct the return where it needs to go? (Maybe that's a part of the obs-shaderfilter-plugin and not core OBS?) and VertData what's in that / where is it defined?

#

(I see that mainImage gets a return-type in your conversion rather than leveraging the out vehicle)

weak escarp
wispy loom
#

I see it now (looking in obs-shaderfilter.c)

fervent marsh
#

Hey Exeldro, while we're here talking about shaders, I got a question for you. You know how stingers have a split image where it's basically the main image on one half and monochrome alpha (sort of) on the other half?

Would it be possible (I'm pretty sure it should be?) to write a shader (probably as part of a filter) to take a video in that format and convert the bottom half to actual alpha? Because that seems to me like maybe a good way to get hardware acceleration on videos with transparency -- user does a preprocessing step one time to create a video in that split format, and then it hardware decodes like any other video and the shader recombines the halves so there's proper alpha.

(One thing I don't know is if a filter can actually change the size of the frame it's working on, since if you did video on top and alpha on bottom, it'd need to take that at full res and output it as a video frame half as tall once the alpha was mixed back in)

#

(I may or may not have explained that well)

weak escarp
fervent marsh
#

Yeah, it'd probably need to be a shader wrapped in a filter to handle that part of it (and probably some user friendliness), assuming a filter can resize the source (can it?). And assuming a filter can, does the general idea at least seem sensical?

weak escarp
#

a filter can resize the source yes

#

seems like a good way to do it

fervent marsh
#

Mostly I ask because it seems like as long as transparent videos are effectively two different video streams that need to be decoded perfectly in sync, it's going to be really pretty difficult to have proper hardware decoding of them (not impossible, but probably not something that will get done in the forseeable future). And that seemed like maybe a reasonable compromise between "proper hardware decoding w/ alpha" and "videos with alpha forever being software decoded".

#

(Will I actually DO anything with this knowledge? Probably not. I don't stream anymore, and Qt scares me. But it was an interesting thought and I wasn't sure if I was being stupid or not)

wispy loom
#

Okay, I'm trying to take what we all learned and convert another shadertoy to work in OBS and I'm gaslighting myself into reading this log line 😅 true or false, this line is telling me there's a type mismatch at (or just before) line 85 in the shader?

12:22:28.765: (null) (145, 2): Error creating shader: C:\util_streams\OBS-Studio-30.0-beta3-portable\bin\64bit\ (Pixel shader, technique Draw, pass 0)(85,11-45): error X3020: type mismatch

Reason I ask is there's nothing on line 85 in this shader's source file, line 84 doesn't have a character beyond column 39 (if that's what 11-45 in the parens means)

and well I'll just show you

#

NOTE that in this screenshot I put a carriage return in to push 84 to 85 and the log error didn't change between reloads, so that's why I'm here

#

pos is a float3, t is just float t = 0.1;

#

Maybe I need to make some tea 🙃

weak escarp
#

the error line numbers in the log file are incorrect

wispy loom
#

Okay, that is what I was wondering. Is there a way to map them to the source? Or is it not really tenable post parser?

I can start commenting stuff out to track it down, but it's good to know I'm not looney. (Okay, maybe I am, but not in this case.)

weak escarp
narrow locust
#

someone here use the overlay on? i have 1 issue with it help pls

wispy loom
sturdy bobcat
#

How can i get a blur filter plugin

north sinew
#

How do I put the 3D chat plugin in obs?

obsidian agate
north sinew
#

yes

#

but I don't have the executable because it's not there, it's a folder, where do I put it for it to work?

obsidian agate
north sinew
#

that's the link he gave me

obsidian agate
north sinew
#

and how do I install it?

obsidian agate
#

By downloading the installer from the FreeFX GitHub page

#

and running the installer app

north sinew
#

thanks bro

#

❤️

obsidian agate
#

welcome

sturdy bobcat
#

Can anyone link a mirror source as wel please

#

@weak escarp thank you for the blur

sturdy bobcat
#

thank you @weak escarp

#

is there a live support section

#

i am willing to pay for support i need help with obs and stream deck

obsidian agate
#

it is all handled in chat by users

wind marlin
#

how do i put little videos together into a big video?

hallow vale
oblique yewBOT
wind marlin
#

thanks

rancid kiln
#

Does OBS approve Tools and than delete them? My Program was approved and listed as an tool for several days. Now it says it is Deleted. I dont understand why, and I did not get any message

hard jay
#

forum posts that haven't been approved just show as deleted

#

nothing has been actually deleted.

#

If you pushed an update that triggered the need for an approval again, it puts the resource back in pending approval.

#

It's an annoying quirk of the forum software we can't really do anything about, unfortunately.

#

I also see that you submitted the same resource twice

red badge
#

Hello, idk if this is the right place to ask but I thought I'd try cause I couldn't find my answer anywhere else, but, does someone know and can help me to find this key overlay for NohBoard please🙏 ? I tried searching online for it but did not find anything useful

hard jay
#

Probably just a custom layout, they're not that hard to make.

red badge
#

I figured as much, but I've seen multiple people use it so I thought there might be a link for it somewhere that I just aren't able to find, thank you 🙏

glacial haven
#

probably easier to just ask one of the people that use it then

hard jay
#

Best bet to ask them directly for it

stuck prawn
#

Hi there, I am a sim racer who races on triple monitors, streaming or recording using all three monitors is not a good idea since it stretches the video to 48:9 and only recording the center screen can make the viewers miss out on a lot. Hence I had an idea whether I could use a head tracker to pan the camera left and right according to the head tracker, basically a rotation of a smaller source on a horizontally larger source. I tried talking to someone in the Tobii Eye Tracker discord, they told me to try asking in the OBS discord wether this plugin could be made possible or if it already exists, Thanks a lot in advance!

rancid kiln
safe wing
narrow locust
#

stream deck plugin

#

how i get an audio to sound in live

#

liek interact with it

dense perch
#

Or a lua/python script that does similar inside of OBS?

stuck prawn
meager magnet
#

@hard jay Hey GregSaintJean. I'm the one who opened issue #9839 on github. Here's the zip file for the scenes. They are in json format. I should mention that while I was trying to get these json files, OBS kept crashing over and over. I had to make one scene collection then duplicate it to get OBS in a state where after the duplication was done, it didn't exit. But then, when I tried to switch it did. Even when I tried to delete the collection, it would exit instead of successfully switching and staying open.

hard jay
#

Thanks! I'll probably take a closer look tomorrow.

#

In the meantime, doing the test without the third-party plugins is best next steps.

stoic oracle
#

Can anyone help me? I download source clone and it doesn’t show up in my sources

oblique yewBOT
compact charm
#

hola por que me sale en obs la imagen asi

stoic oracle
oblique yewBOT
stoic oracle
#

My source clone has downloaded, but still won’t show up in the sources list

mortal harbor
#

that would mean it is not installed, there is no attempt to load it in the log.

fossil wyvern
meager magnet
#

I can close the issue and just figure out on my own which plug-in it is. Thanks @hard jay

hard jay
#

Sure, that's fine.

olive blaze
#

can anyone help?

stoic oracle
#

i fixed it

still beacon
#

I'm just starting out with the Avanced Scene Switcher and I have one particular unresolved issue:
When the system goes to a break, it plays the files in a folder using VLC Media Source. Now I am trying to find a way to make it play just ONE file (a station ID) and then go back to the main program. Currently, it plays through the whole folder and then returns to main program.
Currently I'm experimenting with

And...Media...Any Media Source on... --Break--..state is Playing...Time remaining is shorter than... 1 second

However, it is still playing all the videos in the folder instead of switching back after the playing ID clip.
Suggestions for making it play ONE random ID and return?

regal breach
still beacon
regal breach
oblique yewBOT
rancid kiln
stuck prawn
regal breach
still beacon
regal breach
regal breach
#

that will help you debug whether the all the conditions actually become true

regal breach
#

okay thanks

rancid kiln
regal breach
#

ohhhh

#

i see

rancid fossil
#

@dense perch with obs-ndi 4.12.0 released, would you be willing to come up with a bullet point-list of things the template is lacking in terms of documentation or clarification?

regal breach
#

i'm not the one you want answers from but if i may add, i'd appreciate instructions for getting the hashes for selecting a version. like, it's not clear where to get the sha256 or from what files.

#

that was my first question when i tried to use the new template before. and from what i've seen even pvhaus asked that

native crescent
#

I have opened a pull request to update the plugin template towards OBS 30.0.0

dense perch
#

@rancid fossil would the plan/goal be to also bring it up to OBS 30 build scripts (where appropriate)?

dense perch
#

In a perfect world that could just be in the readme...but who reads those? 🙂

regal breach
regal breach
orchid jay
#

Hey everyone!
Just trying to startup my first plugin development environment... modifying the buildspec.json file, how can I target OBS 30.0.0 - I'm on a Windows dev box, but cannot find any Windows checksums - so CMake is always going to fail, it seems.

OBS-Studio-30.0.0-Ubuntu-x86_64-dbsym.ddeb: efc3f5f228b424eb65fc8f8501ff61227ba50f049f0ea03215fad7ded7af3084
OBS-Studio-30.0.0-Ubuntu-x86_64.deb: 00d99f195b08a2d30d624b6e2203060bed69042b6a7f91cdc001e0733d573dfc
OBS-Studio-30.0.0-macOS-Apple-dSYMs.tar.xz: f21b1ca6c4d2734feb38125aeab7fe66320f1ea4ea3827e3788b65b10e9c7e26
OBS-Studio-30.0.0-macOS-Apple.dmg: a4bd98bc5bf224ef545f264188969a3d39a3e5e275686b8447e8ad7cc704aafc
OBS-Studio-30.0.0-macOS-Intel-dSYMs.tar.xz: 676b1b5b9f1246d2ce8b46d0dcb756c5e0e1b90ecc8f2a67acded991ebd525c0
OBS-Studio-30.0.0-macOS-Intel.dmg: 367b12299a7c226b8017108bd251093af50dfe2d86a6b0aaa54180a1da63f657

Checksums for this release are above, which should I use?

wary escarp
#

none of those

#

those are the checksums for the compiled release

#

you need the source code checksums

#

Mac/linux would be the .tar.gz file, Windows the .zip

dense perch
hard jay
#

I don't think we really need evidence, we need people willing to write it, heh

dense perch
#

v1 text that I have in the plugin I work on (obs-ndi) that I need to make better:
https://github.com/obs-ndi/obs-ndi/blob/master/buildspec.json#L3-L14

        "note": [
            "To update",
            "1. Download obs-studio release version source for macos .tar.gz & windows-x64 .zip.",
            "   Example for https://github.com/obsproject/obs-studio/releases/tag/29.1.3 commit c58e511",
            "   https://github.com/obsproject/obs-studio/archive/refs/tags/29.1.3.tar.gz",
            "   https://github.com/obsproject/obs-studio/archive/refs/tags/29.1.3.zip",
            "2. sha256sum the macos .tar.gz & windows-x64 .zip",
            "3. Update the obs-studio version and hashes below",
            "4. Browse the obs-studio code buildspec.json **at that version commit** and copy the `prebuilt` and `qt6` versions and hashes to below",
            "   Example https://github.com/obsproject/obs-studio/blob/c58e511/buildspec.json",
            "5. Update libobs.patch following the instructions in ./cmake/common/buildspec_common.cmake ~ line 76-91"
        ],
hard jay
#

Probably better to have dedicated documentation I would expect.

#

It's been on The List™ for ages, nobody has had the time to sit down and do it :(

dense perch
#

(ignore my step #5, which was a solution @ruby lichen gave me for missing includes that are not exported by libobs)

wary escarp
#

or are there still headers missing?

dense perch
#

I just released obs-ndi yesterday compiled to 29.1.3 and haven't braved an update yet using 30.
Which begs a question: If a plugin compiles to obslib 30 and someone installs it in OBS 29 [because they have some reason to not upgrade to 30], will the v30 based plugin work in v29 OBS?

wary escarp
#

It might, but that's a bit luck based and not really advised

#

when for example obs_source_info gets new attributes, an older OBS will reject the source

#

also if you use API's from the newer version that don't exist in the old one, bad things™️ will happen

dense perch
#

I have found myself very tempted (by the dark side) to add basic Telemetry into the plugin to gather specs on how many users are running on what platforms and what OBS versions and what QT versions, etc.

#

That issue I finally understood a few days ago about Ubuntu redistributing OBS compiled to use Qt5 when my plugin requires Qt6 was mind blowingly [unnecessarily necessary I felt] complex.

#

That is probably also a reason why many people may knowingly or unknowingly be still running old OBS versions (or old redists that their source has not been updated to compile w/ Qt6) yet the latest plugin that they "need" and the plugin breaking/crashing.

#

Understood v30 helps to solve a lot of this.

wary escarp
#

Luckily OBS 30 indeed solves this, as they will probably notice when trying to compile

orchid jay
# dense perch lolz! That is precisely what the immediately preceeding conversation before your...

Apologies for the repetition! I've since gotten past that by manually installing the sources and using the "detected" hashes... either way - I'm still running into trouble with the "Configure OBS Sources (x64)" CMake task...

1> [CMake] CMake Error at C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/FindPkgConfig.cmake:123 (set):
1> [CMake]   Syntax error in cmake code at
1> [CMake] 
1> [CMake]     C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules/FindPkgConfig.cmake:123
1> [CMake] 
1> [CMake]   when parsing string
1> [CMake] 
1> [CMake]     C:\Users\maxpl\source\repos\relay_helper\.deps\obs-deps-2023-11-03-x64/lib
1> [CMake] 
1> [CMake]   Invalid character escape '\U'.
1> [CMake] Call Stack (most recent call first):
#

Anybody have any idea...?

dense perch
#

Possibly a CRLF problem?

orchid jay
#

I'm gonna be that noob and ask how I would possibly look into that?

#

I'm not all that clued up on C++ plugin development, just need a hand getting started - once I can actually start writing some code I'll manage myself but

wispy sun
#

Is there are way to have OBS continuously switch between the certain scenes in a loop? It does not look like the auto or advance switcher can do it.

blazing musk
#

Hey you guys.

I'm having an issue with the NDI plugin. Before today, I was on OBS Studio 27.2.4 & NDI 4.9 (I think?).

I'd tried to update to OBS 29 earlier this year, as well as NDI 4.11. However, when I did that, my NDI connection became very stuttery for some reason, even though I hadn't changed any settings.

Today, I asked in #windows-support if this issue was still a thing and some folks got me to try OBS 30 & NDI 4.12. The issue from earlier this year is still present

#

I'm just super confused. I'm missing out on a lot of features in newer OBS versions due to NDI not running smoothly on those and idk what settings to change

#

If anyone can help, I'd greatly appreciate it

mortal harbor
wispy sun
mortal harbor
#

ok, the logic of what i have just written out can be applied to that as well.

wispy sun
wispy sun
blazing musk
#

Pain..

wispy sun
#

yup

blazing musk
#

I meant my own tbf xD

#

But agreed lol

wispy sun
#

Yeah I am rtying to set up an uto switch between 1 or 2 cameras, and maybe 1 or 2 slides and just loop for 10 hours. I can't figure why it has to use logic to detect changes in the scene when there really isn't any. I can't even predict if there will be changes.