#plugins-and-tools

1 messages · Page 37 of 1

eternal spire
#

alr

ruby lichen
#

I'm here! I'm here
whats up?

fossil wyvern
#

someone had a crash with background removal, but ddu solved it

#

should have thought of that before pinging you

ruby lichen
#

Looked like a crash.. Nvidia cuda is the culprit

#

Y'all are the best I tell you!

#

OBS plugin community ftw

coral talon
#

Hi guys, i have a problem with my obs teleport. In gaming pc i have rtx 3080, i5 13500 and in streaming pc i have i7 4771 and gtx 1070 ti and for some reason when im using teleport, picture on streaming pc is very laggay and have a delay for about 15 seconds, does anyone know how can I fix this? Thanks 🙂

fossil wyvern
coral talon
#

yes

fossil wyvern
#

reduce to what?

coral talon
#

1280x720

#

and its still lagy and 15 seconds delay

fossil wyvern
oblique yewBOT
# coral talon and its still lagy and 15 seconds delay

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
oblique yewBOT
coral talon
#

is that ok?

#

okay, ill need to connect to wired, Thanks for help!! 🙂 🙂

vagrant minnow
#

and you're trying to use teleport over a wireless connection?

coral talon
#

yes, i have tplink with 300mbps

vagrant minnow
#

and that's clearly not enough.

coral talon
#

how much i need?

vagrant minnow
#

You need to either not use wireless, or not try and use teleport.

coral talon
#

okay ill give it a try, thanks for help!

mortal harbor
#

Anyone know of a plugin that creates a count down timer on screen that I can control from my streamdeck?

final spoke
#

anyon got the link to bongo cat plugin ?

vale vine
#

It's jank AF and unmaintained

#

So good luck getting it to A)work and B)work consistently

eternal kernel
#

I am making some changes in the vlc plugin.
I've achieved everything but I'm trying to list scenes in the vlc properties page and add them to the dropdown box.
I think the only way to list scenes is to use frontend-api.

obs_source_t *source = obs_frontend_get_current_scene();

but I couldn't manage to do this no matter how hard I tried. do you have any idea how I can access frontend-api?

sleek lynx
#

hmmm, trying to think how to do this... i have 4 move actions, to change the hub locations, I know you can asign hotkeys, but ultimately Id like to use one button on the stream deck to do all 4 moves after each press, SD only has 2 multi action buttons.. is there a plugin/script to cycle through multiple hotkeys?

#

seems like advanced scene switcher could do this... just trying to think of how to cycle through the actions

boreal hearth
serene echo
#

Is anyone else having issues with the obs-plugin template today, and MacOS packages? It looks to me like the Packages.dmg file that is grabbed from http://s.sudre.free.fr/Software/files/Packages.dmg, suddenly has a different checksum. Now that package hasn't (according to the http://s.sudre.free.fr/ website) been updated since Feb of 2022, so a sudden change in checksum is a bit concerning. I'm seeing the issue both in my Github Actions build, as well as if I try to run the pacakge script locally on my mac.

#

(note- the MacOS packaging has worked perfectly for me for some time now.. this is a sudden change as of this morning)

delicate bobcat
#

hello does anyone know how to change plugins or where plugin settings are. i load OBS and get a error.

gray wind
oblique yewBOT
oblique yewBOT
bleak pewter
mortal harbor
serene echo
#

And works well with the OBS 30 beta on my machine.

bleak pewter
#

yeah that one works well, just have read the ashmanix one has a new gaussian algorithm was trying to find out is it's better than Dual Kawase in this one

mortal harbor
#

i would recommend filing an issue on the plugins github page, that is normally the best way to get help with it.

serene echo
#

Gaussian will typically look nicer, but depending on your GPU, and how much you need to blur, may not be the best choice.

bleak pewter
#

right now composite blur works amazingly well trying to create a glassmorphism effect for browser sources, y have two copies of the same source, one injecting CSS so all the background color are solid, and one where sobe background color are semi transparent and the one wirh the solid colors, are aplied as mask for the blur, what you think about my method ?

serene echo
#

I built a little sample that sounds similar (but not as complex or unique) that used a twitch chat browser source, and the background of the chat bubbles to add a glassy blur behind the text.

bleak pewter
#

it's the one at the bottom left

prisma acorn
#

with obswebsocket 5.0 how do I change a source's properties? Trying to change a GDI's text and it seems like "request.SetTextGDIPlusProperties(source = "source_name", text = "BLAAAA")" doesn't work anymore? Using pythobn

prisma acorn
fossil wyvern
#

Inputs is the backend name for what the frontend calls sources.
If you want to know what's the name of a given parameter (what goes in inputSettings) then either use GetInputSettings, or have a look at it in the scene collection file since it'll be the same keys.

#

for the text param of a text source, I'm pretty sure the key would be "text"

prisma acorn
#

Ah okay. At first I thought input was like hotkey stuff

fossil wyvern
#

nah basically, to the backend "sources" is a general term for four different things : scenes, filters, transitions and inputs, with inputs being what the frontend calls sources

prisma acorn
#

How does this work with sources on different scenes with the same name

fossil wyvern
#

those are the same source

#

names are unique identifiers for sources

quasi fern
#

/describe

serene echo
kindred trellis
#

Good morning. Sorry for the inconvenience, could someone tell me how I can see the chat of a live broadcast on Twitter from OBS (x)?🤔

neat spindle
#

Please help I am a little streamer and I would like an animated Pepe Who always opens his mouth when I speak (i have no camera)

thick gale
#

I'm trying to find a plugin that would allow me to select form a set of transitions I have set up in OBS and pick one of those at random. Sort of like the Transition Table plugin, but I would be able to tell it to pick a transition from the list at random (or control how likely it is to choose from the transitions)

deft sand
#

how do i fit 800 x 600 resoulution on obs

fossil wyvern
#

you can set any resolution you want for the canvas in settings > video

reef helm
serene echo
reef helm
#

excellent, thank you

timid solar
#

Sup, I have a question. I already asked once but I did not managed to resolve the problem.

I animated lower 3rds (photo below) and I want them to show up every 5 minutes in OBS. 1st five mins Twitch, 2nd 5 mins IG and so on.
I rendered them in alpha channel only so they do not have a background (like png photo) and OBS shows them right but I need to add "timing" them to gradually display exactly as I mentioned above but I do not know how to do that.

Do anyone know how to do this? Thank you fo your time ❤️

oblique yewBOT
reef helm
# serene echo Yes. It has to do with a new (un-documented) update to the Packages.dmg downloa...

Sorry for potential double ping, but using the wayback machine link results in the checksum changing everytime a build is attempted. If I download it normally and Get-FileHash on the package file, it gives the correct checksum however. Trying the Package dev provided link to 1.2.10 is still a different checksum, but when checksum is updated, the build instead fails when trying to attach the image. Do you have any guidance on if this is just my error, or is there something else going on here?

serene echo
#

Are you trying this on your Mac, or in the github action?

reef helm
#

Github action

serene echo
#

strange. Its working fine for me. Can you post your buildspec.json file?

#

(The wayback machine link should be a snapshot of the file that was hosted in July of this year.. unless there is some weird caching going on)

reef helm
#

Sure, just give me a moment, i'm doing another test to make sure I didn't do anything dumb first

reef helm
serene echo
#

So here is what I'm seeing for that file:

❯ curl https://web.archive.org/web/20230727054218/http://s.sudre.free.fr/Software/files/Packages.dmg --output Packages.dmg
❯ sha256sum Packages.dmg
6afdd25386295974dad8f078b8f1e41cabebd08e72d970bf92f707c7e48b16c9  Packages.dmg
#

so the checksum should match what you've got in your buildspec

reef helm
#

Right, but when I try to trigger a build action I get a different checksum:

serene echo
#

I wonder if there is some weird caching goinng on?

#

Thats very strange.

#

I dont see anything wrong with your buildspec.. it all looks correct to me.

#

Let me check the checksum on the file the developer provided. Give me one minute

reef helm
#

I will say, just biting the bullet and trying the latest version and checksum also fails, but with this error:

serene echo
#

Thats not good. I wasn't willing to use the latest "version" as what the dev of packages is doing sets off a bunch of red flags/alarms in my head (perhaps un-neccessarily)

#

1 more second, and I'll grab the checksum of the "old" version that the original author is now providing.

#

that file checksums out properly to the original Packages.dmg that was available up until yesterday.

reef helm
#

I'll try it again real quick

serene echo
#

Wow.. I'm completely baffled as to why GH actions is doing that. You might get better assistance posting what you're doing/seeing in that issues thread.

#

I know that PatTheMav is working on a new MacOS packaging action that is going to get rid of Packages, though I have no idea how long it will take for that to be available.

reef helm
#

I can only assume i've done something wrong somewhere, that's typically a safe bet, but i'll make a post in the thread. At the very least it'll be a good source of learning for me regardless of outcome/solution

serene echo
#

Absolutely. I only know enough about GH actions to be dangerous.. so about all I can offer at this point is a shrug and a "Well it seems to work for me." which does you no good at all 😄

serene echo
#

There you go @reef helm- looks like Pat just pushed a PR that should remove packages altogether.

reef helm
#

waiting with baited breath to fetch the changes

rancid fossil
#

might take some time before my PR is reviewed because we have a reviewer-bandwidth-issue right now 😄

#

but CI is all green on the PR so if you're in a rush you probably can pull those changes in locally already

rancid fossil
#

it's unfortunate they surreptitiously just changed the file, but that's what hash checks are for after all

serene echo
# rancid fossil FWIW the pkg file _inside_ the DMG hadn't changed, its checksum was the same as ...

Thats good (I never thought to check the file inside the DMG). My concern with their setup is a bit further reaching though. If the dev cant be bothered to do something as simple as set up SSL, and their webserver compile date was in Jan of 2019 (yes, I realize patches are sometimes done that dont update the version info the server sends out), when a checksum suddenly changes, my confidence drops to near zero. Especially when what they are providing is an application that installs software on a users' machine, sometimes asking for elevated permissions, AND when all of their source is available on github. My mind immediately goes to "Someone may have compiled a new version and put some exploit in it, gotten through an unpatched security hole in the web server from circa 2019," and you know the rest.

#

But absolutely fantastic that y'all were checking the checksum of the dmg. Two big thumbs up to y'all for that!

rancid fossil
#

we introduced hash checks on all dependencies a while ago - we also check the hashes of all dependencies we pull in for the precompiled dependencies on obs-deps for the same reason

#

and we check the hashes of patch files applied to those, etc.

#

it's not fort knox, but a bit of supply chain due diligence

serene echo
#

Absolutely.

rancid fossil
#

just successfully created a notarised release with the PR applied on my fork - I'm still suspicious because it all just seems to work, but that's the developer life for ya

serene echo
#

Well a quick word of thanks @rancid fossil, for setting up the non-Packages action. I'll definitely be looking at it to integrate with the plugins I am working on. As I mentioned off topic, I'd also appreciate any hits/tips you might have on using a non-in-tree-build with the Visual Studio debugger. I'd like to move to the new build system the template uses, but without being able to properly debug, its difficult. Are there any docs anywhere on this?

#

(I get pretty lost with cmake, and Visual Studio in general.. was a big automake, linux C++ dev in a prior life)

rancid fossil
#

I usually just set a breakpoint where libobs initialises a plugin and step into the function, which moves the IDE into the source of the plugin - I can then set breakpoints there

#

at least Xcode has no trouble finding the sources for the plugin in local development

serene echo
#

Gotcha. I wonder how well that would work in Visual Studio. I'll have to give it a try.

rancid fossil
#

the symbols part is usually not much of an issue, it's getting the IDE to browse into the corresponding source files to set breakpoints in the first place

serene echo
#

exactly- and that is the part I've struggled with using Visual Studio.

wise palm
rancid fossil
#

set a breakpoint condition for mod_name to only break when your plugin is about to be loaded

#

then step into the function call

serene echo
#

Makles sense. Thank you for the tip! I'll give that a try here soon.

rancid fossil
#

when you need to do that with a version off CI you might need to do extra steps. On macOS you need to:

  • Load the debug symbols into the debugger once libobs has actually loaded the library: add-dsym '~/Library/Application Support/obs-studio/plugins/obs-plugintemplate.plugin.dSYM'
  • Map the source directory used on CI to the local source directory: settings set target.source-map '/Users/runner/work/obs-plugintemplate/obs-plugintemplate/src' '<GIT DIRECTORY>/obs-plugintemplate/src'

Then, once you step into the load function, it will allow you to debug using the actual source files

#

dunno how that works in MSVC but would be surprised if you cannot do essentially the same thing

#

oh I forgot - to get the actual paths used to generate the binary and debug symbols, run dwarfdump --show-sources on the dSYM file

timid solar
timid solar
wise palm
pure roost
#

Good evening, sorry for the trouble .I wanted to ask if a hand was possible. I have an MSI and an Acer in the MSI game and with the acer I do the streming.ho downloaded the plugin obs ndi but pero when I open OBS and put the sources there is NDI.spero I explained well.thank you in advance and good evening

oblique yewBOT
pure roost
oblique yewBOT
# pure roost https://obsproject.com/logs/R2znjxvLpiKo7ZBd
⚠️ Warning
  • Integrated GPU
  • Capture Interference
ℹ️ Info
  • Insufficient Hardware
  • Windows 11 22H2 (OK)
  • Not Admin
  • No Output Session
Hardware Check

Intel Core i3-1005G1 @ 1.20GHz - Possible bottleneck / Intel UHD Graphics - Possible bottleneck

fossil wyvern
pure roost
#

but when I download it it gives me downloaded.....thanks for the help

fossil wyvern
pure roost
#

Yes, I went through the entire installation procedure and at the end of everything I get the message that the installation was successful.

fossil wyvern
#

did you restart obs afterwards?

pure roost
#

not the first time so I deleted the first installation, closed OBS and re-downloaded the plugin but nothing. Can I send you a video here to show you the procedure?

fossil wyvern
pure roost
#

I have already tried many times with OBS but it doesn't work. During the installation when I click the "Next" button it doesn't give me the path to the file and installs it immediately. I don't know if this means anything.

fossil wyvern
#

did you actually do what I said, exactly

pure roost
#

Can I send you a video to show you how I downloaded it? I'm really sorry for the inconvenience, I don't want to waste your time but I can't understand why

fossil wyvern
#

how you download it does not in any way matter

#

once again, did you the following, exactly, without skipping a step :
close obs,
run the installer till the end,
reopen obs

pure roost
# fossil wyvern once again, did you the following, exactly, without skipping a step : close obs,...

I searched on Google for "OBS NDI plugin I clicked on "go to download" and I downloaded the file "obs-ndi-4.11.0-windows-x64.istaller.exe" I downloaded the file I clicked on "download file" it gave me I asked for authorization to download it, I gave the ok and it opened the "informative license" window I clicked next it went to the installation page I clicked "install" it loaded and this image came out which I sent I open OBS and then SOURCES but there is no NDI. Is this how you download or have I forgotten some steps? Thanks again

fossil wyvern
fossil wyvern
# pure roost Yes

right click the shortcut you use to open OBS, click on "properties" and show me the window that comes up

pure roost
fossil wyvern
#

go to C:\Program Files\obs-studio\obs-plugins\64bit and check whether there's a file named obs-ndi.dll in that folder

pure roost
#

there is not

fossil wyvern
#

uninstall avira antivirus, restart computer, try the ndi installer again

pure roost
#

I'll try right away and let you know. Thank you very much

pure roost
#

I uninstalled Avira, I restarted the computer, I tried to download the plugin again but nothing is there on OBS

ornate crane
#

is there a list of obs plugins?

oblique yewBOT
pure roost
#

I succeeded, thank you so much, you were really kind!!!!

thorny stone
#

Hello,

I have created a playlist to my clips on Twitch via the VLC video source links. Now I have a picture but no sound in OBS (monitor and output enabled).
When I open the link in the browser I have sound and when I open the link directly via the VLC player I also have sound. A rash is also not present in OBS.

Thanks
Sandersbeek

oblique yewBOT
oblique yewBOT
oblique yewBOT
#
🛑 Critical
  • MP4/MOV Recording
  • Hardware-accelerated GPU Scheduler
⚠️ Warning
  • Old Version (27.0.1)
  • 7.5% GPU Encoder Overload
  • Non-Standard Framerate
  • Excessively High Framerate
ℹ️ Info
  • Windows 10 22H2 (OK)
  • 0.2% Rendering Lag
  • Third-Party Plugins (1)
Hardware Check

Intel Core i5-9400F @ 2.90GHz - OK! / GeForce GTX 1660 Ti - OK!

shy fiber
#

Hi, I have created different objects in SE and per URL-copy successfully transmitted to OBS. What I am missing: in all the YT - vids it's shown thats then it's possible, after saving, to call the SE-Editor from OBS. But not for me...is this due to the "age" of these vids or did I make a mistake?

vale vine
#

That requires using their plugin

#

Which I don't suggest

#

But if you want their plugin, and help with it, ask them

#

!sehelp

oblique yewBOT
serene echo
#

Has anyone had an issue where the windows installer generated by InnoSetup for their plugin gets flagged as a trojan/virus by Windows Defender? I've got a really weird one happening, where my new plugin installer gets flagged, but only on a small number of machines. I've had a couple of users inform me that Defender considers the installer a virus, but on my machine, running the same Defender definition file, it installs just fine and isn't flagged.

fallen ibex
#

Has anyone had trouble with the VLC playlists option in sources recently?
I just migrated a portable version of OBS over to a new PC. Old PC was Win 10, new one is Win 11. I am trying to get my VLC playlists to show up as a source option but it's not there shrugg ? I have the latest VLC release installed. What am I missing?

oblique yewBOT
glacial haven
#

it's heuristics, which in terms of AV is nothing but an euphemism for "random" 😛

#

meaning you can build one installer and it's deemed fine by the AV, then you repackage with nothing changed but a slightly redesigned icon file and all of a suddenly it's the worst thing the AV has ever seen and needs to be quarantined into hell

serene echo
#

Is the whole "Heuristics" part the reason it gets flagged on a small number of machines, but on others (that are also running Windows Defender) its all fine? This is so confusing.. LUL

glacial haven
#

but I also never had defender flag an installer on the machine I built it, if I had to guess I'd say the fact that the installer has been created on my machine somehow plays a role, dunno whether it's smart enough to actually detect an installer building process by common install systems or it's just the fact that it sees the file being written to disk by something that is not a browser, meaning the file is not coming from the internet = more safe

serene echo
glacial haven
#

it had also happened to me that I built an installer on my dev machine where it was fine, copied it over to my gaming machine that is running the same OS with lots of similar software and update level and on the gaming PC defender didn't like it

#

actually, no, not copied it over, now that I think about it - the cases where I copied it through local network was fine, but recently I got a detection warning when I downloaded it from github

#

further supporting my theory about having it written by a browser making it seem more dangerous for defender

serene echo
#

Got it. So essentially there is nothing to do about it? Just some people will not be able to use the installer? Eek.. that seems.. not so optimal.

glacial haven
serene echo
fossil wyvern
glacial haven
#

since defender is the most widespread AV solution being used it might be worth to just put up some instructions on how to handle the situation

#

yeah, I am quite sure you always can

#

you need to teach people how to do it tho

#

e.g. in that pic, the "Allowed threats" link might be where you can add this installer to some sort of whitelist

serene echo
#

I guess my point of view- if I was downloading an OBS plugin, and windows was telling me "Hey.. this is a virus/trojan.. stay away!" I'd probably listen to Windows Defender... well maybe not now that I'm more educated about it.

#

but it sounds like there is not much that can be done about it. :/

#

(And the zipped, non-installer files check out fine.. it seems to be the installer itself that is flagging)

glacial haven
#

that's the one I recently had, it seems straightforward, but the "Run anyway" button is not visible from the start, you first have to click a small "More info" link, which isn't often obvious to the average user

serene echo
#

Yup.. that one I'm aware of- the whole "Unrecognized developer". Need to spend $$$ to get a signing cert to make that go away.

#

I'm wondering if I should just distribute my plugin without a windows installer (just the zip file) to not get tweeted at that my plugin is a virus LUL

glacial haven
#

well, that's up to you, but I learned that many people are totally lost without an installer

glacial haven
#

I recently had that person who sent 5 angry posts or so to my plugin's discussions thread about not being able to download and install the plugin, because...there is no download button WaitWhat

serene echo
#

😄

glacial haven
#

and went on about being an IT expert for 30 years and totally knowing their way with computers so it must be totally the fault of the plugin

serene echo
#

Thanks for the feedback on this.. got some things to think about. Maybe I can switch it up to a different installer than InnoSetup, as some googling shows that its notorious for getting marked as a trojan.

glacial haven
#

so I guess you need the people who are IT experts for 40 years to be able to get the plugin running without an installer 😏

serene echo
glacial haven
#

yeah, I also learned that putting BETA in the plugin name really scares people away 😄

#

I'd actually like to drop it soon, the last version was really stable, but hard to tell how stable it really is when you don't get feedback 😛

serene echo
#

Yup.. I was intentionally doing that until I release.. My newest plugin is ready for release, but now this issue.. shrug.

glacial haven
#

I guess I am just too careful - should just remove "BETA" from it and see what happens 🤷‍♂️

fossil wyvern
glacial haven
#

I guess then I could as well just remove it from the version number completely and write in the middle of the description text that it's beta, people don't read that anyway 😛

#

Submit files you think are malware or files that you believe have been incorrectly classified as malware.

serene echo
#

(and I'm not even convinced its not a user machine issue.. according to my github stats, the installer has been downloaded 300 times, and 2 people have had an issue)

glacial haven
#

well, only do it for the ones that get flagged, but yeah, you have to do it every time

serene echo
#

well, 2 people that have told me.

glacial haven
#

the problem is that usually the feedback rate of issues is a lot lower than us devs like to make ourselves believe

serene echo
#

absolutely.. though one of the people who had the issue is a friend.. he was streaming at the time.. and 10 people in his chat downloaded the installer, and all were able to run it without issue. so that was a good data point.

glacial haven
#

people be like "let's tell them it's broken - oh, what, I have to create an OBS project account first? nah. but there is github, oh no, also need an account there" *closes the browser tab and moves on*

#

in best case they find your name and mention you when they tweet about it

serene echo
#

Yup.

glacial haven
#

even with heuristics I wonder why it's differing so much from machine to machine - certainly they won't differ so much in definition update state, maybe the AV solution is adapting to the user habits somehow? or things like which browser you used play a role, e.g. when people used edge or chrome for downloading the AV think's it's safer than when they used a different browser? I wish I knew

serene echo
glacial haven
#

it's unlikely that you find out - AV vendors don't want you to know - well, mostly they don't want virus devs to know, but for all they know you might be one 😛

#

that btw might also be the reason

#

that there is literally some random factor involved

#

just to make it not too consistent for virus producers to analyze

serene echo
#

I think my first step is to look into other packaging/installer options.. the more I read, the more I see specifically other InnoSetup generated installers flagging the exact same virus and trojan that I was flagged with. Its not like I need some super complex installation.. the files just need to be copied to the Obs Studio root. I bet there are some other, more simple installers out there that might do it without getting flagged.

glacial haven
#

I imagine they use some sort of scoring system, like, "downloaded by a browser? -> + 1 evilness. wants to self-extract? -> +1 evilness. wants to write to protected space (program files directory)? -> +1 evilness. the user I am running for is generally often running into detections? -> +1 evilness. and last but not least: roll a dice: -> +0 or +1 evilness.

#

at least for the heuristics part

serene echo
#

That definitely makes sense.

glacial haven
#

and then on 4 evilness they warn and on 5 evilness they insta-quarantine-f-it-all

#

if you say you got a very specific detection I think there is also that part where they detect not whole file checksums (that's easily circumvented nowadays by adding some randomness to the files) but checksum for smaller parts that are typical for a virus - and you just have bad luck getting a collision with this, because these parts being so small make collisions more likely

knotty cobalt
#

yo could someone help me with obs rq on omegelw

oblique yewBOT
glacial haven
#

in the end they all are downloaded fresh from the internet, are executable files, self-extract and then write to a protected directory - that's a lot of red flags you can't avoid

#

and in case of a fresh plugin release it's a file the AV hasn't ever seen before

#

the only thing you could actually give a try that might be safer is a standard zip or 7z self-extractor - the AV should be able to recognize the self-extracting code of these and trust them more - and iirc you can set a default extraction path for them and then you only need to have the correct directory structure inside so that all the files are copied to the right places

#

the downside is that users get not uninstaller for this, so you might get complaints from users who want to remove the plugin and can't because they don't know how, this can be scary to some users

#

you could include some removal script with the extracted files, but you will still need to put directions for users somewhere how to navigate there and execute it - or make it part of your plugin GUI

sleek lynx
#

using adv scn switcher.. I have 8 macros that turn on a filter when a specific scene is showing, then another 8 to hide those filters when scene X isnt visable... I feel this is likely the hard way, anyone know of an easier way? like could it all be done in 2, or need the 8 indv scenes and 1 to hide... I dont know

#

just trying to get a deeper learning of it, if its not possible, then shrug

hallow vale
sleek lynx
#

sorry, no 8 scenes, 8 filters

#

or sources, not scenes

mortal harbor
#

Has the update come out to enable “else” statement support? If so your macro could say if you are on a scene enable, else disable.

sleek lynx
#

i dont think so, havnt seen an update in a few weeks now

mortal harbor
sleek lynx
#

whats a good discord for video questions? (like normalizing audio, etc) adobe one never answers

vapid charm
#

Probably this one

#

!techsupport

oblique yewBOT
sleek lynx
#

wish there was a disable all filters option

sleek lynx
#

yeah i cant get the beta to work, maybe doing it wrong

fossil wyvern
#

if the condition is the same fir the 8 actions you deffo can group them i. the same macro

mortal harbor
#

Hello can someone help me

#

i downloaded obs and wantet to have a overlay for streaming but in tools its doesnt show own3d pro how do i fix this

vapid charm
#

You'd need to ask them for help as we can't assist with their plugin.

mortal harbor
#

what no it doesnt shows it in tools doesnt care wich plugin i am trying to download

#

i klick download then they show me what i have to do in obs like click on tools then on own3d pro but there is no own3d pro

fossil wyvern
mortal harbor
#

yea how do i ask them or where can i download the plugin

fossil wyvern
#

they have a discord server

mortal harbor
#

where can i find the dc

fossil wyvern
#

a google search for "own3d discord server" should easily give you a link

mortal harbor
#

ok

#

ty

tepid crown
#

Hello, is there obs multi rtmp that works on macbook high ci sierra?

tepid crown
oblique yewBOT
tepid crown
oblique yewBOT
# tepid crown https://obsproject.com/logs/pjVZ99u46uuSZEzG
⚠️ Warning
  • Old Version (24.0.6)
  • 5.3% Rendering Lag
  • Non-Standard Aspect Ratio
ℹ️ Info
  • macOS 10.15 (OK)
  • Third-Party Plugins (4)
Hardware Check

Intel Core i5-2415M @ 2.30GHz - Below minimum requirements / Intel HD 3000 - Below minimum requirements

tepid crown
#

what is version i use in arm64 or x86_64

tepid crown
fossil wyvern
shy fiber
#

!sehelp

oblique yewBOT
oblique yewBOT
tepid crown
tepid crown
#

is not there way..

hallow vale
tepid crown
#

obs 29.0.2

#

rtmp 0.5.0.1

tepid crown
hallow vale
fossil wyvern
#

nah

fossil wyvern
fossil wyvern
# tepid crown

copy that file aand paste it in ~/Library/Application Support/obs-studio/plugins (notice, for this one, there is a ~ at the start) then restaart obs

tepid crown
fossil wyvern
fossil wyvern
#

no, as I said, there's one with a ~ at the start, one without

tepid crown
fossil wyvern
#

it's not a folder

#

press shitf + cmd +g and paste the whole thing with the ~

#

~ stands for your home folder

tepid crown
fossil wyvern
#

don't worry about that, just do the thing with shift + cmd +g

tepid crown
fossil wyvern
#

what do you mean?

fossil wyvern
tepid crown
#

i did in finer shift cmd g and did ur adreess cd copy and put it sad adreess

fossil wyvern
#

show me

tepid crown
fossil wyvern
#

is that /Library or ~/Library

tepid crown
#

yes it is screen of. abrary

#

labrary

fossil wyvern
#

/Library or ~/Library?

tepid crown
#

yes

fossil wyvern
#

no that's not a question that can be answered by yes

#

it's either one or the other, which one is it

tepid crown
fossil wyvern
#

yes

#

it's two different folders

tepid crown
#

both have plugin

#

both have plugin folder

fossil wyvern
fossil wyvern
tepid crown
#

???

fossil wyvern
#

was it already like that or did you copy the file from one folder to the other?

tepid crown
fossil wyvern
tepid crown
oblique yewBOT
fossil wyvern
tepid crown
#

omg...

fossil wyvern
#

restart after installing it

tepid crown
#

did restart

#

rebooting?

#

rebooting??

fossil wyvern
#

nah, send a log again?

oblique yewBOT
fossil wyvern
# tepid crown

delete all the obs-multi-rtmp files in both of those folders, then install the plugin again, the precise version I gave you

tepid crown
#

yes

fossil wyvern
#

and make sure you're using this file

tepid crown
fossil wyvern
tepid crown
#

yes

fossil wyvern
#

and it's working now?

tepid crown
#

yes

fossil wyvern
#

👍

#

basically the one without ~ is an old install method that's outdated nowadays afaik

tepid crown
fossil wyvern
#

against what?

tepid crown
fossil wyvern
tepid crown
#

yes

#

so ty...

#

is u obs emploee???

fossil wyvern
#

nope

#

like most people here am a volunteer

tepid crown
#

is u american??

fossil wyvern
#

nope

#

french

tepid crown
# fossil wyvern nope

If I were rich, I would have given money. If I make a lot of money, I will reward you.

oblique yewBOT
tepid crown
fossil wyvern
#

👍

frigid vault
#

Hello everyone!
I'm making some new visuals for my Game Scene, and I'd like to know if there are any Plugins that allow to apply Blending Modes "Overlay" to a Source, like on PhotoShop software !

I've found a few native Blending Modes in OBS, but the ones I wanted...

oblique yewBOT
#

Welcome to the official OBS Community Discord server! Unfortunately, our support volunteers can only provide support in English. Most of our support documents and guides are also only in English. If you feel comfortable using a service like Google Translate, feel free to use that to send messages to us. We'll do our best to understand your intent, and we'll try to help you as much as we can. google_translate Translate

bright slate
#

sorry

muted arrow
#

素晴らしい最初のメッセージ doggolul

oak sierra
#

anyone know of a plugin to allow a program output, like projector, to be sent to a blackmagic decklink pro port... or to allow a blakcmagic decklink pro port to be an option in the projector output??

oak sierra
#

Found it! 🙂

sonic crag
#

Did anyone work to implement firebase auth in obs plugin

upper spear
#

Hey all question is the a tool or method to make a page turning animation transition that will work in OBS?

quiet bramble
#

One could convert a Shadertoy shader to a StreamFX transition shader to do that

regal forum
#

I have two internets and two systems, with one router I share the screen from computer one to computer two. I want the obs to use the internet of the second router for streaming, because I don't want to create traffic on the shared screen plz help me .

solid vector
#

Hi all, Does any one know if the official version of OBS now has webrtc output?

twilit charm
#

bandicam

#

is better

#

than obs

sleek lynx
#

I turn on highlight recent played macro in advss, its not normal to see other macros not involved in current scene firing right? extra cpu usage?

#

also when you uncheck something, doesnt that mean its disabled? I was on the beta then, but those kept firing whether checked or not...

mortal harbor
#

now i am seeing you posted elsewhere and my reply is eerily similar to fenrirs

solid vector
sleek lynx
#

advss cant control apps right? just launch, like could it mute itunes?

#

hotkeys, dammit sometimes I ask dumb questions

sleek lynx
#

not that anyone is paying attention 😉 one last question before bed, how can I run an elevated program from advss

low garden
#

I am trying to use OBS NDI plugin with NDI bridge the get a source from a PC on another network, but when viewing the NDI source here theres pretty significant desync between audio and video with audio delayed by over a second, this is my first time using NDI, anyone got experience with sending OBS over NDI bridge?

#

to be clear the delay is introduced by bridge as far as i can tell since viewing the source on its local network has no audio delay

tight elm
#

Hi. I have 5 different streams coming in to my Nimble stream server. They are web IP cams from high mountains. I would want to "switch" cycle between them. Is there a good workflow or how to switch and cycle between them each minute?

#

Automatically

hearty vault
#

Hey, all. I've been using https://webcaptioner.com/ but it's going away. It suggested this captions plugin https://github.com/ratwithacompiler/OBS-captions-plugin but I can't figure out how to get the captions to show up on live stream. It saves to an .srt file, which is great if I want to upload to YouTube, but can anyone help me figure out either how to get the captions to show up on a live stream, or a better plugin I could use? I'm on Windows 10 64 bit, Intel i5 processor.

vapid charm
#

@hearty vault where are you streaming to?

#

Twitch is the easiest one as it's just a matter of tweaking the settings for it and users enabling the CC option from the video player.

upper spear
hearty vault
vapid charm
#

iirc it should be under the Google closed captions options under the tool menu.

#

Actually its Cloud Closed Captions

hearty vault
vapid charm
#

Screenshot that window for me. Trying to wing it from memory and the slightly dated pics on the repo.

hearty vault
#

What the heck, it disappears when I go to take a screen snip. Hold on, trying other methods.

vapid charm
#

Alt+prnt scr with OBS window in focus.

#

Then paste in discord.

fossil wyvern
vapid charm
#

Ah

#

That too DerpDogPaola

vapid charm
#

You have the first option which uses the out of box natively supported option via the twitch player option and the 3rd tab (open captions) which should do a "hardcoded overlay" source if it was on a website that didn't support it.

#

The first option being the stuff under general.

hearty vault
#

I see the captions come up in a separate box in OBS but not on my preview screen.

vapid charm
#

Because it is handled locally by the viewer.

#

Not on your end.

hearty vault
#

Oh.

#

That's unintuitive.

#

Thank you for your help and insights. 🖖

vapid charm
#

Regarding the open captions tab you can try adding a text source and then choosing that in the dropdown from your screenshot. Can't help with that unfortunately.

hearty vault
#

Okay, thanks. I'll see what I can figure out from here.

ruby lichen
fossil wyvern
#

I mean tbh for streaming the cloud caption plugin works very well, and since you need network to stream anyways, it's not like needing to be connected is an issue

fossil wyvern
#

what money?

#

that plugin is free

ruby lichen
#

Google transcription services are not

fossil wyvern
#

the plugin is free and costs no money to run

ruby lichen
#

Yep. But to run it needs cloud API services which cost money

fossil wyvern
#

at no point does it cost any money to the end-user to make that plugin work

ruby lichen
#

Well somebody's paying because Google speech services are not free beyond a certain amount. There are cheaper faster and better cloud transcription services like this very recent one https://console.deepgram.com/signup

fossil wyvern
#

check DMs, roy

sleek lynx
#

can I run an elevated program from advss

sleek lynx
#

figured it out... you guys are sooo helpful

mortal harbor
#

people help when they can, in their free time. that type of comment isn't really necessary.

sleek lynx
#

nobody had time in 3-4 days?

#

its cool, i got it, im zen

mortal harbor
#

pc and mobile thats crazy

fossil wyvern
#

this has nothing to do with obs plugins?

mortal harbor
fossil wyvern
#

no, that would be suggestion of things to implement in obs

#

which this is not

#

I'm not even sure what exactly you're trying to say

mortal harbor
#

i can see what people play on

fossil wyvern
#

yeah, that's a basic functionality of discord

mortal harbor
#

no actually its called vencord

brave rain
#

Hey all, I'm looking for something a bit unique and I don't know a) if its possible and/or b) if it already exists.

Basically, I currently run a 2 pc setup and have spotify playing on my streaming pc but controlled via my gaming pc (spotify open on both pcs etc).

What I want to do, is for the streaming pc to change scene when spotify is paused.

I currently know I can somewhat do this via advanced scene switcher by audio detection but I was looking for something a bit more hands on, to react to the multimedia keys being pressed to actually play/pause spotify ?

fossil wyvern
brave rain
fossil wyvern
#

anything else would afaik require some amount of either making it yourself or paying someone to

mortal harbor
#

curious, what would be gained from it being toggled by a key press vs. when audio is playing in spotify?

fossil wyvern
#

honestly that's kinda why I say their current solution is the best, I don't see what advantages other solutions would have

mortal harbor
#

well yeah, that is why i'm asking 😄

fossil wyvern
#

that being said, cross-obs input transfer via websocket sounds like smth I'd really like doing

#

and I could do it with scripts god it'd be such an abomination I love it

brave rain
#

that and medication brain means I forget to hit the change scene hotkey on my streamdeck far too often than I;d like to admit

#

so its just trying to streamline everything

fossil wyvern
#

ok, but it works correctly with adv-ss, right?

#

so why change that?

brave rain
#

I haven't tried it in a "live" environment yet but offline, it works.

fossil wyvern
#

cause every solution I can see are more complex to setup and easier to break, but they won't work better. just as well

brave rain
#

the issue I have is if I turn off music or the song doesn't start playing for whatever reason (spotify being weird) it changes the scene when not needed/required

#

hence why I prefer a hotkey over audio detection

fossil wyvern
#

at that point, for those situations you can likely just manually override it

brave rain
#

yeah, im looking into options available and i think one of the many software bots will do the trick

#

was hoping to avoid them if possible but if needs must

frank halo
#

so can someone help me im trying to get the virtual camera to appear in tools but its not there nor will it pop up in discord cameras

#

i dont even know if i have the right one

#

@hard jay

oblique yewBOT
frank halo
oblique yewBOT
hallow vale
frank halo
#

i do but for some reason its not on tools and i got it from steam so when i launch obs and start the birtual cam it doesnt pop up on discord during test

hallow vale
frank halo
#

no im not able to choose it at all

hallow vale
frank halo
#

it just has my camera on it

hallow vale
oblique yewBOT
# frank halo it just has my camera on it

Windows has privacy settings for microphones and video capture devices (primarily webcams and capture cards), which may block them from being used in OBS. If you are having issues capturing them, follow these steps to check that OBS is allowed to access them.

  1. Open the Settings app.
  2. Go to Privacy -> Camera for capture cards and webcams, and turn "Allow apps to access your camera" on.
  3. Go to Privacy -> Microphones, and turn "Allow apps to access your microphone" on.
frank halo
#

those are on already

hallow vale
frank halo
#

nothing

hallow vale
#

Dang. Move to the #windows-support channel (since there are no plugins involved) and ask your question again to see if someone else knows how to help

vapid charm
# hearty vault

@mystic forum While I have this thought in my head: OBS captions gives the option for a "hardcoded" subtitle overlay instead of the clientside optional one that twitch gives or am I reading the purpose wrong?

mystic forum
vapid charm
#

So simply add an empty text source, select the option in settings, and it'll do its thing?

mystic forum
#

Yep

vapid charm
#

Would having the mic muted in a way it doesn't audibly output to the stream but still trigger the captions work as intended or does that cause funky things?

#

Saying this as I wanna try go do some streaming again but walls be thin AF >.<

#

So rather than not use mic I'd at least settle for having subtitles.

mystic forum
#

so in the settings theres the "caption when" and by default (with caption source is heard on stream) it will mute captions when the caption audio source is muted, so you can either set that setting to mute source is heard on stream then a 2nd source selction box shows up for selecting a mute source, so it will caption the caption source but mute based on the mute status of the mute source.
or alternatively probably easier to just have the mic unmuted but unchecked on every track (since it doesnt check for that just muted status)

vapid charm
#

Yeah. The latter would probably be my best bet.

mystic forum
#

also I'm horrible at explaining things or making understandable UIs, I apologize

vapid charm
#

You did fine enough and have just what I want to use.

mystic forum
mortal harbor
#

how to remove extension added to obs

oblique yewBOT
mortal harbor
#

hey not able to remove plugings

fossil wyvern
fossil wyvern
mortal harbor
#

I have installed plugins and want to remove

fossil wyvern
#

ok, did you check the guide you were linked?

mortal harbor
#

But from there in my mack m1 2020

#

Nothing coming such like it mentioned in the guide

fossil wyvern
#

press cmd +shift +g and paste the following in the prompt that comes up ; ~/Library/Application Support/obs-studio/plugins

mortal harbor
#

you are gr8 bro

#

one more help please

#

for multiple streaming at time i was trying to install plugin but its not reflecting in amc

#

mac

#

nor in obs

fossil wyvern
#

yeah it's a bit fucked up on mac right now.
Install it as you normally would.
Then press cmd +shift +g thing then paste in /Library/Application Support/obs-studio/plugins (pay attention, it's not the same as before, it doesn't have ~ at the start, that's important) that will open a different folder and inside that folder there will be the multi-rtmp.plugin file.
Copy that and paste it in the previous folder I had you open (the one with ~ at the start)

#

(if any of this is unclear tell me and we'll o step by step)

mortal harbor
#

sorry not clear can we go step by step

#

Please

fossil wyvern
#

ouki, so first of all which version of macos and obs?

mortal harbor
#

mac version 14.0

#

obs 29.1.3

fossil wyvern
mortal harbor
#

done

#

but see there is nothign coming

fossil wyvern
#

yee that's "normal"

mortal harbor
#

solution

fossil wyvern
#

I'm typing

#

ok, now press shift +cmd +g and paste in /Library/Application Support/obs-studio/plugins
that will open a folder, inside you should see a file named obs-multi-rtmp.plugin

#

is that not the case?

mortal harbor
#

yes i can ee

#

see

fossil wyvern
#

ouki, now press shift +cmd +g and paste in ~/Library/Application Support/obs-studio/plugins
pay attention, it's not the same, there is a ~ at the start of it
that will open another folder, in which there won't be a file named obs-multi-rtmp.plugin

#

you need to copy the obs-multi-rtmp.plugin file from the first folder to the second

#

then restart obs

mortal harbor
#

wait

mortal harbor
fossil wyvern
#

you're sure you're pasting the right thing?

mortal harbor
#

yes

fossil wyvern
#

if you just paste /Library/Application Support/obs-studio, does it find it?

mortal harbor
#

no its not finding

#

anything

fossil wyvern
#

ok, that's not normal and I don't know enough about macos to know why it's not working, sorry

mortal harbor
fossil wyvern
#

yeah, I'm sorry I don't know

mortal harbor
#

i have these folder i have

#

where have to post

fossil wyvern
mortal harbor
#

~/Library/Application Support/obs-studio/plugins

fossil wyvern
#

and that one doesn't have an obs-multi-rtmp.plugin file in it, right?

mortal harbor
#

r u there

fossil wyvern
#

yes?

fossil wyvern
#

ok, then I'm unsure why it doesn't work, sorry

mortal harbor
#

ok

#

thanks

past sonnet
#

Is there any iOS teleprompter apps that work really well with OBS? I want to have something that will run on tablet and phone so I can use it in the office and from a remote site? Any recommendations?

random pilot
#

can anyone help me with a plugin? quite frustrated

oblique yewBOT
# random pilot can anyone help me with a plugin? quite frustrated

Welcome to the OBS community support channel. If you have a question, go ahead and ask it, and if someone is available to help they'll respond. Try to be detailed, and provide a log if you are having issues with streaming/recording (Help -> Log Files -> Upload Current Log). Please be patient if someone doesn't respond right away!

sly wadi
#

How can I do multi audio channel recording in obs ?

fossil wyvern
#

what do you mean by multi audio channel?
do you mean multiple tracks, or do you mean more than stereo, like 5.1 or 7.1

sly wadi
#

I think it’s possible isn’t?

fossil wyvern
# sly wadi No , I mean multiple tracks

!multitrack
yeah it's perfectly possible, and I kinda guessed that's what you meant but I just wanted to ask because usually channel means mono/stereo/surround etc

oblique yewBOT
random pilot
#

Ok so I have OBS studio and use 3rd party called own3dpro for my overlays ect I had the plugin under my tools in OBS but dont anymore not sure if I did anything. I have uninstalled both programs and tried installing first obs then own3d with the plugin still not in OBS can someone walk me thru some troubleshooting steps?

fossil wyvern
#

👍

fossil wyvern
random pilot
#

yea chat lady gave up on me pretty fast said could be an issue with my system

fossil wyvern
#

!log
fucking stellar lmao
send a log I'll see if I can figure smth out

oblique yewBOT
#

To help resolve your issue, we need to view a log file. Follow these instructions to upload your current log file:

  1. In OBS Studio, click the Help menu → Log Files → Upload Current Log File
  2. Click the Copy URL button
  3. Paste the URL into this Discord channel
random pilot
oblique yewBOT
fossil wyvern
random pilot
#

ok ill try that thanks

oblique yewBOT
#

To help resolve your issue, we need to view a log file. Follow these instructions to upload your current log file:

  1. In OBS Studio, click the Help menu → Log Files → Upload Current Log File
  2. Click the Copy URL button
  3. Paste the URL into this Discord channel
sly wadi
#

!install

oblique yewBOT
tall marten
#

Hi @ocean cliff first of all, thank you very, very much for taking the time to help with the PR I submitted. I've been going mad with a handful of streamer friends trying to resolve this mess ever since Discord revamped the Stream Kit website by stripping out all of the IDs and then adding Strict-XSS on top of it.

As for Flexbox, that... appeared to be what the element was that I am selecting with the following code:
li:has(img[src*="86586182175035392"]) { display:block!important; z-index:50!important; order:50!important; }

If I can select that object, I'd be able to hide avatars without a big ugly gap appearing by setting specific people to display:none

ocean cliff
#

Flexbox is a CSS layout style is why it confuses me, but I think it's just a terminology mixup

tall marten
#

It is the <li class="Voice_voiceState__OCoZh"> element I'm trying to modify above users

next moss
#

~~@ocean cliff heya, im following #394 in obs-browser, and don't wanna post my own really tiny correction due to cluttering the PR, as you've said. I did want to talk about this statement:

If it was re-enabled again, another potential workaround would be to upload the icons to Discord and use the attachment URL. I doubt they would block a subset of their own CDN.
There's a decent chance that Discord may actually block their own CDN here in the coming months. Discord has recently started putting authentication tags onto attachments from their CDN. This is to curb its use as a generic file host, because hosting all this is probably very expensive. Although we've been told this will be transparent to the user (theoretically), I doubt it'll apply to StreamKit, as I believe their invisible implementation may only create valid authentication tags with the Discord client only.~~
someone else made a comment in the pr lol
ignore me ^^

ocean cliff
#

Flexbox refers to setting an element to display: flex; and thus using the flexbox layout instead of the normal block layout

tall marten
#

My CSS is using display:flex in the code

ocean cliff
#

Ah okay

tall marten
#

As is I... thought the website?

ocean cliff
#

In any case, the has() selector is the only way to do what you want (Which is, to style a parent element based on a childs elements contents)

tall marten
#

wow.. I guess the old website used Flexbox and when they changed it, all this time I was just overriding it back to Flexbox

ocean cliff
#

That's generally been impossible until that selector (on purpose) since it has performance impact to go backwards up the tree, but alas, modern web dev has made it useful in some cases

#

In this scenario, you could work around needing it with some CSS structure adjustments

tall marten
#

Yah. It's brutal after Discord changed the StreamKit website

#

It busted things for VTubers everywhere

ocean cliff
#

Basically you'd make the <li> tags size based on their contents, and do your changes and styling inside them instead

tall marten
#

Sorry, my main skill set is writing PowerShell scripts and repairing computers. I'm an amature coder as best. Can you laymans that a bit for me?

dark sapphire
tall marten
#

I didn't know it was possible in CSS for me to rip out the elements in the Stream Kit website and redo the layout

dark sapphire
#

The top file is the old stuff, the bottom file is what works at the moment

ocean cliff
#

You can't rip out elements but you can hide them

dark sapphire
#

My own code literally says /* v2, when classes became worse */

tall marten
#

Very accruate Matt

#

Uhh.. know what, I might make you guys cry when you see my code for how ugly it is but...

ocean cliff
#

So here's the stream kit set to display: flex; on the <ul> container

#

And i've hidden one of the <li> elements by hiding it's child elements

.Voice_avatar__htiqH[src^="https://cdn.discordapp.com/avatars/166718342466502656/"],
.Voice_avatar__htiqH[src^="https://cdn.discordapp.com/avatars/166718342466502656/"] ~ .Voice_user__8fGwX {
    display: none;
}```
tall marten
#
body { overflow:hidden; display:block; position:absolute; bottom:0; height:100%; width:100%;}

div>ul[class^="Voice_voiceStates"]{ display:flex!important; flex-direction:row; flex-wrap:nowrap; padding-right:95px!important; justify-content:space-evenly; align-items:flex-end; vertical-align:bottom; position:absolute; bottom:0; left:0; right:0; width:100%;}
li[class^="Voice_voiceState_"]{ display:block; z-index:99; order:99; position:relative; margin:0!important; width:200px;}
div[class^="Voice_user"]{ padding-top:0px!important;}
div>span[class^="Voice_name"]{ display:block; width:fit-content; }
li>img[class^="Voice_avatar"]{ position:absolute; padding:5px; bottom:50px; height:115px!important; width:115px!important; border-radius:50%!important; margin:31!important; border:none!important; transition: filter .1s linear; background-size:auto 100%; background-position:bottom center; background-repeat:no-repeat; filter: brightness(100%); text-align:center; border:none!important}
li>img[class*="Speaking"]{ border:5px solid rgba(0, 199, 33, 0.836)!important; padding:0px; animation-name: speak-now; animation-duration: 1s; animation-fill-mode:forwards; filter: brightness(100%); }
@keyframes speak-now { 0% { transform:translate(0px,0px); } 10% { transform:translate(0px,10px); } 30% { transform:translate(0px,-20px); } 60% { transform:translate(0px,0px); } }

li:has(img[src*="86586182175035392"]) { display:block!important; z-index:50!important; order:50!important; }
#

@keyframes Dav-speak { 0% { transform:translate(0px,0px); } 10% { transform:translate(0px,10px); } 20% { transform:translate(0px,0px); } 50% { transform:translate(0px,-60px); } 100% { transform:translate(0px,0px); } }

li>img[class^="Voice_avatar"][src*="86586182175035392"] { content:url(https://media.discordapp.net/attachments/896181322404474921/925558817817784341/Davwyn2_passive_200px.png); border:none!important; bottom:15px!important; border-radius:0!important; height:200px!important; width:200px!important;} /* Davwyn */
li>img[class*="Speaking"][src*="86586182175035392"] { content:url(https://media.discordapp.net/attachments/896181322404474921/925558824096661544/Davwyn2_talk_200px.png); border:none!important; bottom:15px!important; border-radius:0!important; height:200px!important; width:200px!important;}

This is the code with repeating elements ripped out

dark sapphire
ocean cliff
#

Probably. Using a starts with selector is better

#

I just did it quickly to show it was still possible

dark sapphire
tall marten
#

This was 100% reverse-engineering

#

I know about 0.2% of CSS code

ocean cliff
#

I know too much about CSS 😂

#

li[class^="Voice_voiceState_"]{ display:block; z-index:99; order:99; position:relative; margin:0!important; width:200px;}
This is the key thing you'd have to adjust

#

You're setting an explicit width on the <li> element

tall marten
#

I did pull out the W3C manuals and figured out the :has statement with a lot of pain over the course of 3 days getting that has statement I shared earlier

ocean cliff
#

Instead you should set it on the child elements

tall marten
#

Humm, okay. Trying to figure out if I should pitch mine and follow Matt's example, or try to mend mine

dark sapphire
#

then you can use mine as a reference point to get yours functional

tall marten
#

Wow, that is a lot easier on the eyes

ocean cliff
#

Looks like one of the things you're doing is making it so that you're always the first person

dark sapphire
#

also I'm quite sure you can't use content: to change what file an <img> points to?

tall marten
ocean cliff
#

Yeah :)

tall marten
ocean cliff
#

And hide You in the Other People source CSS

tall marten
#

Goal is for Streamer and Users to be together, just the Streamer float left/right or up/down depending on direction

#

When Streamer does separate, the streamer does a display:none on their avatar, which currently left a big ugly gap.

dark sapphire
#

My trick is rename myself in the server in question to #Matt so that I'm at the top, then just crop the source.

tall marten
#

In my very old code I just used to display:none here:

.avatar.speaking[data-reactid*="86586182175035392"] { content:url(https://xxx/Davwyn2_talk_200px.png); border:none!important; bottom:15px!important; border-radius:0!important; height:200px!important; width:200px!important;}```
ocean cliff
#

Yeah you're applying display: none to the avatar and hiding their icon, but you set width: 200px on the <li> element

#

so the <li> will still take up space, just the icon inside isn't visible

tall marten
#

From earlier instructions, I moved the width: from li Voice_voiceState to div Voice_user I assume that's what you wanted me to do above

ocean cliff
#

Could display: none the <li> or size the avatar element itself, and let <li> size be auto (Need to do the latter without access to has() )

#

As another CSS aside, using !important usually means you're doing something wrong

tall marten
#

do I need to be explicit to auto it, or leave it blank to assume auto?

ocean cliff
#

CSS is applied based on specificity, so the more specific a rule is, the higher it's priority

tall marten
#

I had all those !important to keep forcing the avatar images I wanted

#

if I can discard the !important`s I shall

#

I remember the last time I worked on it, if I didn't have them in, it broke

ocean cliff
#

I'm kind of amazed you can do content: '' on an img element and override it tbh

#

In my example I posted, I'm actually hiding the Video_user <img> element entirely

#

and creating a pseudo element on the Voice_user element which has the image

tall marten
#

Yah, I noticed a lot of people were setting background-image instead of content: and was confused by that

#

So, the meat of my code that isn't redundant now is this...

#
body {
    overflow:hidden;
    display:block;
    position:absolute;
    bottom:0;
    height:100%;
    width:100%;
}
div>ul[class^="Voice_voiceStates"]{
    display:flex!important;
    flex-direction:row;
    flex-wrap:nowrap;
    padding-right:95px!important;
    justify-content:space-evenly;
    align-items:flex-end;
    vertical-align:bottom;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    width:100%;
}
li[class^="Voice_voiceState_"]{
    display:block;
    z-index:99;
    order:99;
    position:relative;
    margin:0!important;
}
div[class^="Voice_user"]{
    padding-top:0px!important;
    width:200px;
}
div>span[class^="Voice_name"]{
    display:block;
    width:fit-content;
}
li>img[class^="Voice_avatar"]{
    position:absolute;
    padding:5px;
    bottom:50px;
    height:115px!important;
    width:115px!important;
    border-radius:50%!important;
    margin:31!important;
    border:none!important;
    transition: filter .1s linear;
    background-size:auto 100%;
    background-position:bottom center;
    background-repeat:no-repeat;
    filter: brightness(100%);
    text-align:center;
    border:none!important
}
li>img[class*="Speaking"]{
    border:5px solid rgba(0, 199, 33, 0.836)!important;
    padding:0px;
    animation-name: speak-now;
    animation-duration: 1s;
    animation-fill-mode:forwards;
    filter: brightness(100%);
}
ocean cliff
#

Yeah and you can hide someone with

li>img[src*="166718342466502656"],
li>img[src*="166718342466502656"] ~ div {
    display: none;
}```
tall marten
#

Got it, so we're hiding the IMG element, and because the li element above has no size any more, it zeros out right?

ocean cliff
#

Yep!

#

Well, hiding the IMG and also the div with the users name

tall marten
#

ah, right okay

ocean cliff
#

Another thing is you're absolute positioning the avatars which I don't think is necessary

#

but that's nitpicking

tall marten
#

if it's not needed that would be great. I have two versions of the script, vertical and horizontal

#

at the moment I'm testing the hiding avatar part and doing something wrong

#

oh, I found it, woops. Knocking a } out of position

#

Humm there's still a gap when I hide myself, so I did miss something

ocean cliff
#

ah, hmm. You're doing space-evenly on the <ul> container

tall marten
#

should be down on the li>img?

ocean cliff
#

No it's correct

#

That empty space is just a side effect of this approach since the <li> isn't gone

#

so flexbox still gives it some of the space

tall marten
#

I probably have redundant width/height values still?

#

I'm 2nd avatar in

#

so there's an obvious weird gap

ocean cliff
#

No it's because space-evenly means to space things out evenly

tall marten
#

I do wish I could still gravitate the streamer to far left or right with the old flex boxes

ocean cliff
#

And that element is 0 width, but it's still there

#

so it's given space

tall marten
#

is there a better spaceing method so avatars evenly spread out?

ocean cliff
#

They'd have to be side by side which likely isn't what you want

#

if you did justify-content: center for example on the <ul>

tall marten
#

I do like the ability for avatars to crowd in/overlap if it gets too full

ocean cliff
#

I am trying to do something clever, give me a minute

tall marten
#

sure thing, again thanks

#

Humm position:absolute; seems required in my li>img section otherwise the avatars fall out of the bottom of the web page but I think all my other stuff is redundant for the sizes

ocean cliff
#

If you add

li[class^="Voice_voiceState_"] {
    height: 150px;
}```
tall marten
#

ah ha, okay

#

that appears to also have made the username boxes way too tall, but that might be because I set a 100% somewhere I shouldn't have

#

giving voice_name a height fixed the box, but the box is at the top and the text at the bottom for some reason

ocean cliff
#
body {
    overflow:hidden;
    display:block;
    position:absolute;
    bottom:0;
    height:100%;
    width:100%;
}
div>ul[class^="Voice_voiceStates"]{
    display:flex!important;
    flex-direction:row;
    flex-wrap:nowrap;
    padding-right:95px!important;
    justify-content:space-evenly;
    align-items:flex-end;
    vertical-align:bottom;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    width:100%;
}
li[class^="Voice_voiceState_"]{
    display:flex;
    flex-direction: column;
    height: 150px;
    justify-content: center;
    align-items: center;
    z-index:99;
    order:99;
    position:relative;
    margin:0!important;
}
div[class^="Voice_user"]{
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top:0px;
    width: 200px;
}
div>span[class^="Voice_name"]{
    display:block;
    width:fit-content;
}
li>img[class^="Voice_avatar"]{
    position:relative;
    padding:5px;
    height:115px!important;
    width:115px!important;
    border-radius:50%!important;
    margin:31!important;
    border:none!important;
    transition: filter .1s linear;
    background-size:auto 100%;
    background-position:bottom center;
    background-repeat:no-repeat;
    filter: brightness(100%);
    text-align:center;
    border:none!important
}
li>img[class*="Speaking"]{
    border:5px solid rgba(0, 199, 33, 0.836)!important;
    padding:0px;
    animation-name: speak-now;
    animation-duration: 1s;
    animation-fill-mode:forwards;
    filter: brightness(100%);
}```
#

that's a modified version of yours from above with the absolute avatars fixed up

#

Mainly

li[class^="Voice_voiceState_"]{
    display:flex;
    flex-direction: column;
    height: 150px;
    justify-content: center;
    align-items: center;
}```
#

And removal of position: absolute; and bottom: 50px from the avatar

#

The awkward gap I'm still thinking on

tall marten
#

Humm the name tags also ran far off the screen too

ocean cliff
#

Right. You want the crowding

#

Okay I take it all back you do need absolute on the avatars for that

tall marten
#

Ah, it was the avatar's having sizes specified on them. When I deleted the width/height from here it fixed it

tall marten
ocean cliff
#

Correct

tall marten
#

The idea is say there's only room for 4 avatars to neatly sit together, and then a 5th person joins. I want them to overlap/squish together

#

It's better for avatars to crowd than the 5th person falling off the edge of the world

ocean cliff
#

Since the avatars will occupy space if not set to absolute, so the container will be sized to the largest width, which would likely be the avatar

tall marten
#

Darn.. so my version was the best approach for that method?

#

I'm sure my code still has a ton of redundant size values everywhere

ocean cliff
#
body {
    overflow:hidden;
    display:block;
    position:absolute;
    bottom:0;
    height:100%;
    width:100%;
}
div>ul[class^="Voice_voiceStates"]{
    display:flex!important;
    flex-direction:row;
    flex-wrap:nowrap;
    padding-right:95px!important;
    justify-content:space-evenly;
    align-items:flex-end;
    vertical-align:bottom;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    width:100%;
}
li[class^="Voice_voiceState_"]{
    display:flex;
    flex-direction: column;
    height: 170px;
    justify-content: flex-end;
    align-items: center;
    z-index:99;
    order:99;
    position:relative;
    margin:0!important;
}
div[class^="Voice_user"]{
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top:0px;
    max-width: 200px;
}
div>span[class^="Voice_name"]{
    display:block;
    width:fit-content;
}
li>img[class^="Voice_avatar"]{
    position:absolute;
    bottom:50px;
    padding:5px;
    height:115px!important;
    width:115px!important;
    border-radius:50%!important;
    margin:31!important;
    border:none!important;
    transition: filter .1s linear;
    background-size:auto 100%;
    background-position:bottom center;
    background-repeat:no-repeat;
    filter: brightness(100%);
    text-align:center;
    border:none!important
}
li>img[class*="Speaking"]{
    border:5px solid rgba(0, 199, 33, 0.836)!important;
    padding:0px;
    animation-name: speak-now;
    animation-duration: 1s;
    animation-fill-mode:forwards;
    filter: brightness(100%);
}```
#

This should work the way you want (minus awkward gap from hidden person)

tall marten
#

Hey, that's looking better

#

Seems the avatars are shrunk down though. Not sure which object I need to make larger for the 200x200px images to fit

ocean cliff
#

They're being set to 115px x 115px in your original css

#

Are you setting oversized images for their content? Can you post an example

tall marten
#

yah, I figured out it was because I had each user avatar set to 200px by 200px
I remember some of this nonsense. It was because normal Discord avatars vs avatars we set appeared weirdly so we tried to adjust the avatar size for images we set via the CSS, vs users using default Discord avatars

#
li>img[class^="Voice_avatar"][src^="https://cdn.discordapp.com/avatars/86586182175035392"] {
    content:url(https://media.discordapp.net/attachments/xxx/Davwyn2_passive_200px.png);
    border:none!important;
    bottom:3px;
    border-radius:0!important;
}
/* Davwyn */
li>img[class*="Speaking"][src^="https://cdn.discordapp.com/avatars/86586182175035392"] {
    content:url(https://media.discordapp.net/attachments/xxx/Davwyn2_talk_200px.png);
    border:none!important;
    bottom:3px;
    border-radius:0!important;
}

Is the per specified user avatar thing

#

vs the original statement at the top:

li>img[class^="Voice_avatar"]{
    position:absolute;
    bottom:10px;
    height:200px;
    width:200px;
    border-radius:50%!important;
    margin:31!important;
    border:none!important;
    transition: filter .1s linear;
    background-size:auto 100%;
    background-position:bottom center;
    background-repeat:no-repeat;
    filter: brightness(100%);
    text-align:center;
    border:none!important
}```
#

yah, this makes sense. Originally I have the default Voice_avatar at 115px and then I override it up to 200px for avatars I set because Discord Avatars a weirdly oversized and the avatars we set have invisible margins around the images themselves. So that is expected behaviour

#

Humm.. yah so if I hide my avatar, it does still leave that super obvious gap which is annoying

#

Nonetheless we are leaps and bounds forward than me having to butcher the website with injected javascript

#

Shall we call it a night @ocean cliff ? Tis late where I am and I have to work tomorrow. But if you don't mind me picking your brain I'd love to know of a way to write that LUA to import a pre-defined CSS script I host on my server to our streamers.
If you have a Coffee Me thing or whatever I'd be happy to throw some cash your way for the trouble.

I have a couple of projects of my own if they are any use, like my BATCH script that makes that nice halo around the avatars automatically via ImageMagick and my prototype super Windows Deployment Toolkit image I built that is simply amazing

ocean cliff
#

Yeah I'll keep pokin at this

#

My kofi and paypalme are all warchamp7 but by no means necessary :)

tall marten
#

Thanks again so much. Also, I'll continue to home for that :has feature eventually so that reordering avatars can be done again. Sweet! I'll look tomorrow but for now I need to drop like a rock. Up well past 1.5 hours than I should have, but knew I couldn't sleep with it where it was

#

Not sure how often you need to reinstall/repair Windows 10/11 but beyond buying you a kofi I'll throw you a cool tool (or show you how to build your own if you want to punish yourself).

I basically invented Windows Installer, WindowsPE, WindowsRE, and D.A.R.T all in one package with PowerShell and all. But I can talk about that stuff outside of this channel

#

I might suck at coding, but I'm -really- good at reverse-engineering and reinventing tech tools and IT technican stuff.

winged prawnBOT
#

dynoSuccess yco2887 has been warned.

tall marten
#

I was confused there for a sec. Any case, sleep well when you do Warchamp

quiet smelt
#

kann wer deutsch bitte ich breuche hilfe

oblique yewBOT
# quiet smelt kann wer deutsch bitte ich breuche hilfe

Welcome to the official OBS Community Discord server! Unfortunately, our support volunteers can only provide support in English. Most of our support documents and guides are also only in English. If you feel comfortable using a service like Google Translate, feel free to use that to send messages to us. We'll do our best to understand your intent, and we'll try to help you as much as we can. google_translate Translate

quiet smelt
#

Whenever I stream there is a margin at the top and bottom, can anyone help me?

oblique yewBOT
narrow ocean
narrow ocean
#

nvm i figured it out

tall marten
#

Hi @ocean cliff my brain is kind of fried today but I am interested in looking at the CSS again later and also interested in looking at LUA for me to give streamers so they can automatically download and put in the CSS as I update the script. That way all streamers have up to date StreamBeans for user's characters

ocean cliff
#

For the lua script I can't personally be of much help since I don't know lua 😅

#

But there is a countdown script included with OBS that could probably serve as a starting point for showing how to have a few configurable options (include the selection of which source the script should target)

tall marten
#

Thanks for looking it over. I'll try reading up on the lua when I have the brain power

fossil wyvern
tall marten
#

@fossil wyvern
Two things.

First one is CSS override for Discord Streamkit fighting to make it saw that avatars flex so they evenly spread out when there is space, but allow crowding eachother overlapping if there's more users than there is space.

Second one is writing an OBS Lua script that will automatically fetch a CSS script from a web server and insert it's contents into any web sources containing a specific key word if the content is newer/different so that the streamers using my big database of character overrides doesn't need to manually update the CSS every time.

They used to just use an @import in thier CSS override to pull my updates in, but Discord Streamkit blocks external CSS now

fossil wyvern
tall marten
#

I can't think of any other way to allow the streamers to get the character list. It keeps growing and is already 700 lines long all because Discord Streamkit blocks CSS @import to external domains

fossil wyvern
#

character list?

tall marten
fossil wyvern
#

hmm

#

want me to try my hand at that script?

tall marten
#

Gladly! I just got up preparing for work but I'll try to give you what we got so far that Warchamp7 and I have been looking at.

The goals are:

Finding a way to target the li class Voice_voiceState__OCoZh element above the targetable img tags so that we can define an order, z-position, and ability to entirely display:none specific users

If failing that, find a way so that when hiding an avatar there is no visible gap where they would have been, while still keeping the ability that avatars spread out if they have space, but will crowd together if it's packed with people

#

@fossil wyvern Here's the code so far with redundant repeats and the database stripped out except for one user (me). Note that there is commented code for testing hiding my specific avatar to test the gap problem.

#
#

The code

li:has(img[src*="86586182175035392"], [src*="123456789"], [src*="123456789"], [src*="123456789"]) {
    display:block!important;
    z-index:50!important;
    order:50!important;
}```

was my attempt to achieve what we used to have, but :has isn't supported by OBS. The old code back when we had proper ID tags was a lot easier:

```CSS
li.voice-state[data-reactid*="86586182175035392"], [data-reactid*="123456789"], [data-reactid*="11223344556677"] { display:block!important; z-index:50!important; order:50!important; }```
#

Let me know if that made any sense. Going to rush to get my breakfast

fossil wyvern
#

👍 I'll have a detailed look at it

tall marten
#

That would be awesome of you. I'll be able to reply occasionall thoughout the day at work, but will be back properly in about 10 hours

plucky stone
#

I'm having an issue getting own3d pro plugin in the tools menu. It was there before I had to do a reinstall.

ocean cliff
#

@tall marten Looks like the Stream Kit has a new setting :)

tall marten
lament leaf
tall marten
#

Oh, I see it. A 'show my avatar first' setting. Nice!

#

So just need to figure out how to auto-update the CSS in OBS from my website, and see if there is a way to properly hide specific avatars

plucky stone
lament leaf
oblique yewBOT
odd harbor
tall marten
#

I'll examine the website. I really, really hope they made it better and not worse

next moss
#

oh god i should check if this breaks anything i made lol

tall marten
#

It broke name tags in my script @next moss but the rest seems to be intact. They changed the class names a little bit and the class names even state if an avatar is self_mute or self_deaf now which is interesting.

#

I still don't see a way to target a voice state two levels above an avatar though

odd harbor
#

can you paste what element you are trying to hit? I think most of them should be tagged now

tall marten
#

li Voice_voiceState__OCoZh voice_state
specifically the one above specific img class images

odd harbor
#

is that not enough to give it css?

tall marten
#

if I try

li>img[class^="Voice_avatar"][src^="https://cdn.discordapp.com/avatars/86586182175035392"],
li>img[class^="Voice_avatar"][src^="https://cdn.discordapp.com/avatars/86586182175035392"] ~ div {
    display: none;
}

It doesn't seem to be targging Voice_voiceState only Voice_avatar?

odd harbor
#

I guess the next questions is what would get around the image selector hack

#

what if the li element had a data- attribute with the user id on it

tall marten
#

It used to a few versions ago

#

we used to target li.voice-state[data-reactid*="86586182175035392"] but Discord ripped that away making it way harder than it needs to be

#

I'm guessing

ul>li>img[class^="Voice_avatar"][src^="https://cdn.discordapp.com/avatars/86586182175035392"],
ul>li>img[class^="Voice_avatar"][src^="https://cdn.discordapp.com/avatars/86586182175035392"] ~ div {
    display: none;
}```
is invalid, you can't look two layers up?
#

@ocean cliff and @fossil wyvern I'm around if you are available

fossil wyvern
#

yee am looking at it, but tbh, for the CSS this is slightly above my knowledge.
The help I was proposing was more on the "delivering it to people through script" which I'm still willing to write for you if you give me specifics

tall marten
#

I tried to read up on how OBS Lua works as I'm more familiar with Lua than Python, but found very little in the way of video tutorials during lunch.

The task I'm hoping is dead simple. A script that simply searches for all instances of a Browser Source with 'StreamBeans_H' or 'StreamBeans_V' as part of it's name.

If it finds a browser source with that name, download a CSS file from a specified website, one for H and one for V respectively and replace the CSS overrides field with the content of that CSS file

fossil wyvern
#

oh, yeah, one question, do you want the download and replace to happen just once on OBS startup, or does it need to be regularly updated during the session to check if the file has been changed?

tall marten
#

Good question, Startup generally should be enough, but it would be nice if there was a way to trigger a refresh on demand

#

Try pulling:
https://cdn.discordapp.com/attachments/1086511460403908729/1157869743819214938/StreamBeansCore_H.css for now

fossil wyvern
#

for sure. what I can do is also catch sources on create, so that if you create a source with a matching name, it'll autofill the CSS the moment it gets created if that's something wishable

fossil wyvern
odd harbor
#

Huzzah there’s a data attribute now

tall marten
tall marten
fossil wyvern
#

yeah same lmao all my chat widget CSS has to get their assets re-hosted

tall marten
#

@odd harbor you've got my hopes up, but I can't find data attributes at all

#

Where?

ocean cliff
tall marten
#

Darn, that was my concern

ocean cliff
#

.has() is the only reason we're able to in a technically weird way

tall marten
#

So the li>img is a look-down thing

ocean cliff
#

It's generally not supposed to be something you do

#

Yes the > selector means direct descendant

tall marten
#

yah, which sucks

ocean cliff
#

It's technically not needed here at all

tall marten
#

DDRBoxman said there are IDs now but I don't see them myself, am I missing something? I'm using Brave Developer tools but I see no ID tags

ocean cliff
#

You can just do ul li img for example

#

or even ul img

tall marten
#

huh?

ocean cliff
tall marten
#

our current method is

li>img[class^="Voice_avatar"][src^="https://cdn.discordapp.com/avatars/86586182175035392"],
li>img[class^="Voice_avatar"][src^="https://cdn.discordapp.com/avatars/86586182175035392"] ~ div {
    display: none !important;
}```

But although it hides the IMG and DIV it can't hide the all important li Voice_State
ocean cliff
#

I'm seeing data attributes on the containers now

tall marten
#

OMG they are there!

ocean cliff
#

Yes that can be written as

li img[class^="Voice_avatar"][src^="https://cdn.discordapp.com/avatars/86586182175035392"],
li img[class^="Voice_avatar"][src^="https://cdn.discordapp.com/avatars/86586182175035392"] ~ div {
    display: none !important;
}```
and still work fine is my point
#

> is only needed when you explicitly want a selector that is directly inside the previous one

tall marten
#

No, it doesn't:

ocean cliff
#

It will not fix the gap problem

#

It will work the same is all

tall marten
#

yah, but if we have IDs back, I can do that now!

ocean cliff
#

yeah

shadow peak
#

goodday can anyone help me? i subscribe to own3d pro and download the plugins. when i open OBS STUDIO and go to TOOLS. i cant see OWN3D PRO

ocean cliff
#

You don't have their plugin installed

#

This channel is mainly for plugin development. You should reach out to Own3d for support with their plugin

shadow peak
#

ah ok sorry

#

thankyou

tall marten
#

@ocean cliff hopefully a simple question. Is there a way to give a height statement where it is 20px less than 100% height?

fossil wyvern
#

100% - 20px, no?

tall marten
#

Also, that Ko-Fi didn't show anything for 'warchamp7' I'd either like to buy you a coffee for your trouble or do something nice in return. There's taking you through my Windows 10/11 Debloat tool I offer for free that's in a working beta I can guide you through, or my unique Windows Kit I made

fossil wyvern
#

might be mistaking shit for tex but as long as I remember that shit works for css

tall marten
#

I'll try Penwyvern, I didn't think it would be that easy?

#

nope, browser doesn't like that

fossil wyvern
#

oh, nah, wrap that in calc()

#

so calc(100% - 20px)

tall marten
#

sweet!

#

I think I got it. Besides minor bugs, now that IDs are back I was able to make my StreamBeans script fully functional again!

#

Horizontal Mode

#

Vertical Mode

#

Same offer to you by the way @fossil wyvern dunno what would be more worthwhile to you but want to give my thanks as I've been keeping this StreamBean thing alive now for 3 to 4 years and thought the last change was going to be curtins.
Having a means to auto-update all our streamers will be awesome

fossil wyvern
#

offer?

tall marten
#

Buy you a coffee, show you how to use my Windows 10/11 Debloat Script, or if you want a copy of my ultimate Windows 10 or 11 Boot Disk

#

I'm not great with web dev or general dev stuff, but I'm an apt technician and PowerShell scripter rookie

fossil wyvern
#

oh thanks but am on linux lmao 💜

#

ty for the offer though 💜

tall marten
#

☕ Enjoy, and thanks!

tall marten
#

Gaming on Linux is getting better, but my last attempt at PoP was aweful. Next time I'll try going straight to Arch as I hear that is now the best gaming Distro?

fossil wyvern
#

@tall marten Here you go :
A few notes :

  • Sources get their CSS changed :
    • On OBS load or scene collection change
    • When created if their name on creation matches the pattern (I could also do on source rename if you want to but that didn't felt very necessary)
    • When clicking the button
  • CSS gets pulled from the site :
    • On OBS load or scene collection change
    • When clicking the button
  • Lines 17-20 allow you to change which URL and source name will be used by default when an user loads the script for the first time. Those values can then be manually changed in the script's UI by the User.
  • When first loading it, it might pop a terminal window for a few seconds, that's normal and nothing to worry about, the script just needs to install a specific python package to work (requests)
  • I'm pasting below my usual writeup on how to install python and link it in OBS on windows, could be useful if you intend to distribute it to users of varied technological knowledge.
- Download the python installer from https://www.python.org/downloads/release/python-31011/ (at the bottom of the page, windows 10 installer 64 bit)
- Run it, default install, note the folder to which it says it is installing (should be smth like `C:/users/<username>/Local Settings/Application Data/Programs/Python/Python310`)
- In OBS, go to Tools > Scripts, go to the "python settings" tab and select the folder to which it got installed. If you did it right, a message should pop below telling you python 3.10 is loaded
- Download the file attached below, then in the "scripts" tab of the script window in OBS, click on the `+` button then select the file you downloaded
  • If shit don't work or you want changes be made to it, don't hesitate to ping me
#

(since you said you'd distribute it, I put a GPL2 licence header on it, on principle, if that's not ok with your usage, or if you'd prefer another licence, don't hesitate to tell me, I don't really care much about it, it's just on principle)

ocean cliff
#

@fossil wyvern My idea for the script was having a dropdown for selecting which source to update

#

Like how the Countdown script lets you pick a text source to update

fossil wyvern
#

presumably so you could have different sources with the same CSS applied?

ocean cliff
#

I guess if they have that many, but I'm not sure why :o

#

I defer to dav though, it's their usage

tall marten
#

Wow! Thanks @fossil wyvern
Yah, dropdowns are cool @ocean cliff but us streamers tend to have several copies of the browser source for different scenes. I got 6 of them

#

Sorry for the slow reply, I was doing tech support for a friend over the phone

ocean cliff
#

Why 6?

#

Just like different channels or what

tall marten
#

V and H on main stage, V and H on intermission with different layout settings, and V and H for pre/post stream (those are identical)

#

different virtual Height and Width dimensions, plus actual resizing on the stage

ocean cliff
#

I seeee

#

makes sense

tall marten
#

I have a keypress I push that uses H mode when I'm doing something widescreen like a video game, but when doing something non-wide screen, my stage automatically uses the mover filter plugin to switch to the V mode

#

Wow, this Python script is pretty my greek to me. I'll probably be able to figure out how some of it works after a while but I need to sleep badly.
Thanks again @fossil wyvern so much. I'll crash to sleep now, but will try it out tomorrow or the day after when I have some time to poke around with it. I'm amped that I have automation for updates again, the FABS streamers will be very happy

fossil wyvern
#

👍 once again don't hesitate to ping if you have questions or requests

#

(and that includes if you want me to explain how and why some of it work, obspython is a bit weird in the ways it does things sometimes)

brisk spade
#

is there a way to add buttons to my controls bar at the bottom of my main screen?
or adding something to the top bar next to tools?
i want to have a toggle or 2 quick click buttons

fossil wyvern
#

afaik, can't change the controls dock without modifying obs itself.
What a plugin could do however is create a new dock with what you want in it

brisk spade
#

do you have any guides/examples for implementing something like that? preferably python 😅

fossil wyvern
oblique yewBOT
brisk spade
#

that works too! thanks

ashen garnet
#

Is there a way to use the replay source plugin to show a mini replay in my game scene and then hide the mini replay after it’s over? I was doing this with obs’s replay.lua, but I’m using the replay source plugin now and wondering if there’s an easy way to do it

mortal harbor
#

not sure about using that plugin alone, but something like the advanced scene switcher plugin can handle that part of it.

ashen garnet
#

I was doing it before using multiactions on the stream deck, so that would probably work as well

#

I was mostly wondering if there was something built in to the plugin. Looks like it has features for switching scenes, but not hiding/showing sources

hallow vale
ashen garnet
#

Oh?

hallow vale
ashen garnet
#

I mean the replay source plugin

hallow vale
#

I was saying the scene switcher plugin. Oops, were you talking only about the replay one?

ashen garnet
#

Sorry that was confusing. I meant the replay plugin has features for auto changing scenes, but not hiding or showing sources

hallow vale
#

Ah, I see

ashen garnet
#

But I appreciate your willingness to help 🙂

hallow vale
#

Need moar coffee haha

ashen garnet
#

well, i ended up deleting the app and going back to the built-in replay.lua -- i was getting some serious missed frames from the replay source plugin

#

the mini replay was very choppy

tall marten
#

Wow @fossil wyvern your script seems to be working perfectly! I gave it a test run and worked flawlessly first try. A thought occured to me, but I'm not sure how much difficulty it would add to the python. Would there be a way for the script to still do what it does, but it leaves a reserved section at the top of the CSS alone to allow customizations?

Basically if it doesn't see the header section it generates it, if it sees a header section it copies it. Clears the CSS, puts back the copied header, then adds the CSS it downloads below?

Eg.

***********************************
/* Enter your customizations here */
Div.StuffGoesHere:100px;
************************************
#

again, if there's a way I can pay you back for your time, I will

fossil wyvern
tall marten
#

The thought occured to me the auto-update will nuke the CSS, so if streamers want to add customizations like moving select beans in priority order they can't.

tall marten
#

If the template is cast in a big old multi-line string box I can edit that can work great

fossil wyvern
#

as long as there can be a reasonable expectation that those lines won't appear more than once it's easily doable

tall marten
#

Honestly, that works perfectly

#

One sec

#
/* ------------------------------------------------------------------------- */
/* --Add any Customizations and Overrides below this line-- */


/* --End of Customization Section-- */
/* Anything below this line will get be replaced next update! */
/* ------------------------------------------------------------------------- */
#

How about that?

fossil wyvern
#

👍 sure, will do in a bit

tall marten
#

No rush at all Penwyvern. I really appreciate the efforts

#

I'll end up adding things to the template customization section anyways like sample code for hiding beans, code for prioritizing beans, etc.

sleek lynx
#

Hey guys, me again, warmuptill put up an advss beta/fork/whatever and I cant figure out how to download it... and I can ask him because I got banned on the forum, for being myself

#

cant ask

sleek lynx
#

oh nevermind, I dont know why i didnt see the installer before

regal escarp
#

hey guys.... im new here so sorry if this is a dumb question. i just started working on a plugin that would analyze the video feed to see when a certain image appears on screen. has anybody made something like this before i could look at? i cloned the plugin template but im getting some weird build errors:

-- Setting up Pre-Built obs-deps (universal)
-- Setting up Pre-Built obs-deps (universal) - skipped
-- Setting up Pre-Built Qt6 (universal)
-- Setting up Pre-Built Qt6 (universal) - skipped
-- Setting up OBS sources (universal)
-- Setting up OBS sources (universal) - done
-- Configure OBS sources (universal)
                      _                   _             _ _       
                 ___ | |__  ___       ___| |_ _   _  __| (_) ___  
                / _ \| '_ \/ __|_____/ __| __| | | |/ _` | |/ _ \ 
               | (_) | |_) \__ \_____\__ \ |_| |_| | (_| | | (_) |
                \___/|_.__/|___/     |___/\__|\__,_|\__,_|_|\___/ 

OBS:  Application Version: 29.1.2 - Build Number: 2
==================================================================================


------------------------       Enabled Features           ------------------------
 - OpenGL renderer
------------------------       Disabled Features          ------------------------
 - Plugin Support
 - User Interface
----------------------------------------------------------------------------------
-- Configure OBS sources (universal) - done
-- Build OBS sources (universal)
** BUILD FAILED **


The following build commands failed:
        CompileC /Users/tom/Development/projects/autovod-plugin/.deps/obs-studio-29.1.2/build_universal/build/libobs.build/Debug/Objects-normal/x86_64/coreaudio-enum-devices.o /Users/tom/Development/projects/autovod-plugin/.deps/obs-studio-29.1.2/libobs/audio-monitoring/osx/coreaudio-enum-devices.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler (in target 'libobs' from project 'obs-studio')
(1 failure)
CMake Error at cmake/common/buildspec_common.cmake:89 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 65"

Call Stack (most recent call first):
  cmake/common/buildspec_common.cmake:214 (_setup_obs_studio)
  cmake/macos/buildspec.cmake:23 (_check_dependencies)
  cmake/macos/buildspec.cmake:34 (_check_dependencies_macos)
  cmake/macos/defaults.cmake:23 (include)
  CMakeLists.txt:11 (include)


-- Configuring incomplete, errors occurred!
#

it seems a bit strange that 'plugin support' is disabled by default in the plugin template

stray zenith
regal escarp
#

i figured it out. looks like its just a bug in the main obs-project

stray zenith
#

oh, you are trying to build obs, I thought you wanted to make a plugin.

regal escarp
#

or at least downloads the headers

stray zenith
#

no, it doesnt

#

yes headers but it does not build obs

regal escarp
#

ah ok. so i guess technically the bug is in the headers in the main project but that screws up the build of the plugin template

#

but it was in a c file?

#

im not sure now

#

the bug was definitely in the .deps folder in obs-studio-29.1.2

#

i just got the make to work and it definitely didnt build the whole project. but it did seem to build that c file as part of CMake (not make)

stray zenith
#

are you running .github/scripts/build-macos ?

regal escarp
#

i hadnt noticed that. i just ran mkdir build; cd build; cmake ..;

stray zenith
#

try .github/scripts/build-macos it should take care of everything

regal escarp
#

i dont really know what im doing 😛

stray zenith
regal escarp
#

that works too, but it definitely did extra stuff

#

yeah. thanks for pointing that out

stray zenith
regal escarp
#

shouldnt need any of that.... my plugin should be pretty simple

#

im really just looking to take screenshots every few seconds and then see if something is on the screen

#

ok, i have a hellow world..... now i just gotta figure out how to load the plpugin 😛

stray zenith
#

should be easy, running the .github/scripts/build-macos command will generate release folder and in it you will have the file

#

for windows it generates .dll but for mac i believe it will be .o file

wary escarp
#

In theory you shouldn’t need any of the build scripts, they are made for CI.
Running "cmake --preset macos" should do the trick

regal escarp
#

think i see it.... ill try ti in a sec. someone responded to the bug report i filed

wary escarp
regal escarp
#

what do you guys usually use to just build again (not cmake)?

#

is there another script for that or just make

#

(thank yall for the help getting started btw. i really appreciate it)

wary escarp
#

"cmake --build <build_directory>" will invoke whichever generator you chose before

#

The script defaults either to ninja or Xcode, unsure

regal escarp
#

gotcha. tyvm

livid vale
#

Hi Guys ATM i am using only "Source record" pluugin.
Right now my whole OBS stopped working.
Does anyone know how to get it to default settings on MAcbook?

livid vale
#

Do you know some alternative for Source Record?

regal escarp
#

its 5:20AM now and i should probably go to sleep, but i would be very grateful if someone could help me with these 2:

  1. Right now I can't #include <util/platform.h> (or anything in libobs/util). This is very strange because i CAN include obs-module.h which is in the same libos folder. Does anyone know why this might be happening?

  2. I have the following code:

static void video_data_callback(struct obs_source_frame2 *frame)
{
    obs_log(LOG_INFO, "Frame width: %d, height: %d", frame->width,
        frame->height);
}

static void tick_callback(void *param, float seconds)
{
    (void)param;
    (void)seconds;

    uint64_t current_time = get_time_in_ns();

    if (current_time - last_callback_time > 3 * 1000000000ULL) {
        last_callback_time = current_time;

        obs_source_t *source = obs_get_source_by_name(source_name);

        if (source) {
            struct obs_source_frame2 frame = {0};
            obs_source_output_video2(source, &frame);
            video_data_callback(&frame);
            obs_source_release(source);
        }
    }
}

This all seems to work until it comes time to get the frame. For some reason the frame seems to be completely zero'd out. Am I doing something wrong?

#

I also tried obs_source_output_video() and that doesn't work either

mortal harbor
#

Please suggest plugin for

#

background removal

weak escarp
random rock
#

how to do the rizz smthng?

ruby lichen
ruby lichen
rancid fossil
#

would really like to have that solved for v30

rancid fossil
# stray zenith for windows it generates .dll but for mac i believe it will be .o file

almost 😅 .o are object files generated from source code by the compiler, .so are shared object files used on Unix based on the ELF binary format, macOS uses .dylib and those files are MACH-O binaries, but because you also ship support files and language files with a plugin, we actually use a .plugin plugin bundle (which is a macOS-specific thing)

#

multi-platform development, yay 🥳

short cave
#

Hello guys, i'm new to plugin dev and i want to make a plugin that basically auto generate scenes and sources.
Actually im trying to delete all the current scenes.
I'm learning the API trying to find a way to get all the scene and delete them. I found the function obs_enum_scenes(), but, i dont understand why this function callback would return an obs_source_t instead of a a obs_scene_t directly.
Same thing for the function obs_frontend_get_scenes(), why does it return a source list and not just a scene list. I feel like there is something i dont understand.

So if someone could give me some hints on how to delete all the actual scenes, maybe im not searching the right way.

Thanks

regal breach
# short cave Hello guys, i'm new to plugin dev and i want to make a plugin that basically aut...

I share your sentiments with that returning obs_source_t rather than a scene, but it's too late to make changes now even if i personally complain about it.

If you want to remove the scene, I believe https://docs.obsproject.com/reference-sources#c.obs_source_remove will suffice. You won't need to convert it to a scene.

But if you want to get it as a scene object, you can use https://docs.obsproject.com/reference-scenes#c.obs_scene_from_source essentially to convert it.

regal escarp
regal escarp
glacial haven
#

based on opencv with some fuzzy matching, because usually it's not sufficient to do a 1:1 comparison, e.g. when you compare an original RGB data based image to the same image in the feed it might have been altered a bit by color format or color range conversion, partially blending into the background or other sources, encoding...

#

depending on where in the chain you grab it

#

can also do text or motion detection

#

and then based on that trigger all sorts of actions, so I am not sure whether your use case would really need a new plugin being written

#

but if it does (or you still wanna do it for fun and sciene), then looking at the source of this plugin should probably help you

weak escarp
regal escarp
#

thats super close to what i want

short cave
hard jay
#

scenes are sources

#

just as a note

wise osprey
#

Hello everyone. I'm trying to figure out if it's possible to use a transitional effect on a source, like my vtuber model? I'm trying to get a sort of "teleport" effect like an electric wipe. I know there's hide and show transitions, but I'm trying to set a custom animation if possible.

hard jay
#

What format are you expecting the custom animation to be?

#

You can use any kind of transition on the show/hide

#

There's also the move-transition plugin

#

but if you want the teleport effect you probably can use a stinger

wise osprey
hard jay
#

can probably rig something up with advanced scene switcher that does that

wise osprey