#plugins-and-tools

1 messages · Page 116 of 1

mortal harbor
#

there are videos on youtube taught, on the other pc that I'm going to use for the stream installed or perfect

#

on pc gamer it didn't work

#

Thanks cadeyan

#

Codeyan**

#

❤️

trail hawk
#

Guys, here I am again. I just installed GStreamer plugin in OBS on Linux and I have 2 troubles...

  1. How can I use VAAPI for it? It just doesn't present in the list;
  2. How TH can I use GStreamer source for game capture?

Yes, I copied the message, don't eat me pls >.<

mortal harbor
#

So i'm trying to add python to obs and add the zoom and follow mouse python code. anyone got suggestions for this? It's on my google drive.

[zoom_and_follow_mouse.py] Traceback (most recent call last):
[zoom_and_follow_mouse.py] File "G:/My Drive/Streaming/Twitch/OBS Studio/data/obs-plugins/Scripts\zoom_and_follow_mouse.py", line 2, in <module>
[zoom_and_follow_mouse.py] import pywinctl as pwc # version >=0.0.30
[zoom_and_follow_mouse.py] ModuleNotFoundError: No module named 'pywinctl'

'pywinctl' is installed on the correct python version. no other python versions are on my pc.

#

Who's a smart person that knows how to fix this? 🤔

quiet bramble
spare turtle
#

Just make sure you install it on both game pc and stream pc.

#

Ah it seems you tried installing the obs-ndi plugin from obs forums right. So. If obs-ndi doesnt work for yu. You can download ndi tools

https://www.ndi.tv/tools/#download-tools

(Yesh you needa fill out your details and download link will be on your email.)

Start > ndi tools > then you'll see alot of ndi apps. Use the hx capture (which uses your gpu) or screen capture ( remember ndi tools method is basically same as if you used a capture card. As it outputs your monitor/display feed.) Yesh ofc you can configure it and choose an window etc. From the ndi icon from system tray~

Most people use teleport / virtual cam filter / obs ndi

So that they can have moar control on what video feeds they send via obs.
So yea.

I hope this helps ya.

Also forgot bout this.

You can check if you have the plugin installed in obs via help > log files > view current log.

Just look for obs-ndi.dll i guess
And yesh this is how yu see wut all plugins you have installed. Too.

A sorry for this long long message. I hope it helps and you're able to get it working nee. Take care and have a great day Ahead! joqnixHeart joqnixHeadpat

fathom coral
#

Looks like this is the right place to ask about NDI
My setup is working but I do have a bit of an issue, the quality is absolutely terrible for the settings im using, and is nowhere even close to source.
Is NDI just inherently poor quality or is there something else you need to do other than install the runtime and plugin?
It looks like some kind of sharpening has been applied or perhaps just compression artifacting?
Im not sure how well itll show up but left is literally a recording then recompressed into a video and then uploaded and viewed on youtube
right is NDI capture on the second pc

#

it might not seem major but across the whole frame it looks seriously terrible

mortal harbor
spare turtle
#

found more bout SSSE thingy~

#

so the main question becomes, wut's your processor? ig if it doesnt support, then try teleport and see how it goes~

mortal harbor
#

I'm going to enter the pc now

#

Sec..

#

Will I throw the downloaded file in the folder directly?

#

I tried to run and it gave an error I have already disabled the anti virus

#

or should I move the files to folder?

#

my procss

#

I think the processor really doesn't work! the most fun and that it worked in a celeron

#

this low plug and now?

#

I understood everything about teleport and it worked

#

fck i love u ♥

mortal harbor
spare turtle
#

Ohh good

spare turtle
eager ocean
#

Anyone have success using the Replay Buffer on the Source Record plugin for OBS?

Objective: Have a hotkey that when pressed will record the previous 3 minutes of my camera source (full 1920x1080) as well as the last 3 minutes of clean gameplay footage.

Setup: I've got Source Record and set it up as an Effects Filter to both the camera and the gameplay sources. I have "Replay Buffer" checked and set to 180s.

-If I do Record Mode: None with the effect "active" (eye on) and save the replay buffer that gets me nothing. It saves the normal replay buffer but not either of the ones I've set up in Source Record.

-If I set Record Mode: Always (or stream when it's active) with the effect active it will IMMEDIATELY start recording everything, like the whole 3 hour stream or recording. And still I get no 3 min clip with the replay buffer for each source.

It seems likely I'm misconfiguring something. Hopefully someone can point me in the right direction, a lot of videos on the plugin just brush over the Replay Buffer and don't tell you how to set it up to do what I want.

Thanks everyone!

untold jay
#

@eager ocean i tried to repro your issue and broke my scene collection, but i think i'm making progress

untold jay
#

@weak escarp it looks like the source record plugin will crash on exiting obs-studio in the following scenario: create a new "source record" filter, set "Record Mode" to "Streaming or Recording", enable replay buffer and set it to 180 seconds, then change the encoder to "NVENC"; this also corrupts the scene collection, rendering obs-studio unable to start (obs64.exe runs, but UI will not show up)

oblique yewBOT
# untold jay
🛑 Critical
  • 13.1% Rendering Lag
ℹ️ Info
  • Windows 10 21H2 (OK)
  • No Output Session
Hardware Check

AMD Ryzen 7 5800X - OK! / GeForce GTX 1080 Ti - OK!

trail hawk
#

Guys, I'm freaking done. I need step-by-step instructions for installing VKCapture...

#

Facepalm

#

I hate my stupidity

#

Daaamn...

#

Computers are not my universe

#

Sorry for this, guys

#

I'm just really too stupid

eager ocean
#

I'm sorry I broke your stuff. 😦

trail hawk
#

It just doesn't want to compile it

untold jay
#

@eager ocean of course i make backups before messing with settings, and even if i didn't, i'd learn from this and make backups from that point forward

trail hawk
#

That's why I hate to compile stuff

untold jay
#

@eager ocean as for your issue, i think you might be able to circumvent this by setting start trigger to "virtual cam" and starting virtual camera, and also don't forget to set different filename patterns for each source record

eager ocean
# untold jay <@158822453035008000> as for your issue, i think you might be able to circumvent...

So just to understand/clarify...

  1. Set SourceRecord filter to "Visible" (the eye) and the Record Mode as "Virtual Camera"
  2. Have the Replay Buffer running during stream (as normal)
  3. When I want a capture of the previous 3 minutes, I "Start Virtual Camera"?

What I'm not wrapping my head around is... wouldn't that just start recording the scene the moment I Start Virtual Camera? How do I make it so I'm only getting the PREVIOUS 3 minutes, and not a recording of what's currently happening until I turn it off?

untold jay
#

@eager ocean no, start virtual camera so that the source record filters start their replay buffers

#

you won't be needing the virtual camera, but i don't see a way to tell source record to just start replay buffer and be ready to save replays

#

oh, and set the same hotkey to save all the replay buffers in settings>hotkeys

trail hawk
#

Okay...

eager ocean
trail hawk
#

Guys? :-;

dusty lintel
#

Hey guys is there any follower goal plugin for facebook ? tHONK

soft crown
trail hawk
#

Yes

#

And...

#

How to install it? sudo apt?

winged otter
#

Is there a way to embed obs to my web site so people can watch me live?

versed seal
#

Hi guys, i'm running super smash bros ultimate tournament and i would like to create a obs pluging for editing name, score, bo3/5 right inside of obs and avoid few mouse click and gain some times, i don't know if there is good tutorial to learn how to do it or if someone can take my "order" haha

hard jay
#

There's roughly 38291674975t948828967127847829ft9ds7g7ds84954^84 scorebored resources on our forums you could look at.

#

I'd recommend starting there rather than from scratch.

versed seal
#

well i scratch the forum with plugin and i don't find any of that so if you have a link, sure i will look at it

#

but it's in a separate software witch i don't want

hard jay
versed seal
#

but maybe i don't dig enought into the pluging section of obs !

hard jay
#

There's a ton.

#

Most are just controlled through a web page, which is the most logical way to do it.

versed seal
#

Can you dock this webpage into obs ?

#

cuz i'm tired of altabing 😅

hard jay
#

yes

#

Docks -> Custom browser docks

#

you can dock anything you want :)

versed seal
#

anything if it's a webpage x) not a .exe for example

#

or can you ? 👀

hard jay
#

no, any web page I meant :p

trail hawk
#

I compiled it

#

I installed it

#

But it doesn't present in source list

#

WHAT THE HECK?!

#

I figured out...

#

🤦

#

Well, let's just hope that it'll work now...

jaunty mist
#

Who can help me integrate csv over http into obs as text sources for different graphics?

hard jay
#

Try the support channels.

wooden anvil
#

any have download for this old without chatbot?

oblique yewBOT
harsh topaz
wooden anvil
supple inlet
#

can anyone help me properly set up my alerts and recommend a free overlay that looks cool lol new to streaming and know basically nothing

snow crystal
#

Hi, I'm looking for a nice way to add some kind of banner in the bottom with a name and affiliation of the person who is currently on video. Of course nice fade-in/out animations would be nice. Is there a plugin/script or something like that that helps me with that? Or shell I create something like that from scratch as for example a transparent PNG or so. It would be great when I could easily exchange the text without having to regenerate an image in photoshop or so every time.

analog ruin
#

you can of course make a pretty thing as a png, and slide it in with a text source for instance @snow crystal

snow crystal
analog ruin
#

or just use whatever image you want and a text source + built in show/hide transition (slide right in this case)

jade glacier
#

Hi all!
I am currently working on a custom rtmp ingest service, which would need additional UI widgets (buttons, input fields).
How can I do that?
I was assuming that adding obs_properties in rtmp_common_properties would do the trick. But it seems the UI elements are basically fixed in StreamSettingsUI, is that correct?

quiet bramble
silver pilot
#

Is there a plugin for selecting sub-folders to put recordings into based on Game Capture Source or Scene or something?
Currently I have Profiles for every game I record, the only difference being the Filename Formatting in the Advanced Tab having a different sub-folder as a prefix

I just realised that it would be very weird if you switch Game or Scene mid recording so maybe there is no better solution (?)

jade glacier
quiet bramble
white dune
#

say it with me: service objects in obs suck

wary escarp
#

Yeah we're trying to fix that.
Original plans were getting that into 28, I'm not that confident anymore though

plain wren
#

I tried to download the cam plugin but I couldn't find it

plain wren
#

help

harsh topaz
#

Please don't ping people about support if they aren't already helping you.

hollow stirrup
#

I cannot find the source code of iOS Camera Plugin. It might violate the license of libobs.

hollow stirrup
mortal harbor
#

Hey, I'm new to OBS and i'm looking to build a plugin that allows me to render web pages and do custom UI things with javascript and so forth
I've been studying how obs-browser works, specifically how the browser panels behave and it seems that I need to do something similar in my plugin

What i'm dealing with at the moment is that i have inherited a project that forks obs-browser and has a lot of custom code in obs-browser. I have been tasked
with making a plugin instead of forking obs-browser and I'm just trying to wrap my head around what this all entails

The first step that I am trying to achieve is to have a plugin that when loaded displays a box with a custom web page inside. I'm just looking for some high level guidance on how to build such a plugin. I greatly appreciate any help or where to start.

harsh topaz
mortal harbor
#

so what i'm working on currently depends on browser-client.hpp and browser-app.hpp inside of obs-browser. If these change, the entire codebase will break and I want the plugin to be standalone.

harsh topaz
#

Sorry to ask; what is you're trying to achieve? Outside of "making a plugin" what is the final thing you're trying to achieve with this?

#

Usually there's already solutions in place.

mortal harbor
#

at a high level i'm trying to build something that talks to 3rd party web apis and renders web pages.

harsh topaz
#

Wouldn't a regular page made in most languages and then added as a Browser Dock fulfil that?

#

But as a proof of concept. I'm wondering what it is that the current system doesn't enable that you're trying to do :p

mortal harbor
#

I'm still not 100% clear on why the obs-browser plugin was forked but there is so much custom stuff done here with CEF and state management.

harsh topaz
#

Okay. Hard to know if there's an easier solution to what you're trying to accomplish without knowing what it is. Doesn't sound like you're too sure yourself yet? giggle

mortal harbor
#

there's a whole website embedded in here requiring auth and a lot of stuff that's beyond just rendering a page.

#

yeah definitely not too sure, was thrown into the wild and just trying to grasp what I need to do

harsh topaz
#

Anything you can auth on a webpage, you can auth in a browser dock to my knowledge.

#

A browser dock is essentially just rendering a website in an OBS window.

#

Using CEF, currently version 95 iirc.

dark sapphire
#

once you have a better idea of what you need, you'll be able to ask more specific questions

mortal harbor
#

ok, so the main goal is ultimately to expose a site and many of its features to users as a plugin while in obs. I just know that this was initially done using a fork of obs-browser and has a lot of reliance on internals of obs browser and i guess I can start by just building a plugin that users a browser dock.

dark sapphire
#

is this preferred as a dock or as a new window?

#

are there multiple pages/windows/docks?

mortal harbor
#

yep for sure. there are many windows

#

i want certain pieces of the site to be their own dock or window for example

#

with multiple pieces that you can move around side by side

dark sapphire
#

sounds like it might be better as a separate application altogether? what is the reason for it being integrated into OBS?

mortal harbor
#

it's targeted specifically towards obs users

harsh topaz
#

Sounds like some StreamElements stuff.

mortal harbor
#

yep exactly

dark sapphire
#

have you familiarised yourself with OBS APIs outside of the context of the plugin you're working on?

mortal harbor
#

i have not, i have just been noting everything that is being called currently.

dark sapphire
#

Ah, that's a good place to start.

#

But yeah, definitely start high level first and introduce yourself to each bit rather than overwhelming yourself with how complex OBS and its browser component are on their own.

glass linden
#

Why does obs have plugins and what do they do¿

mortal harbor
#

sounds right, thank you. I think it also doesn't help that i'm totally unfamiliar with QT as well at the moment. I noticed a lot ofQDialog and I don't know how the obs frontend ui things differ from that.

strong tulip
#

Some things in OBS are just subclasses of existing Qt widgets

#

Quite a lot actually

#

So definitely good to familiarise yourself with Qt, although I think one can get away with making a plugin that doesn't involve Qt at all (through things like properties?)

mortal harbor
#

i guess as a minimal POC, i'd love to just be able to put something together that uses whatever existing obs api's and just renders a hard coded web page. I think @harsh topaz provided a good example i'd like to try to reproduce here: https://streamable.com/kqh333

#

i much rather not concern myself with the internals of obs-browser if possible, so my library would just need to call the high level stuff

harsh topaz
#

That example is the built-in browser docks though.

#

Might be easier to create a webpage that'll function in OBS, and simply have users add their unique URL to OBS Browser Docks.

#

Or have a page where they can log in through the browser dock.

strong tulip
#

That's generally better than a plugin (and instantly cross-platform!)

harsh topaz
#

StreamElements ended up doing a lot of work with replacing the entire CEF. Ultimately it just resulted in a lot of issues for end-user.

#

All to get things, that they could literally add simply by adding a browser URL to a dock.

#

Sometimes the end product > the idea.

#

Not only do you have to maintain the website part of it, but you'll also have to dedicate time to constantly fix/update the plugin so users that have it don't find themselves having to uninstall or sit on old versions of OBS to have things work.

It's a lot of dev time dedicated that shouldn't be lightly decided upon, if there's easier or more approachable solutions to solve the same issue.

#

Ultimately, this is what happened when SE did it:

#

!se

oblique yewBOT
#

Due to a number of incompatibilities with OBS 27.2 and newer, we are no longer able to provide support for instances of OBS with the StreamElements plugin (SE.live) installed.

If you need help with StreamElements products or services, please join their Discord server or submit a support ticket as we cannot provide further assistance here.

harsh topaz
#

Normally the chance of a plugin breaking isn't that great - but you're messing with the CEF and what I've seen in that department makes me think plugin devs should try to avoid that :3

mortal harbor
#

makes sense.

#

i don't really grasp the limitations of just adding a url to a dock so I would love for the solution to be that simple.

harsh topaz
#

I think they're the same as any other browser. At least that's been my experience so far. But I'm sure people here will be more than happy to answer that.

dark sapphire
harsh topaz
dark sapphire
#

Nope, just replacing with an older version, and then hacking the cookies.

harsh topaz
#

Wasn't that exactly what SE was doing?

dark sapphire
#

Yes that's what I'm saying. SE weren't modifying cef, they were replacing it. There's a huge difference.

harsh topaz
#

So what they're doing here is.. more complicated

#

but there is so much custom stuff done here with CEF and state management

mortal harbor
#

yeah calls to CEF are done directly

#

i'm trying to avoid having to depend on CEF at all at least directly, and using obs studio builtins

#

if possible haha

dark sapphire
harsh topaz
#

Makes sense. And this wouldn't be affected by CEF updates?

dark sapphire
#

You're the only one who has brought up cef. If you don't fully know how it works, better to let others answer.

#

But yes, a secondary plugin not built into obs browser would not care about cef

harsh topaz
#

Fairly sure he brought up CEF first.

#

But sure.

dark sapphire
#

After that point, it's all about figuring out the requirements and then the right way to achieve them

#

The only challenge I see is initial auth ux. The rest could basically be handled by curl and an auth token for anything behind the scenes

worldly fox
#

Hey guys. I'm sorry if this is the wrong place to post this... Please let me know... So, i'm looking into starting a weather related stream where i do severe weather coverage of a particular event and i was wondering how i could grab the RSS/ATOM feeds from the NWS and have them displayed neatly in a graphic overlay in OBS when a warning is issued. And, maybe even have an audible alert aswell. I've been looking into this all night to no avail. Much appreciated!

dark sapphire
worldly fox
#

Uhm, well. None! if i had the money i'd love to pay someone to code something up like this. Not knowing how complex a system like this is one thing. My alternative is to just have a capture of the the IOWA state mesonet and have it update when a warning is issued....

#

Okay... I've messed around with node/java/c++ but as someone who is lower than a script kiddy. I essentially know nothing.

wary wasp
#

Sounds like a great learning project honestly

worldly fox
#

Learning Curves!

dark sapphire
#

I think it's perfectly doable by a relatively experienced developer.

Long story short:

  • RSS can't be subscribed to, so you'd have to fetch on a timer
  • when the RSS feed contains a new entry, display an element & play a sound
  • handle the RSS feed containing multiple entries at once

Depending on how complex you want it, this is probably a 1-3 hour job for someone who knows what they're doing. If you'd like to learn to do it yourself, I could easily see this only taking up to a day or so

worldly fox
#

Okay, what do you think a job like this would cost to develop on an app like... fiverr? is this even something you'd consider?

dark sapphire
#

If you have experience in Node, then I think you'd be able to find your way around this. If the RSS feed is set up a certain way, nodejs would basically be required due to CORS.

worldly fox
#

I have a decent system to run whatever it needs. I'm in the works of getting my old pc in to stream for me, via elgato capture.

#

I'm kind of in a hustle because tomorrow the midwest is outlooked for a 3/5 for severe storms and i'm looking to get this whole thing started then. But, if i have too for a few days i can go without it.

worldly fox
wary wasp
#

I would definitely direct you towards obs-websocket for the OBS side. You'd want to make an image source and a text source

On new alert:

  • SetInputSettings - Change the text source to the text that you want the alert to have
  • SetSceneItemEnabled - Enable the text input (aka source)
  • SetSceneItemEnabled - Enable the image input (behind the text)
  • SetSceneItemEnabled - Enable a VLC input with your alert sound
    • You'd set the source to stop when not visible, so that when it's shown it plays the sound from the beginning
  • Wait for the period that you want the alert to display
  • SetSceneItemEnabled - Disable the VLC input's item
  • SetSceneItemEnabled - Disable the image input's item
  • SetSceneItemEnabled - Disable the text input's item
dark sapphire
#

Cost on fiverr really depends on how fancy you want it. Something basic? maybe $50. Something fancy, $100? As long as you properly communicate what you're after and the person you're talking to has some idea of what alerts look like.

#

Though in my example I'd do this via a pretty basic webpage.

wary wasp
#

You can also do a webpage if you'd like, as matt is suggesting

worldly fox
#

Awsome, so. Matt. If you're me what would your course of action be for now?

dark sapphire
#

Step 1, find existing alerts/systems that look/behave the way you want so you know what requirements to communicate.
Step 2, find a web developer with some spare time.

worldly fox
#

Awsome! Thanks so much. hopefully i'll figure this out! i appreciate man

midnight slate
#

for some reason i can't find the basic timer people use for speedruns and stuff would anyone know where to get it

harsh topaz
#

@boreal hearth hey. I tried the new build from 5 days ago, and it's crashing on me when I try to add a widget.

Unhandled exception: e06d7363
Date/Time: 2022-05-04, 17:45:30
Fault address: 7FF956414F69 (c:\windows\system32\kernelbase.dll)
libobs version: 27.2.4 (64-bit)
Windows version: 10.0 build 19044 (release: 2009; revision: 1645; 64-bit)
CPU: Intel(R) Core(TM) i9-10900X CPU @ 3.70GHz


Thread 8A94: (Crashed)
Stack            EIP              Arg0             Arg1             Arg2             Arg3             Address
000000686F500D30 00007FF956414F69 000000686F500E90 00007FF88A123599 0000006800000010 00007FF94D803220 kernelbase.dll!0x7ff956414f69
000000686F500E10 00007FF94DA26480 000001A19C3FC8F0 0000000000000000 0000000000000000 000001A19C3FC960 vcruntime140.dll!0x7ff94da26480
000000686F500E70 00007FF94D793626 000001A19C3FCA00 000000686F500FE0 000000686F501050 000001A19C3FC8F0 msvcp140.dll!0x7ff94d793626
000000686F500ED0 00007FF94D7935D1 000001A2136E3350 00007FF9588947B1 000001A19C3FCA00 000001A1AD530000 msvcp140.dll!0x7ff94d7935d1
000000686F500F00 00007FF92736BC8D 000000686F501040 000001A19573BC00 000001A19C3FCA00 000000686F501050 durchblick.dll!Layout::Save+0x1ed
000000686F500F80 00007FF927366A2F 000001A2136E3350 000001A19573BC60 000001A21133BF90 000001A1956EA480 durchblick.dll!Durchblick::Save+0x48f
000000686F501010 00007FF9273714AF 000001A100000000 000001A100000008 000001A2136F3EC0 000001A19573BC60 durchblick.dll!Config::Save+0x9f
000000686F5010D0 00007FF927368ECA 000001A21133BF90 000000686F505BF0 0000000000000000 00007FF800000002 durchblick.dll!Layout::AddWidget+0x11a
000000686F501150 00007FF92736DED2 0000000000000001 000000686F501271 0000000000000000 00007FF88AB2AF02 durchblick.dll!NewItemDialog::ok_clicked+0xa2
000000686F5011A0 00007FF88A0E0B37 000001A213394090 000001A200000007 000001A19BCA3820 0000001600000001 qt5core.dll!0x7ff88a0e0b37
000000686F5012F0 00007FF88ABEEB81 000001A1AD5989C0 000001A1AD5989C0 000001A213394090 00007FF88AB667E3 qt5widgets.dll!0x7ff88abeeb81
000000686F501320 00007FF88ABEF5C7 0000000900000023 000001A1AD5989C0 000000686F5013B8 000000686F501CE0 qt5widgets.dll!0x7ff88abef5c7
000000686F501350 00007FF88AB477FC 000001A1AD5989C0 000001A1AD5989C0 000000686F501CE0 000000686F501CE0 qt5widgets.dll!0x7ff88ab477fc
000000686F5013E0 00007FF88AB24980 000000686F501CE0 000000686F501510 0000000000000000 000000686F501510 qt5widgets.dll!0x7ff88ab24980
000000686F501410 00007FF88AB228A0 0000000000000000 000001A1AD540540 000000686F501CE0 000001A1AD540540 qt5widgets.dll!0x7ff88ab228a0
boreal hearth
#

nah that's the right build, I assume you still have a layout from the last version that is being loaded?

harsh topaz
boreal hearth
#

an existing layout file I guess. Can you try deleting it? It should be somwhere in %appdata%/obs-studio/

#

I don't know the exact folder right now but there should be a plugin config folder which contains a durchblick folder with a layouts.json file

harsh topaz
#

@boreal hearth deleted file - still crashed.

boreal hearth
#

strange, I'll see if I can reproduce it

harsh topaz
#

It didn't crash until I right clicked > add widget > selected a source and pressed 'ok'

#

Then it crashed.

#

And it didn't seem to re-create a 'layout.json'

#

Folder is at least empty.

boreal hearth
#

yeah it crashes when saving

harsh topaz
#

👍

boreal hearth
#

@harsh topaz can you try the latest nightly? It should (hopefully) work now

harsh topaz
#

@boreal hearth That version doesn't seem to have a problem. I deleted layout.json in advance just to be sure this time. Added a source, np. Changed scene collection and back - seems to have remembered my setup hypers

boreal hearth
#

nice

dusky roost
#

Are there any plugins that adds more transitions to the image slideshow? I'm looking for a "flip" option that would spin the image to the other side to reveal the next image. I'm struggling to find anything thonk

mortal harbor
#

Are there any plugins that are useful for YouTube streaming? If anyone knows of a plugin that would bring in info similar to the Twitch Activity feed and Stream info Docks that we have for Twitch? As far as I can tell those dont pop out like they do on Twitch so I can't make custom docks.

analog rock
#

Okay I am going to throw out a rather broad question but I am at a total loss and I feel this maybe a super easy fix. On animated lower thirds I click on Main and it turns blue. I click on any lower third underneath and they do not turn blue. Any advice?

lofty moss
#

Hello just wondering if any one could help me I use obs to stream to Facebook and my Facebook chat dose no longer come up on obs

hollow palm
#

Hey people! I am wondering if it is possible to disable a window capture when you're not clicked on it? I'm gonna be starting my dnd stream soon, and I want my character sheet to pop up ONLY when i'm clicked into the window...

cyan peak
hollow palm
#

Can I get directed in the right direction? Cause I just got told to put it here...

harsh topaz
#

Make a macro that shows a source when 'program is in :focus'

#

🙂

hollow palm
#

Hm. Do I have to restart my obs for that? I'm guessing so.

harsh topaz
#

Do you mean something like this?

#

(Just making sure I'm not misunderstanding)

#

Yes, you need to restart OBS to install plugins.

hollow palm
#

Kind of. But it's something i'm using. Such as scrolling, clicking etc. So not a browser source

harsh topaz
#

You can select any program.

#

This is just 'Chrome.exe' selected.

hollow palm
#

Okay so you could for example scroll in that source?

harsh topaz
#

What OBS does here is:

Make a scene =>
Add a source to scene (Your program) =>
Add a show/hide transition on that source =>
Use the plugin (Advanced Scene Switcher) to show/hide that source depending on whether or not you're focused on whateverprogram.exe

#

So it's a combination of OBS & Plugin.

hollow palm
#

Alright i'll try that out when I finish streaming,.

harsh topaz
#

So every time you click into the program; it would show the program on your scene, and whatever you're doing in there.

#

Alright 🙂

hollow palm
#

I have the program but it ain't working

harsh topaz
#

You have to go to 'Macros' and create a macro.

#

Add one in the bottom left corner. Then on the right side, you have two halves. Top = Conditions, bottom = Actions.

#

Conditions = "If this happens then"

#

Actions = "Do this"

#

So in conditions you'd want "If process myprogram.exe is running and CHECK is focused"

#

And on actions you'd want "Show scene item visibility of MYPROGRAM SOURCEE to show"

hollow palm
#

But what if there's multiple pages o

harsh topaz
#

Once you get the basics of Adv-ss it's fairly intuitive, and vastly powerful.

hollow palm
#

Of the same program

harsh topaz
#

Doesn't matter. It just checks "If you're inside this program, show source"

hollow palm
#

Well yes, but hold on

harsh topaz
#

and your source will be the program added to OBS as Capture Window (probably)

hollow palm
#

So to the right is my character sheet, and in the middle (same program (Edge)) is the map and stuff.

#

I'm always on the map

harsh topaz
#

So I'm not entirely sure how it manages multiple application sources. I'd try and just add it? Worst case scenario, use two browsers.

#

Chrome/Edge are essentially the same browser these days giggle

#

It doesn't appear it's currently able to differentiate between different windows of same process.

hollow palm
#

Damn....

harsh topaz
#

I asked the dev if that's possible to implement. I'll let you know what he comes back with. Warmuptil is pretty epic at feature requests 🙂

hollow palm
#

Awesome!

harsh topaz
#

It's under its own condition 'Window'.

hollow palm
#

Awesome!

#

Thanks so much. Thgat helped a bunch ❤️

harsh topaz
#

🙏

quiet bramble
#

@harsh topaz Ok, I've tried the StreamFX Corner Pin finally. It works great overall but yeah, without antialiased edges it is a bit harsh in some use cases. It's better than any other solutions I've tried though. I talked to Xaymar before about anti-aliasing what I was working on, but never got something working. I'm going to look into it some though and see if there's an easy way to do it.

mortal harbor
#

hey is there a documented way of depending on an existing plugin? I want to depend on obs-browser at run time and access its available API. I found one plugin that does this here: https://github.com/own3d/own3dpro-obs-plugin

But this doesn't build on my m1 mac and also they're dependent on custom and out dates releases. I tried mimicking their mechanism myself and making a very simple plugin that depends on the official obs studio template:
https://github.com/tobocop2/obs-studio-plugin-demo

^^ code compiles fine but completely crashes obs studio when installing it on both mac/windows. The goal for my initial POC is to just print the obs browser version when launching obs studio but I'm at a loss and i'm not super experienced with C++ and in general building anything like this (i come from a strictly server side web background)

The technique used in the own3d plugin seems like magic to me, it's loading the library at runtime and copying the interface into the plugin and accessing information using os_dlsym

I greatly appreciate any guidance.

quiet bramble
#

I found the code that the StreamFX corner pin is based on, written (and credited) to Inigo Quilez. Inigo's shader on Shadertoy has somewhat smoothed edges but on closer inspection it is because he is drawing an antialiased border around the image, but if you comment that out, then it is not anti-aliased either.
https://www.shadertoy.com/view/lsBSDm

#

I think the way to anti-alias the edge of corner pin, might be detecting edge pixels and calculating how far into the pixel the vector edge is, and use that as a threshold to smoothstep() to blend the source pixel with background

#

not quite sure how to do that though

signal stirrup
#

Anyone know anything about NDI ?

vagrant minnow
signal stirrup
#

Im just using it as a cam host from the second system

vagrant minnow
#

I figured your reasoning wasn't the same as my cheap at the time ass. 🙂

signal stirrup
#

lol

obsidian flicker
signal stirrup
#

Trying to figure out why since i installed the ndi plugin my main system on the bottom is experiencing major rendering lag whether or not the upper system is on or off its been about 2 weeks now! Todays full rebuild and clean install has dramatically reduced it but it’s still present.

obsidian flicker
#

How are you connecting the two machines?

#

Is it the obs NDI plug-in or actual NDI?

#

Or both?

quiet bramble
#

@harsh topaz I almost got antialiasing working with Corner pin!

#

got it

#

That's with the original on Shadertoy. Now to figure out how to make it work in StreamFX 🙂

void forge
#

how to control multiple discord voice channel on obs?

#

IS it possible

#

?

obsidian flicker
void forge
#

Wdym?

#

I thought a New plug came out lately that could do that. For now every voice are in 1 Channel . I d like to control the volume of any voicechat user from discord in obs.

#

I have 1 Channel audio from discord this IS Split with my other audio sources

#

But i want to change the volume of the voices that are inside a discord voice channel in obs and not in discord

#

Do i Make sense

mortal harbor
void forge
#

Owww

#

So no way to have every discord user on a separate track in obs....arfffff.....how Can i stream 1 Guy on 2 but still Hear both of them

mortal harbor
void forge
glass trail
void forge
#

Ok Ty again guys...Hope they will make something to be able to do that

#

If it s even possible on day^^

maiden prairie
#

is there a plugin that allows me to retrieve foobar2000 playing information for OBS?

#

i can't access skipyrich's site unfortunately and i don't know why

untold jay
#

@maiden prairie i think i have it downloaded

#

^ this goes into "components"

#

you'll also need this one

#

and then save into a json file, with this formatting:
{ "nowplaying": { "playing": $replace(%isplaying%,'?','0'), "paused": $replace(%ispaused%,'?','0'), "albumartist": "$replace(%album artist%,'"','\"','\','\\')", "album": "$replace(%album%,'"','\"','\','\\')", "artist": "$replace(%artist%,'"','\"','\','\\')", "title": "$replace(%title%,'"','\"','\','\\')", "tracknumber": $add($replace(%track number%,'?','0'),0), "length": $replace(%length_seconds%,'?','0'), "elapsed": $replace(%playback_time_seconds%,'?','0'), "path": "$replace($directory_path(%path%),'"','\"','\','\\')" }, "config": { "fadeout": 4 } }
fadeout can be tweaked

maiden prairie
#

thanks

trim kayak
#

whats a good plugin for cam shaders/ FX? like earthquake, color changes etc.. ive checked out Nutty's OBS shaderfilter video, but it's a broken link to obs studio forums.

trim kayak
vale vine
trim kayak
#

ok i think i got it, dll in plugin folder

vale vine
#

Not entirely sure. And yea, it looks like the releases are no longer on github for the first one I linked. But there are install directions.

#

Sucks when good assets get yeeted from obs site but apparently the author was being kind of a jerk

trim kayak
vale vine
#

Yea. Shaders are hella fun

harsh topaz
trim kayak
#

hmm, apparently stream FX can do those things, i just need to figure out redeems and how to transit from normal cam to shaders and back to normal cam

signal stirrup
vale vine
#

thats for my "demon cam" filter

trim kayak
#

i need a tutorial but so far i havent found a good from zero to hero tutorial XD

vale vine
#

i use source mirrors for my cam because i crop it differently in different scenes. for shader filters alone, you wouldnt need that

#

because filters can have an off/on state

trim kayak
vale vine
#

yes. see my example above

#

hidden = off
visible = on

#

I highly suggest checking out andi lippi on YT. He has several tutorials

trim kayak
quiet bramble
# trim kayak oh thats an updated version?

No, OBS Shaderfilter Plus is a completely different shader filter written in Rust with GLSL support, and FFTs. It is not a drop in replacement for OBS Shaderfilter despite the confusingly similar name they are unrelated to each other.

#

OBS Shaderfilter Plus is primarily more for developers who want to write their own shaders in GLSL instead of OBS's HLSL derived shader language, or who want to write their own custom audio visualiizations using its FFT support.

#

It's not of much use to non-developer end users (like most of the 7 or 8 shader plugins). Non-developer end users pretty much should stick to using OBS Shaderfilter which comes with around 100 or so usable shaders and doesn't require custom development to use, and StreamFX's shader support which is overall more capable but not as many ready to use examples. I recommend having both of these plugins as they are a good combination together.

#

Just note that OBS Shaderfilter is more or less unmaintained at this point so may stop working in a future OBS release unless someone forks it and takes up maintenance.

#

I wouldn't let that discourage using it though.

trim kayak
#

yeah ill try some of the features in streamFX for now

quiet bramble
#

Note that it is mostly trivial to convert a shader from one of the plugins to one of the other plugins if one knows how to code shaders. Usually takes between 3-20m or so.

trim kayak
#

thats not something im familiar with

quiet bramble
#

The author of Shaderfilter actually ported a shader or few of them from his own plugin to StreamFX a while back, although I don't think he followed up with more since. Haven't seen him around anywhere in ages.

#

That suggested to me that he is probably using StreamFX for shaders himself nowadays and not using his own fork of Shaderfilter anymore

#

I don't think anyone is interested at this point in taking over Shaderfilter though, it's quite a niche thing to begin with and there are a number of limitations and problems with it, none of which take away at all from its current utility for end use mind you. 🙂

#

I use it heavily so plan to try to fix the bugs I know of myself, but if I do that I will probably only post source code updates in a fork on github as I don't want to maintain a public binary of it either.

#

(I just discovered last night that Shaderfilter leaks tonnes of memory)

vale vine
#

Simple solution to leaky memory. Just download more

quiet bramble
#

Who needs to fix memory leaks when you can just have enough RAM to not care right? 😛

mighty crystal
#

hey uhh.... anyone know the OBS Midi plugin? Has anyone ever thought of fixing the midi mapping loss after obs relaunch? Or is there like an alternative that doesn't lose the midi mappings. I myself have thought of trying to fix it but then I remembered, I can't program obs plugins lol

#

It's kinda annoying to have to remap my custom made streamdeck, it takes a bit but eh. Really it's not that bothering, but imagine having to remap your elgato streamdeck each time you launched obs.

#

ngl I think that using midi devices to control obs stuff should be like a in-built feature.

#

[wait there's an external program that can be used to do this.... might work...]

quiet bramble
#

There are a number of MIDI plugins for OBS, but I'm not sure which ones are the most recommended and maintained currently.

#

It's something I need to dig into myself very soon though too.

mighty crystal
#

there obviously is obs-midi which is very simple, works great, but tends to just clear all your mappings after an obs restart. there is midi control but it's an external program which makes use of the obs-websocket plugin to send commands, trust me I'm too lazy to do all that websocket stuff, I just want it all to be in obs lol

#

there is also obs-websocket-midi... my god how many websocket things does obs have

#

ok nope not obs-websocket-midi, it can only switch scenes lol

quiet bramble
#

Websocket is a powerful way to control OBS externally, and the added benefit is that it can be done across a network, and that if the software crashes, leaks memory etc. it isn't crashing OBS itself, nor leaking memory inside of OBS.

#

The more things that can be implemented via websockets outside of OBS the better.

mighty crystal
#

aight, might try to use it, also what does it mean when a program "leaks memory"? Like I've heard this phrase so much but I don't know what it means lol

quiet bramble
#

Good question! Programs dynamically allocate memory as needed for things at runtime, which requests an amount of memory be given to them by the operating system. One of the more common ways to do this is using the malloc() memory allocator. If the operating system can oblige the request, it returns a memory address pointer to the program that is to the size of the memory block it requested. It is then the responsibility of the program to keep track of this memory pointer, and when it is no longer needing/using the memory to free the memory back up, giving it back to the operating system with free(). A memory leak occurs when a program allocates memory, and then due to programmer error, forgets to free the memory when it is no longer in use and loses the address that references the memory, so it is memory currently allocated to the program but that the program can no longer use for any useful purpose because it doesn't remember it has it or where it is.

#

Kind of like someone buying bitcoin and then losing their bitcoin wallet so they can never access it again.

#

🙂

#

So, if this memory leaking occurs multiple times, due for example to the function in the program that is leaking memory being called multiple times, then you end up with multiple memory allocations that get lost and accumulate consumed memory as long as the program is running. Only when the program finally exits does the operating system recover the leaked memory back into the pool for use by other programs.

mighty crystal
#

huh, I mean, I've never had any program leak any memory on me, at least not that I can remember, I've got 8gb of ram so if there would be any leaks I'm sure that I'd do just fine, unless the leaks would be huge... [good thing I installed some mods for mc to reduce ram usage]

quiet bramble
#

I can guarantee you that you have experienced programs that leak memory as it is one of the most common programming bugs of all time in the C programming language (and many others). You wouldn't necessarily notice anything however unless it becomes problematic.

#

OBS 27.2.4 I just confirmed last night, when ran once and exited, leaks memory (it reports it in the log file)

mighty crystal
#

would random slow-downs after closing/running a program be a sign of memory leakage?

quiet bramble
#

What is even worse, is when drivers or other operating system code leak memory, because that is usually in non-paged memory pool which is physical RAM, so a driver leaking will gradually eat up all system memory and cause an out-of-memory condition that can only be recovered by a reboot.

#

A common symptom of a problematic memory leak is random slowdown of the computer after a while, followed by random programs that were running getting killed.

mighty crystal
#

that could just be because spotify uses my cpu more than like windows groove music

untold jay
#

i wouldn't trust spotify with their desktop software, i'd run it in a web browser

quiet bramble
#

What happens is that as the memory leaks accumulate and the process leaking them gets larger, if the memory was actually used by the program, it consumes physical RAM. Eventually it will consume all physical RAM and the operating system will page out least recently used RAM to the swap file, freeing up more physical RAM for programs to use. This will eventually either max out the maxiumum swap file size and cause an out-of-memory condition to occur, or if a dynamic swap file size is used it will cause the OS to keep adding more and more swap space, essentially turning your HDD or SDD into more RAM continuously. But since swap is significantly slower than RAM, eventually the ratio of physical RAM to swap ends up causing a condition known as swap thrashing in which the system will grind to a halt basically livelocked, all of the resources basically spent continuously swapping things to and from disk without much actual work being done. The only recovery from this usually is to hard reset the computer.

mighty crystal
quiet bramble
#

When out-of-memory condition occurs, the operating system tries to make intelligent diagnosis of what program(s) are going wild on memory use, and kills them one at a time until the problem stops, which is why you see random programs get killed

#

It's hard to determine is something using a lot of memory because it just needs a lot of memory, or is it using a lot of memory because of bad programming.

#

Obviously the OS wants to kill the latter and not the former, but it can't always get that right. 🙂

mighty crystal
quiet bramble
#

Another possible sign of something leaking memory, is if you look at it with task manager details or similar program with all of the memory related columns enabled, and you see the program's working set increasing regularly over time ongoing, and there is no obvious reason why it should be doing that.

#

When system sluggishness or randomly crashing programs occur if one suspects something may be leaking memory, a good thing to do is to check task manager to see if any running programs have ridiculously oversized amount of memory use beyond what seems reasonable, and if so it's probably leaking memory somehow. If no programs seem to be in that state, then look at the non-paged pool.

#

If the non-paged pool is excessively large compared to the total amount of physical memory in the system, this usually indicates you have a bad video or audio driver or some other bad driver that is leaking unswappable memory.

mighty crystal
#

ye cool, didn't know that windows had an non-paged pool counter in the performance tab

untold jay
#

might also want to check commit charge, memory swapping causes slowdowns on SSDs too, but HDDs are noticeably worse

mighty crystal
#

ok I tried that midi control program aaaand it does not recognize my streamdeck, sooo yeah that's going in the bin lol, I'll leave the obs websocket plugin tho

quiet bramble
#

Well, if you have a Stream Deck, various things on the Stream Deck use websockets to communicate with OBS

mighty crystal
#

well it's a custom made streamdeck that runs on an arduino pro micro (aka a tiny arduino leonardo) and welp, the program did recognize my controller, after a relaunch

#

Still, that program was a bit jank, I'll use the plugin for now, it might get an update one day which fixes the midi map loss

atomic horizon
#

Is there a plugin for secondary color correction

#

?

quiet bramble
atomic horizon
#

Nah can i get linked it?

quiet bramble
atomic horizon
#

TY

late thorn
#

Is there a Restream chat plugin?

mortal harbor
#

you can add it as a chat dock i think

#

!chatdocks

oblique yewBOT
#

To enable Chat docks for Twitch, Restream and YouTube, you will need to connect your account via Settings -> Stream.
If you'd like to enable chat docks for other services, you can use the Docks menu in the top menu bar, then select Custom Browser Docks. This allows you to include any webpage in OBS.

harsh topaz
mighty crystal
#

also, small q, how do I make custom transitions in obs? Just out of curiousity, I'm currently using the default Luma Wipe: Swipe from top-left transition as it is nice, although I wanna try making custom transitions like it switches to an animated image or smth and then to the scene I want it to go to

mighty crystal
#

ye ik those... I wanna do something really custom, that is what I specified, scene a - transition to image/animation - transition to scene b

harsh topaz
#

That's a Stinger.

#

Add: Stinger

mighty crystal
#

oh wait... OOOH.... I'm dumb

#

also cool custom theme for obs

harsh topaz
#

Add file. Decide when it changes from scene a/b. Possibly add track matte for showing both scene a/b at the same time.

mighty crystal
#

ty

#

so with the stinger thing, I need like an animation with a black/green/red/blue bg for where the video feed is going to be?

harsh topaz
#

If you're using track matte, white/black.

#

If you're using regular transition you just need transparency where you want it - and fullscreen your transition with something where you want to make the transition (transition point).

#

so, .vp9 > .webm

#

or .mov if you don't care about file size.

#

ProRes or something.

mighty crystal
#

so let's say the transition animation was made in like krita or smth, I would need to have it in .vp9 with a black/white background where the feed is supposed to be, got it

harsh topaz
#

When using trackmatte, black/white represents Scene A/B.
When not, transition point determines when the scene changes from A > B.

#

So obviously you'd want transition point to be at a place where the screen is all covered in an animation so you don't see it change.

mighty crystal
#

so let's say the animation takes 300ms, and the point of covering the entire screen is at 150ms, so I'd just have to put the transition there and I'd be fine right?

harsh topaz
#

Yes

mighty crystal
#

Cool

mortal harbor
harsh topaz
mortal harbor
#

I’m looking for a plugin that can play specific audio tracks in a video file and mute others. Anyone know of anything like this?

mighty crystal
#

hey uhh, is there a plugin for capturing the twitch chat and showing it on the video feed? Same for alerts and stuff, obs doesn't seem to have that built-in, ik that there exists streamlabs obs which already has this stuff set up but trust me, I've tried it, it uses way too much of my cpu and streams are just a black screen with choppy audio. through regular obs I can stream at least decently

mortal harbor
mortal harbor
mighty crystal
#

huh, so alright, I guess I'll go for no chat/alerts for viewers. I'll just have to check the twitch activity panel in obs from time to time for stuff like donations and subs, and also do the same for chat

#

(I'm too lazy to set all this up lol)

mortal harbor
#

i mean, getting a chat on your stream is about 2 minutes of setup so its fairly easy

quiet bramble
#

@harsh topaz First successful anti-aliased corner pin experiment...

quiet bramble
#

soon... I had some difficulty trying to modify the StreamFX shader so I temporarily converted it to OBS Shaderfilter which is my working test case currently. Once I polish it off and look for optimizations, I'll be converting it back to StreamFX and possibly submitting it for consideration to StreamFX

#

No noticeable GPU cost that I can see from the method I am using

#

Basically it is the same way I anti-aliased the rounded rect, and other stuff lately, it is a method that works great.

fervent wind
#

Heya 🙂 A while ago I was given a link to a plugin that can enable OBS to control the volumes of separate programs without needing Voicemeter Banana but I can't find the link now. Does anyone know the link please ?

oblique yewBOT
fervent wind
#

THAT's the one 🙂 Thanks very much 🙂

quiet bramble
harsh topaz
#

Yea looks good.

mighty crystal
#

hey, I know I've probably asked a lot of questions in one day, but does there exist a plugin which adds a timer to the "add source" tab?

mighty crystal
#

ty

#

that is a lua script and idk how to run those, also like once ran does it work like a plugin or more of like external stuff? 'cuz I'm looking for more of a plugin

harsh topaz
#

Then you set it up how you want it. Point it to the source you want it to work on.

#

Then you go to settings > hotkeys and set a hotkey for the timer.

mighty crystal
#

huh, cool

mighty crystal
#

is it obs-studio/data/obs-scripting?

harsh topaz
#

You can put the file anywhere I believe and just select it.

mighty crystal
#

ok now I know how to do it, it's the tools tab, ye I'm dumb sometimes lol

limpid apex
#

Hello

#

Using the NDI source and Screen Capture HX to capture a monitor on another computer for streaming. Should the captured monitor be the same resolution as the OBS canvas?

quiet bramble
#

It's ideal for the best 1 to 1 relationship between the device being captured and what OBS will be outputting but it isn't a requirement. It's ideal to set your canvas size to whatever resolution you will be streaming and/or recording at, whichever is larger, then scale up or down your sources to fit.

limpid apex
quiet bramble
#

Also, if the source is something that may have a resolution that changes, such as a game capture depending on the game and how it is configured, if you change the transform to use Center positional alignment, center the source on the screen and then apply a Scaling/Aspect filter to it set to "Scale to Canvas", the source will always fill the canvas even if the resolution changes.

quiet bramble
quiet bramble
# atomic horizon Much appreciate that

I've got a beginning prototype that works, but it suffers from the same problems that selective color does on live video. I'm curious what your usage case is, ie: what type of content are you wishing to apply the effect to?

#

I ask because if it is to perform secondary color correction on still images such as a background image, that should be done in an image editing program so as to not cause runtime GPU wastage processing a still image on the GPU continuously. If it is for pre-recorded video, footage, then it should be done in a video editor so that it is precalculated and again does not incur runtime GPU cost. If it is for live video from any video capture source of live video, then it is a bit tricky, because however it is configured, they are static configuration that will apply to the entire source/scene it is applied to with no variation, so if the content changes dynamically, a lot of color error could occur, much like with the selective_color shader from Shaderfilter (although it's still a fun shader).

#

Like many filters, it also does not work well with images or video which have been encoded with lossy codec algorithms. The whole "the human eye can't tell the difference" aspect of lossy video is only somewhat true with enough data bitrate, but goes in the trash can when post processing is done on the lossy content turning the "human eye can't see it" parts into "the human eye bleeds from all corners". 🙂

#

There is also no trivial way to perform live video motion tracking that would work well enough to eliminate sources of error with masking.

#

Someone could write something in OpenCV, but it'd be spotty at best I reckon.

#

Anyhow, I'm curious what the usage case is, as it may help to envision better ways to solve some of the problems for a given use case.

quiet bramble
#

Inadvertently, it can be used for selective color function now too with the addition of a greyscale background option. Ok, so maybe not entirely inadvertently. 🙂

vapid charm
#

Jesus frigging Jaundice whenyahomiesaysomewildshit

rare swift
#

Im having a little issue and that is that win-capture audio for OBS isnt working for me, i installed it many times and its still not working and showing for me in OBS

atomic horizon
# quiet bramble I've got a beginning prototype that works, but it suffers from the same problems...

Well. When ever i edit my videos i uses a small color correction in vegas pro to help colors come out more. So i thought to help streams to do the same. With the plugin suggested i tried to match the settings. I use vegas pro to edit so these would be the "changes" i do So i just wanted to match for stream so it looks good across videos and streams. As for what id use it for in stream content it would be across anything i stream since im variety of stuff.

quiet bramble
#

I'd recommend trying the OBS Color Correction filter, and StreamFX Color Grading filter, and if there is a particular feature missing that you'd like to see, screenshot it and perhaps make a video demonstrating how it works or something like that if possible, showing all the controls. I do have something working here as shown above, but it's probably no where near complete to something like what the pro NLEs can do. 🙂

#

No DMs please, this channel is both for help with, and development of plugins and tools, so our discussion is on topic here. (it's in the Development category technically)

vale blaze
#

does anyone know how to get Shaderfilter to work on cropped sources ?

quiet bramble
#

Mind you, if you are cropping a source, you SHOULD be using the Crop/Pad filter before applying any other filters/shaders to the source rather than the Transform dialog's crop (the drag and drop stuff), otherwise the filter/shader is processing the entire source, then throwing away a lot of what it just did because it gets cropped after.

#

Crop/Pad should be placed before any expensive filters.

vale blaze
#

ah i see, so using the crop / pad filter is preferable to holding ALT and cropping ?

quiet bramble
#

It depends on the use case. The Transform crop/pad is done after the scene is composited completely, meaning all of the filters/shaders applied have done their work, then crop happens. If there are no filters then it is fine, however if there are filters, it wastes GPU resources having the filters do all of the work on the entire image, then cropping part of it away. For example, it is like taking a 4'x8' sheet of plywood, then putting expensive paint on the entire sheet first, then cutting it with a saw later and throwing away all of the scraps. Big waste of expensive paint. This is the digital equivalent. Cut first, paint second. 🙂

#

Still curious what your shaderfilter problem is though.

vale blaze
#

im using shader filter to round edges on a source, but if i want to crop the source (previously just using ALT dragging instead of padding) it wouldnt adjust the size of the filter, 1 solution i found was to put the filter on a group and then crop the source within the group, as the group will resize itself the filter is always correct

quiet bramble
#

Ah yes, because you're rounding the corners of the original source, and then cropping it off after. The Crop/Pad filter placed before the source instead will fix that.

quiet bramble
#

Yeah, it's always more sensible to do math on less pixels rather than more, if they're going to be discarded anyway.

#

The one gotcha, is that it is not immediately obvious when OBS is applying the transform crop from the user interface, but it is at the very end before display.

vale blaze
#

nice! well i got there in the end, it works qutie well 😄

#

*quite

atomic horizon
#

Here this would be my Vegas settings

#

And this is my trying to replicate it one to one in obs

#

I tried to the best of my understanding to make things one to one to each other but im fairly certain theres something i did wrong

quiet bramble
#

My current code operates in the HSL color space and more or less does most of the above minus the smoothing part which I wanted to explore next, and the chrominance part which I'm not completely sure what that's doing

#

Also a bit confused by Hue, Saturation, Luminance being the names, as HSL is Hue, Saturation, Lightness. Would need more info on what color space they're using more explicitly to try to clone it. But I can just wing it with HSL too, or even put a chooser to select a color space.

#

Not sure what the mask options are doing but if they are motion tracking, that's off the table for sure. 🙂

#

For static masks, the OBS Image Mask can be used in conjunction, or the StreamFX dynamic mask although I'm not sure how one would combine that into something useful per se. I'd probably have to use the tool a bit to see how it works.

atomic horizon
#

That could work. I had to wing it when inputting the values seeing as obs uses percentage while Vegas was decimals.

#

I think the saturation and all gain values were where I winged it because I couldn't from my understanding do it one to one

quiet bramble
#

Everything's done in floating point inside the shaders

#

So the top photo is Vegas, what is the 2nd photo from?

atomic horizon
#

Also Vegas its under the custom tab but still same FX

quiet bramble
#

I checked DaVinci (which I'm not yet savvy with) and didn't see similar function in it yet, but I know it is the king of color management so I might have missed something.

#

ah ok, just a different UI to the same funcitonality?

#

I am a bit confused by the combined terminology of Hue, Saturation and Luminance though. HSL = Hue, Saturation, Lightness and Lightness is not the same as Luminance

quiet bramble
#

HSV is Hue/Saturation/Value(Brightness), also not the same as Luminance. So I'm wondering what actual colorspace they're using there, and if they're just calling it Luminance for human reasons

#

I mean, tonnes of programs use the terms Luminance and Luma interchangeably, and while they're related they aren't the same thing.

#

so finding another misused term wouldn't be shocking 🙂

atomic horizon
#

Well limit luminance limit saturation and limit hue are all default valued. I never touched those settings. So i wouldnt know

quiet bramble
#

The way my current shader works, there is a calibration toggle to turn on, then use the color picker and toggle the shader visibility off (like with chroma keying), sample a color from the image, then toggle the shader back on. It now shows up in calibration mode.

atomic horizon
#

Well the values im most concerned on and i believe i miss translated would be the saturation and Gain values

quiet bramble
#

Then, there are sliders to massage the hue/sat/lightness to fine tune it which would be roughly like the rotate hue, saturation, gain/offset controls in your screenshot. Then I've got Hue_Similarity, Sat_Similarity, Lightness_Similarity which are like the hue width, and the low/high range on the other controls.

#

Having separate high/low might be better for the sat/lightness controls than a center + width controls

#

I didn't have enable checkboxes but I should add that as it was kind of annoying having to reset things to 0 🙂

#

so gain and offset are basically contrast and brightness

atomic horizon
#

I guess ill have to fool around with it. As it stands i looked at it as math values and converted decimal to percentages but even then that didnt work one to one exactly here as you can see

quiet bramble
#

and toss in an opacity/alpha slider

#

Yeah, you probably made a common mistake in conversion

atomic horizon
#

Saturation i know i did wrong when converting because making it 147.50% in obs made it look WAY off

quiet bramble
#

value = round(int / (max_int - 1))

#

Different programs handle their controls a bit differently. One might be 0 based and go positive and negative, while another goes from 0-100% or some other thing.

atomic horizon
#

Its a pain thats for sure lol

quiet bramble
#

In OBS it is best to use percentages as OBS limits to 2 decimals of precision, so using 0.00 to 100.00 gives 10000 steps

#

wut, my math above is weird

atomic horizon
#

I havent done serious math in so long i cant even remember how to do it right

quiet bramble
#

I'm pretty tired, been up for around 30 hours so.. 🙂

atomic horizon
#

Oof. We can circle back after you rest. Hopefully then we can convert the values a bit better

quiet bramble
#

round(n * 1.0 / (maxint - 1)) ish

atomic horizon
#

Also again very sorry on the DM @quiet bramble

quiet bramble
#

np... this server doesn't allow DMs, as there are 200000 people here roughly so it's easy for people to get swarmed

cyan peak
#

I don't think servers have the power to control their users from getting dms from other users

quiet bramble
#

no, but of course server rule #6 tells people to not DM others for support 🙂

#

@atomic horizon Could you perhaps show me or elaborate how the mask feature there works, it is possible I might be able to do that also, but don't want to assume what it is doing.

#

If it is just a built in Image Mask filter type thing I could do that

atomic horizon
#

From what i see in vegas when i show mask the preview footage turns white. When i enable invert mask it shows the footage without the effects on

#

But im no expert on that since i never use it

quiet bramble
#

This is kind of a ballpark of the options, repatterned based on the UI screenshots. Code does most of that already just different wording, and no smoothing yet.

// Enable calibration, use color chooser to pick pixel of image.
uniform float4 Target_Color = { 1.0, 1.0, 1.0, 1.0 };
uniform bool Calibration_Mode = false;
// Output
uniform float Hue_Rotate = 0.00; // 0.00-360.00
uniform float Saturation = 0.00; // +/-
//uniform float Gamma = 1.00;
uniform float Gain = 1.00;
uniform float Offset = 0.00;
uniform float Opacity = 1.00;
uniform bool Show_Mask = false;
uniform bool Invert_Mask = false;
// Limit Lightness
uniform bool Limit_Lightness = false;
uniform float Lightness_Low = 0.00;
uniform float Lightness_High = 100.00;
uniform float Lightness_Smooth = 0.00;
// Limit Saturation
uniform bool Limit_Saturation = false;
uniform float Lightness_Low = 0.00;
uniform float Lightness_High = 100.00;
uniform float Lightness_Smooth = 0.00;
// Limit Hue
uniform bool Limit_Hue = false;
uniform float Hue_Center = 0.00;
uniform float Hue_Width = 360.00;
uniform float Hue_Smooth = 0.00;
atomic horizon
#

literally understands nothing what im looking at lol

quiet bramble
#

Oh, perhaps their mask options are similar to my calibration mode

#

Just a preview of the option names

#

If you click on that "Select effect range" button what happens?

atomic horizon
#

Lets me select anything on screen and it adjusts to it i think

quiet bramble
#

This one is going to warrant being turned into a LUA script once I get the basic shader sorted, so it can have a slightly better UI properties layout.

#

Ah, ok then that is like the color chooser

atomic horizon
#

I really hope im helping cause a lot i dont understand and im winging it trying my best to understand and provide the right info

quiet bramble
#

yeah 🙂

#

You just happened to have an interesting problem to solve, and I love manipulating color. LOL

atomic horizon
#

Cool!

quiet bramble
#

I'm going to add a selective color option to it also, as it's basically already there.

quiet bramble
#

Got the foundation together, going to chill for a bit and crash. Should be interesting to see all the fruity colors tomorrow though. 🙂

quiet bramble
#

I think I figured out part of my confusion earlier with Vegas there. I was assuming they were doing everything in one colorspace, but they are probably converting to HSL for H and S, but computing luminance separately to use as a limiting factor only, but not adjusting it. Gain and Offset are probably being applied to the HSL Lightness.

#

I wonder if Vegas is free demo or something

#

hits up da GOOGZ

#

@atomic horizon Looks like they have a free trial of Vegas for 30 days. That's plenty of time for me to experiment with it and try to glean how it's working using generated test patterns to confirm or change my hypotheses.

atomic horizon
#

Idk that lets go

mortal harbor
#

@weak escarp for the directory watch media plugin, would it be possible to add multiple file formats instead of just one

So basically if its set to find the newest file created, the file can be either in png or jpg format

harsh topaz
#

@weak escarp Had a chance to peek @ #48 on Source Record?

weak escarp
weak escarp
mortal harbor
# weak escarp if you don't set an extension it should support all extensions

Ah I see, thanks but still would it be ok if the plugin can support selected formats

, like if we type (png, jpg) it would only target files with that format ?

Becuz I have a lot of files in a folder with all different formats, so I would want the plugin to specifically target the formats that I set for it

dense swift
#

Is there any like YouTube videos, articles, forum posts, anything on making plugins?

last kernel
#

hi all, do you use any input overlay on linux?

#

from Arch Linux's AUR I use aur/obs-plugin-input-overlay

#

for gamepad, my DualShock 4 needs remapping, as when I push square it displays triangle and vice versa

#

it allows remapping, easy change of skin, power meter on L2,R2, pretty good, although I would like to have this running as local server or 'obs application'

#

I am not really happy with the input-overlay skin for qwerty and mouse

#

so I guess my best bet is something like gamepadviewer for mouse and keyboard

harsh topaz
last kernel
#

that last link works via wine, but it's functions detecting input are windows only, so welp

quiet bramble
# dense swift Is there any like YouTube videos, articles, forum posts, anything on making plug...

The only thing available that I'm aware of is the OBS development documentation which covers the various APIs, and the OBS build documentation which covers how to build OBS from source locally, which is required to be able to make plugins against it. There is also a plugin template available to use as a guide, as well as looking at the source code of any other plugins. Making OBS plugins is not a large-audience type of thing which is likely why there is no content out there specifically teaching how to do it.

#

!docs

oblique yewBOT
quiet bramble
#

!build

oblique yewBOT
quiet bramble
#

Not sure where the plugin template is

boreal hearth
#

!plugintemplate

oblique yewBOT
quiet bramble
# oblique yew

Thanks, and good timing... the shader I am making right now I am rapidly coming to the conclusion would be better as a script or proper plugin for UI experience with the large number of properties. 🙂

#

As an update on our conversations from yesterday @atomic horizon, I've got things further along with the secondary color correction. I've watched some video tutorials on people using it in Vegas, and downloaded a trial version of the software myself. I haven't tried it yet, but from the tutorials I can see some of the utility of their user interface. On the math side of things it is doable in shaders, but on the user interface side of things there are great limitations so not as friendly overall. I'm going to continue to flesh out the shader in any case, but to have a better user interface it'll need to be made as a script or plugin as I alluded to a minute ago. I'm still not too savvy with the OBS API, so this may take some time to get right. 🙂 Mind you, it's as good a time as any to "git gud" as they say. 😛

atomic horizon
#

Fair enough

quiet bramble
#

When I have the shader working enough in a usable manner I can throw it your way to poke with though

main dragon
#

Hello all, fairly new to streaming and super new to streaming on youtube - what are some common plugins to use and where can I get them? e.g. showing chat on screen, showing on screen when someone subscribes etc.

quiet bramble
#

@atomic horizon getting there! 🙂

atomic horizon
#

Thats so cool!!

quiet bramble
#

yeah, main problem right now is that you either have to type the numbers in yourself manually, or click the +/- to change the setting in 0.01 increments which is too fine, or use slider mode in Shaderfilter which is hard coded to -1000 to 1000, which is far too large. In short the UI sucks rocks.

harsh topaz
#

StreamFX?

#

I noticed the scrolling is in 0,01 increments which is obscene LUL

quiet bramble
#

I could convert it to StreamFX which would give super fine grained control over each property, but would have to rename them all to start with numbers to force them to be in the same order as shown.

#

So, I'm thinking it needs to be turned into a LUA script

quiet bramble
# harsh topaz I noticed the scrolling is in 0,01 increments which is obscene <:LUL:42864873577...

it is, but it has to be able to have full precision to match what the hardware can display also. The options are to use floating point normalized values, which means numbers from 0.00 to 1.00, which gives 100 steps of 0.01, which is too grainy even for 8-bit per channel color which has 256 steps. So that means to not throw away precision you have to go to a range of 0.00 to 10.00 minimum which gives you 1000 steps of 0.01. That is enough to handle 8-bit hardware output, but it isn't enough to handle 10 or 12 bit in the future.

#

10-bit is 1024, and 12-bit is 4096

#

So to handle that you end up going from 0.00 to 100.00 as a percentage as the easiest solution, but you can only adjust it in 0.01 increments by default, or 0.1 if you hold down the CTRL key.

#

The other option is to have each control duplicated with a "Fine" control under it for fine tuning.

#

Then you end up with 2x as many sliders 🙂

#

But it's important to me, whatever precision is used that it does not restrict the accuracy of what the hardware is capable of just to have an easier user interface.

#

The configurability of it all would be much better as a LUA script or native plugin though.

harsh topaz
#

Go into perspective, start scrolling and tell me how it goes giggle

quiet bramble
#

With corner pin's corner coordinates, you could do it as normalized numbers, which is 0.00 to 1.00, which is the main coordinate system used in shaders, however while shader math uses higher precision, the OBS user interface does not allow displaying more than 2 decimals of precision.

#

So you would have 100 steps max of precision and be unable to align your corner on a pixel boundary this way. To get more precision, you have to use a higher range than 0.00 to 1.00. Using a multiple of 10 would give 1000 steps, which is still not large enough to handle today's resolutions in increments of 0.01. Also, a range of 0 to 10 is what units? From a user interface perspective it's kind of ambiguous, whereas 0 to 100 can be seen as a percentage at least and make sense.

atomic horizon
#

I hope vegas has been helpful if you got questions on it ill try my best to answer

quiet bramble
#

And gives 10000 steps of precision, and since it is signed, that is 20000 total, which can handle just about any resolution we're likely to see for years. It also has to account for out off canvas coordinates as well.

#

What would be more ideal, is having Corner Pin work on pixel coordinates instead of percentage, as you don't really need sub-pixel placement capability IMHO.

#

But, the problem with doing that, is that the amount of movement of the property you have to make, varies with size of texture.

#

I was thinking about this the other day when I made my anti-aliased variant of corner pin. I'd like to experiment with using percentage, but then internally quantizing it to the nearest pixel offset

#

For sliders that would be nicer at least.

#

If you have any other ideas throw them my way tho

#

right now a lot of things are kind of stuck between "not enough precision" and "way too much precision"

quiet bramble
hollow walrus
#

Are shader filters working on Linux (Flatpak version)? When I try some shaders or it crashes OBS and no log messages (running with --verbose --unfiltered_log ) or it does nothing on the screen... nor via filter dialog nor via Shader as source

cosmic jay
#

Hey everyone, I have a problem and I have NO idea how to solve

I’m recording a Podcast using OBS, My set up includes 2 mics, 1 for the Host and 1 for the Guest and 3 cameras, 1 for the host, 1 for the Guest and 1 global, that captures the whole room; BUT, I don’t have anyone behind the scenes on the switcher, I switch the scenes my self as a talk, through the keyboard, which can get REALLY hard

Im trying to find a plug in that can Switch automatically to Whoever is speaking, BUT, and here’s the problem, that also switches to the 3rd camera that captures the Whole room when both of us are talking kinda at the same time, or when there’s any overlapping

I can’t find a way to do it anywhere, the closest thing I could find is a Plug-in that changes only between both of us, but we tend to have a lot of overlapping and the Plug-in just don’t know what to do, it just gets crazy changing between the both until one of the mics gets silent

hard jay
#

That's a hell of a problem to solve, and generally why people are in charge of the switching, unfortunately.

#

"loudest speaker" is easy enough, but going to room camera when both are speaking is where it gets messy.

quiet bramble
# hollow walrus Are shader filters working on Linux (Flatpak version)? When I try some shaders o...

Shaders work in Linux, however Linux and Mac both use OpenGL, so the shaders need to be written in the GLSL shader language. The overwhelming majority of shaders written for the shader plugins however were written on Windows, and OBS uses DirectX by default on Windows, so the shaders are written in OBS's shader language derived from Microsoft HLSL. When these shaders are used on Linux or Mac, they get converted by OBS into GLSL automatically but this is a "hope for the best" situation that does not always work out in the end as there are language constructs that the automatic conversion does not handle well.

#

In this case, one can manually convert the shader into GLSL by hand, which only takes 2-20m or so on average if you know both languages or can learn quick. For those who are not developers or not familiar with shader programming however, the only thing you can do is report that the shader does not work on Linux/Mac to the author of the shader and hope that they're able to tweak it so it converts to GLSL better, or find someone else who is able/willing to give it a whirl.

quiet bramble
#

I agree with Fenrir on the loudest speaker thing. If both people are speaking at the same time, one of them should probably not be? 🙂

#

One possible algorithm, is when someone new starts talking whose mic was silent for N seconds, switch to the room camera. If this person continues talking while person B's mic is silent for M seconds, switch to camera B.

#

This way whenever a new person speaks, if they speak for less than say 10 seconds, and there is back and forth chatter always less than 10 seconds it stays on the room camera, but if one person dominates for more than 10 seconds it switches to them.

#

Another option is to pass the mics through a DAW like Reaper, and have Reaper set up to trigger MIDI events on audio input levels, put the logic for it all in Reaper (or whatever DAW can do it), and use a MIDI plugin with OBS for triggering camera changes

gaunt zealot
quiet bramble
#

Secondary Color Correction in action!

#

Now all we need is a banjo, a fiddle, and a mandolin!

#

selective color mode:

#

Need to get the "smoothness" functionality working next...

cosmic jay
hard jay
#

Indeed. I don't think I've seen a single conferencing application do it well that wasn't run off of a $25k+ full-room hardware setup.

cosmic jay
#

Jeez, I can’t even pay a guy lol

quiet bramble
# cosmic jay Yeah, i mean, if i could at least use the one that automatically changes between...

Keeping track of how long the current mic has been active, and reset that to zero after a certain inactivity (release time), then logically anding the two together if their active time exceeds a configured threshold, would keep it on the current speaker, and only switch to the other if the current mic is silent for a given release time, and the other mic is active presently. Also, if neither mic is active for a certain time, probably good idea to switch to room camera also.

mortal harbor
#

i know it's more complicated than that but as a basic idea i think it is doable.

quiet bramble
#

yeah, I suggested that earlier also. It's probably the easiest non-programming way to do it.

quiet bramble
#

I found another example of problems with property precision. I've got a shader that takes an input in degrees, from 0.00 to 360.00. With a 1920x1080p canvas, mapping the hue to the X coordinate, a one pixel wide strip would be 0.1875 degrees, however with 2 digits of precision, I can only enter 0.18 or 0.19. Rounding it up to 0.19 the result is larger than a pixel and if I animate this width across the screen with time, the results are a strip that varies in width, even if the stepping of it is 1 pixel wide.

mortal harbor
#

Guys, I just got started on obs lua scripts, are there any known General issues with using lua scripts in obs or even maybe drawbacks to using them

Just curious :)

mortal harbor
cosmic jay
#

I’m not an expert in OBS at all, I actually ONLY learned the specific things I needed to record the podcast, so I know the basics

#

Ur saying there’s a way to do it in the plug in? Or with a native thing?

mortal harbor
#

my thought would be the ReaGate VST on the audio source for my implementation as that can send a specific midi note/channel when volume passes a threshold iirc. then there's a plugin to control OBS w/ midi iirc.

atomic horizon
#

@quiet bramble hows progress going?

quiet bramble
#

I'd like to actually trigger some things in OBS based on which notes I hit on guitar in the future also, using a GK-3

quiet bramble
cosmic jay
#

Oh great idea

#

Ill look it up over fiverr

#

Thank man

quiet bramble
# atomic horizon <@277094731576770561> hows progress going?

Got pretty far yesterday. I've got all the basics working for hue, but need to tweak the saturation and luminance side of things a bit. After that is getting the smoothness functions to work, but I'm not sure how exactly they function in Vegas so I might fire it up to experiment, do some screenshots, then fiddle around in the shader and see if I can approximate it. It's probably relatively simple, but time will tell. 🙂 Once I get the crux of it working, I am going to focus on building a LUA script to house it so that I can make the user interface better. In particular one thing I want to do, is have it automatically pre-configure some of the controls based on the user selected target color, so that saturation/luminance low and high are preset to the targeted colour. I'll see how Vegas handles that also.

#

No idea how to do any of that in LUA yet, but armed with the power of The Google, and The Hundreds of Pre-Existing LUA scripts out there for OBS, I'm sure I'll figure out everything I need to. That's ultimately how I learned shader programming so... 😛

#

never underestimate the powah of teh Gooagel!

atomic horizon
#

Anywhere i can help lmk!

trim kayak
#

anyone has a quick tutorial for the streamfx plugin, for voicemods?

#

or its vst plugin

#

so let me re-ask that.. anyone has a good video for voicemods using reaper.fm .. is there premade files for a quicker setup?

south turret
#

I have a slight issue. So I'm trying to get this machine ready for broadcast at the station I work at, as we have our election results broadcast coming up next Tuesday, but I'm having some trouble here. Whenever I launch OBS, it crashes. According to the crash file, it's due to the "win-decklink.dll" file, but I know without it, OBS won't recognize or let me configure the Decklink SDI output for the Blackmagic SDI Card that's on the system. Anything I can do to resolve this issue? Kind of has to use SDI as that's what connection passes to the video router.

oblique yewBOT
dire dune
#

anyone help me with wht the sequence tab isnt showing up in advanced scene switcher?

mortal harbor
#

But u don't need that tab for sequence

#

It's been integrated into macros

dire dune
#

can it also be used to shut off a stream after switching to a scene after a period of time?

dire dune
#

nvm i got it

sly goblet
#

Hi, after updating to the latest OBS - the WebSocket plugin only responds when OBS window is in focus. If it's minimized to tray, nothing responds until the window is in focus. Anyone else experienced that issue?

#

OBS 27.2.4 (64-bit, windows) | Portable | [obs-websocket] you can haz websockets (version 4.9.1)

ripe cradle
#

Hello, does a scale plugin exist for sources?

harsh topaz
ripe cradle
#

ya

#

but its "complicated"

#

a Scale plugin which can be added to a source.. is a bit smarter xD

#

or a "scale filter" 😄

harsh topaz
ripe cradle
#

nope

#

Just to "crop" a Source

harsh topaz
#

To crop a source, unlock it. Hold 'Alt', and drag the corners.

ripe cradle
#

Ya, but that is so much "work" to get to this goal

harsh topaz
#

It's really not.

#

It takes all of approx 3 seconds 🙂

vale vine
#

this exists as well

ripe cradle
#

i may tried that and it wasnt what i want, lemme check

harsh topaz
#

I do wonder why a filter like that was even added when the functionality is already present.

#

Peculiar.

vale vine
#

Because you can get exact resolution much easier

harsh topaz
#

Well scaling filter has no difference.

vale vine
#

Some sources don't let you enter a resolution

wary escarp
#

you can also do that via the Edit Transform dialog

vale vine
#

Lots of ways to skin a cat

ripe cradle
#

funny filter.. but it isnt that what i want 😄

#

Lets say in photoshop u have a Smart Object

harsh topaz
wary escarp
#

I assume it's so you don't have to crop the same source multiple times if you always want the same cropped

harsh topaz
#

Only advantage I can immediately see, is that filters are Copy Pastable, in a sense.

vale vine
ripe cradle
#

inside the smart object u have a picture.. u can scale it out of the resolution (look like cropping + scaling

#

does anyone speak german ? XD

harsh topaz
#

Little annoying that some things aren't copy pastable in OBS.

wary escarp
#

Transforms are copy-pasteable though

harsh topaz
#

I said some things.

#

Like, Show/Hide is a bit of a pain to do on repeat.

ripe cradle
#

so, no germans in here huh?

harsh topaz
#

Scale Filtering I've also spent a lot of time pressing when doing work on a lot of sources.

wary escarp
ripe cradle
#

ok can i dm u with some german words? XD

harsh topaz
#

And Transform is only copy pastable in a functioning sense because of Source Copy atm, if you ask me aLindPeek

wary escarp
ripe cradle
#

in german? ok

harsh topaz
#

I don't think there's a problem explaining it in German - if someone who speaks German is willing to read what is said and help.

harsh topaz
ripe cradle
#

Also.. was ich will ist ... das der "Rahmen" Quasi s obleibt wie er ist.. aber das Bild von der Kamera halt skaliert wird.. ich kann es umständlich mit transformation machen.. aber ein Filter plugin was das tut.. wäre halt geil 😄

wary escarp
#

ah I see

#

don't think there's a simple way to do that

harsh topaz
#

What's their issue?

ripe cradle
#

thats a task for a filter programmer in here xD

wary escarp
#

but keeping the transform bounds the same

ripe cradle
#

could pronounce it so xD

#

yes

harsh topaz
#

Might be possible if you're only working on the source itself.

#

And aren't relying on camera functions.

#

I believe both Move Transition & Adv-ss has ways to set specific Transformation Settings.

strong tulip
#

Zooming in and out but keeping the bounds? Crop filter!

ripe cradle
#

i already have pos saved for move transition .. but i try it in the cmaera source

#

CropFilter ?

wary escarp
strong tulip
#

Nope

#

Crop filter won’t, crop transformation would

#

So long as a bounding box type is set

harsh topaz
#

I guess you could animate Crop/Pad filter Move Value ?

ripe cradle
#

sry

#

which crop/pad filter?

#

built in.. or a plugin which can be downloaded?

wary escarp
wary escarp
# ripe cradle which crop/pad filter?

First, right click the source -> Transform -> Edit transform -> Set "Bounding Box Type" to "Stretch to bounds"
Then set the "Crop/Pad Filter" in the filters dialog and cut off what you want

#

keep in mind it can look "weird" if you don't make sure the aspect ration of the source stays the same

ripe cradle
#

ok, understand i will take a look

#

but

#

a filter plugin would be great too XD

wary escarp
#

i don't disagree, but I don't think anyone has made something like that yet

ripe cradle
#

but maybe a programmer is reading xD

quiet bramble
#

I read the conversation (although not the German bit), and it isn't solid what the existing combination of OBS Transform Edit options, plus Scaling/Aspect filter and/or other existing plugins can't already do.

quiet bramble
#

There's also the 3D Transform filter in StreamFX, which does Corner Pin, Perspective, and Orthographic scaling.

#

or a custom vertex shader

ripe cradle
#

I had perf issues wirh streamfx

#

But i would try it again

#

Thanks

quiet bramble
#

StreamFX has a lot of features, what feature(s) did you have performance issues with?

#

It's totally possible to use some of the filters in StreamFX in a way that can be resource heavy on one's system. In particular over-use of heavy blur filters, which is a very GPU expensive operation. One has to learn how to optimize how to use things like that to get the desired end result, without the performance hit.

#

Same thing with the SDF filter, that is very GPU intensive.

#

And to be clear, these are not "StreamFX is slow", but that the complexity of what it is doing is very math intensive.

#

Most of the other filters should have little to no performance impact at all.

heady wing
#

Don't mean to intrude in the conversation, but which section of this discord can help with the ndi plugin?

mortal harbor
heady wing
#

how do i make sure that the obs ndi plugin instal 64bit and not 32bit. I belive it is causing communication problems between my 2 computers

ripe cradle
#

with preset slow

ripe cradle
night rivet
#

Hi, I'm trying to set up the Replay Source plugin, but even though I follow all the steps, the videos always stay the same time

#

I don't know how to find what's causing the issue

#

Because it stays only for 5 seconds, while I want to extend for about 12-15 sec

dire dune
#

anyone willing to help me set up advance scene switcher?

mortal harbor
raven apex
#

Anyone know a plugin/vst effect which would resample audio (e.g. resample audio from say 48khz down to 11khz)? (NVM found my own answer: xfer delta modulator)

quiet bramble
# ripe cradle i have an 5900x and the cpu is sweating if i use streamFX 😄

Not sure what you're doing wrong then, as I've used StreamFX with an AMD FX8350 (10 years old), an Intel mobile 7700HQ, and now a Ryzen 5950X, and have never had any CPU usage issues. Most of the work done by StreamFX is done on the GPU not the CPU. If you are using x264 video encoding however, that by definition is software encoding done on the CPU, and it does have a CPU cost, but that isn't because of StreamFX doing anything wrong, but by user choice to use their CPU to do encoding instead of their GPU.

quiet bramble
# ripe cradle with preset slow

Ah, this suggests to me that you are in fact using software CPU encoding via StreamFX, in which case the burden on your CPU has nothing to do with StreamFX itself, but with how you choose to configure the software encoding of x264. The x264 encoding is identical to that which is built into OBS, the only thing StreamFX does is expose more of the options that are available to the user. It is up to the user to appropriately configure the codec to what their computer can handle. Ideally you should be using the NVENC Nvidia hardware encoder however, if you have Nvidia hardware.

#

Having said that, I use x264 software encoding here at 1080p and 1440p using default settings, modified to 2s keyframe interval rather than auto, and it barely makes any dent in my 5950X. Ditto using CPQ with default settings for recording.

#

Again though, none of this has anything to do with the StreamFX plugin, but rather with how to configure video encoders appropriately for the given computer capability.

#

If you need help with that at all, #encoding-talk might be a good place.

#

I do recommend using NVENC instead though. I use x264 because I have a 10 year old AMD GPU, and AMD's H.264 encoder is terrible.

#

I'm able to use x264 slower preset no problem, however even x264 medium is better quality than the AMD AMF encoder (which I believe has the quality of x264 veryfast or similar)

night rivet
mortal harbor
#

Hello All! I need some help with obs and the NDI plug-in. My issue is, I'm using two computers to send a video source from computer A to computer B through the NDI but I don't see the video source. But once I send the video source from computer B to computer A then now I can see the video source. Any one know what's going on? Thank!

quiet bramble
mortal harbor
quiet bramble
#

Ooo, I just thought of a neat idea for a new filter.

#

A filter that softens the edges of transparent images or video, so that edge pixels blend into the background anti-aliased rather than having sharp contrasted aliased edges.

#

I recently made a filter that kind of does the opposite of that, by doing alpha thresholding to remove partially transparent pixels, and it just got me thinking...

fierce spade
#

Like a vignette then?

quiet bramble
#

No, although I wrote a vignette shader also. This would determine if a pixel is on an edge, by checking the pixels around it to see if they are fully transparent, and then use one of several algorithms to determine if the alpha channel should be altered on this pixel to blend in with what is underneath it.

#

I'll have to experiment to see what kernel patterns work best.

#

Doing smoothing beyond 2 pixel widths would start to get prohibitively expensive on the GPU though.

hollow stirrup
#

Are you going to use gaussian blur for alpha channel?

quiet bramble
#

No, using smoothstep() to set the alpha channel algorithmically.

#

First iteration is going to just apply some alpha to all edge pixels, but that will look bad on horizontal and vertical edges so I'm going to experiment with edge patterns in computing the alpha also.

#

Actually it might not look bad per se, but it depends on the use case, so I want to have different options. It'll be the same GPU cost to manage 1 row versus 2 rows of pixels, so going to stick with that and see how it looks.

indigo gust
#

Anyone familiar using the Advanced Scene Switcher? I've installed it and I don't have all the tabs and options available to me that I see everyone else in tutorials using.

harsh topaz
#

The tabs are getting outsourced - use Macros

#

It can do all the tabs could do; and more.

#

Basically; the tutorials are outdated.

indigo gust
#

@harsh topaz Works for me. You too busy to help me figure out the macros I want? I think I only need 2.

harsh topaz
#

You can try and ask here; I'm not the only person with adv-ss knowledge. Am about to hit dinner though but it depends on the complexity of the macros.

#

Basically, it's fair straight forward:
Top = Condition
Bottom = Action.

#

Condition = "If this"
Action = "Then do this"

#

Primary thing I'd make sure, is that unless you know you want it to spam check it; enable "Perform actions only on condition change" top right.

#

In my opinion, that option should be selected default - but the dev disagrees giggle

indigo gust
#

Let's start with the simple one. I have two scenes. I want an automatic transition from Scene 1 to Scene 2 after the Media Source in Scene 1 ends.

harsh topaz
#

Then bottom select Scene, and transition

#

Obviously you can change the "state" to "Ended" etc as well.

#

I just do it like this so I can fade the video out :p

#

1 sec left on video => 1 sec fade = 👍

indigo gust
#

Hold on here, digesting and figuring out what you just told me...

#

Here's where I'm at so far. @harsh topaz

harsh topaz
#

Enable that every macro, unless you want it to literally check and perform the action OVER AND OVER every 200ms (5x a second)

indigo gust
#

done

harsh topaz
#

(when it meets the condition).

#

Okay, now enable Adv-ss

#

and itll do it.

indigo gust
#

I know I don't have the bottom part filled out correctly.

#

I mean... I think I Don't.

indigo gust
harsh topaz
#

The "Wait" checkfield means "Perform this action, and don't do more actions until the transition is done"

#

so it'll basically wait 3 sec because you got 3 sec fade.

#

This means the action is halting anything else from happening until its done.

harsh topaz
#

General > Start

#

You can also go to Docks > Advanced Scene Switcher and get a dock.

indigo gust
#

Go tit

#

got it

#

SWEET THAT WORKED

harsh topaz
#

👍

indigo gust
#

Okay, one more

harsh topaz
#

Welcome to a whole new world of streaming.

#

This plugin is madness.

#

D:

indigo gust
#

On Scene 2, I want to create a "splash screen". I have a logo that covers the screen that I want to fade out to 0% opacity after a few seconds, revealing everything else below.

harsh topaz
#

You have to break that down into more specific steps

#

And you probably need Move Transition if you want to fade over time.

#

So just saying "On Scene 2" doesn't explain enough.

Do you want to go from scene X to Scene 2, and when you get to Scene 2 the image is showing, and full screened - then fades to 0% over X time?

indigo gust
#

Correct!

harsh topaz
#

You have Move Transition?

indigo gust
#

I was using Move Value

harsh topaz
#

Exactly, yea that's Move Transition Plugin

indigo gust
#

oh, right

harsh topaz
#

So what you need is something akin to "Scene active: Scene 2" (Perform action only once on match) in condition

#

and bottom will be "Enable Image on Scene 2"

indigo gust
#

In the macro or filter?

harsh topaz
#

"Filter > Scene 2 > Filter name > Move Value: opacity 0 (then in move filter set that to whatever seconds)"

#

And then make sure you have a 2nd filter with "Move Value 100"

indigo gust
#

Got both of those already

harsh topaz
#

Then you just do the above - and make sure you "show image" in another macro, and "move value 100" whenever you're on like your intro scene or something.

#

So it resets itself and is ready for next stream/scene.

#

Give it an attempt and I can help you try and correct it. Brb.

indigo gust
#

Already lost here.

#

Between macros, scene filters, and source filters.

#

Now I'm screwing stuff up...

harsh topaz
#

Break down what it is you want to do.

Remember every action you do needs to be explicitly set.

#

Show me what you put 😛

indigo gust
#

I couldn't convince you to do a call and then I just screen share?

harsh topaz
#

Sorry, don't do one on one stuff

indigo gust
#

Mrek. I'm short on vocabulary for describing what I want/what I'm doing.

#

Okay, let's start with what I'm trying to do:

#

Start show:
Open Scene 1. This plays a 9 second video.
When video ends, transition to Scene 2.
When Scene 2 opens, there is a logo taking up the whole screen.
Wait approx 8 seconds.
Fade out logo, revealing video and other stuff beneath.

#

I just deleted the filters I had from before so I can start fresh.

#

This is the only macro I have set up right now.

#

Which is successfully transitioning me from Scene 1 to Scene 2 when the media from Scene 1 is complete.

#

So I know I need to use Move Value and color correction for the fading in and making sure the logo starts 100 opaque, but I don't know how to set it up with the filters and macros.

harsh topaz
#

@indigo gust sorry, went to eat food.

#

In the first macro remove the "wait for transition to end".

#

Create a 2nd macro:
Condition "If scene 2"
Action: "Enable Filter" > Move Value 0

#

Then inside the Move Value filter, make sure the duration is set to whatever you want (like 3000ms to fade over 3 seconds).

#

You have the Move Value on the image, and have another Color Correction filter (the one that does the opacity) and you use Move Value to change the opacity of your image.

#

Then you just need a way to make sure that the filter Move Value > 100 --- and the Image that you're showing (the splash) is set to the proper start values. You can do that by adding it for example to a third macro for example "If scene = Intro" (assuming you have an intro scene).

Action: Show (Splash image).
Filter: Scene 2 > Filter > Move Value > Splash Image > 100

indigo gust
#

Just got back

#

@harsh topaz My kids required attention.

#

Okay, I got the Splash image to come up

#

Using the macro

#

Gyah... now I screwed this up again...

#

When I add a second macro the first one stops working.

harsh topaz
#

@indigo gust By the way, if you want a tool that can help you figure the macro out easier, go to the Cogwheel under the macro and enable at least these two

indigo gust
#

Done.

harsh topaz
#

The first one is set to only trigger when a "condition change" is made. So if the condition is "If on Scene 1" you have to switch to another scene, then back to Scene 1 for it to work.

#

So it doesn't trigger over and over when on Scene 1

indigo gust
#

I have it set to that.

#

Oh fuck I'm about to throw my laptop at the wall now.

harsh topaz
#

That's unnecessary - what does your 2nd macro look like? Make screenshot

indigo gust
#

Hold on, now my first macro isn't working again.

harsh topaz
#

First macro doesn't stop working just because you make another macro.

#

Only thing that can happen is if you use functions that essentially add a "wait", in the 2nd macro.

#

Such a wait or wait for transition to end.

#

In that case you need to enable Run macro in parallel for it to work 🙂

indigo gust
#

I deleted the other macros to get this first one working again.

#

That's my first macro. Scene isn't switching now.

harsh topaz
#

You should only need 3 for the whole thing.

  1. When on intro, show image, set move value 100.
  2. When Video on Scene 1 ends, switch to scene 2.
  3. When on scene 2, filter move 0 on image source.
#

Instead of 0.15 sec, just set "Ended".

#

I don't think there's a point in 0.15 sec.

indigo gust
#

"Ended"? You mean set to 0?

#

Oh, there it is.

#

Okay, that fixed the first macro.

#

Great.

#

Here's what I have for second macro

#

Okay, 2nd macro is working by bringing up the logo

#

Trying third macro now...

harsh topaz
#

So, you want the logo to be enabled before you switch to the scene, correct?

#

Or do you want to Switch to scene > see scene > enable logo

indigo gust
#

Yes.

harsh topaz
#

The first or the 2nd?

indigo gust
#

The first one.

#

Enabled before I switch the scene.

harsh topaz
#

How many times will this thing occur?

#

Is it "one time" thing?

#

As in once per stream.

indigo gust
#

(I'm rendering a video right now and I'm getting a big delay on Discord. Seeing your messages slow and typing my own slow.)

#

Once per stream.

harsh topaz
#

Okay- You have an intro scene, correct?

indigo gust
#

The Intro scene is Scene 1

harsh topaz
#

Okay. Third macro:

#

If Scene 1, Enable Logo Scene 2

#

If Scene 1, Filter Logo Move Value 100 Scene 2

#

Check that in Macro 3

indigo gust
#

Like this?4

#

Oh, gotta check it

harsh topaz
#

Yes

#

How long is your fadeout?

indigo gust
#

3 seconds? I want it to wait 8 seconds before starting, too.

harsh topaz
#

Then add a wait infront of it.

indigo gust
#

Is that a macro or a condition

#

?

harsh topaz
#

Beware, if you do this ALL macros are haulted for 8 seconds UNLESS *you enable the parallel option at the top.

#

wait is an action.

#

The bottom field.

#

You can add multiple things.

#

Then in the new field, find Wait

#

Drag it above Filter

#

And change it to 8 sec.

indigo gust
harsh topaz
#

Now enable "Run parallel" at the top of that.

#

Because you used Wait

#

So to avoid stopping other macros from running.

indigo gust
#

Alright, almpost works.

harsh topaz
#

And then you can simply go to scene 5, and switch to Scene 1 and it should work.

indigo gust
#

Automatic transition from Scene 1 to Scene 2 works, the logo comes up fine, waits 8 seconds, then starts to fade out, but immediately comes back.

harsh topaz
#

Sounds more like a filter issue

indigo gust
harsh topaz
#

Not sure what Start Logo is - but delete it

#

And another one like this

indigo gust
#

Start Logo makes sure the logo Opacity is set to 1

harsh topaz
#

Make sure the filters are on your image source

indigo gust
#

Filters are indeed on the image source

harsh topaz
#

In Scene 1 you set Value 1,
In Scene 3 you set Value 0

#

So it fades.

#

You can test your filter on the image by manually clicking the eye

#

See if it fades in and out.

indigo gust
#

You mean in Scene 2 I set Value to 0?

harsh topaz
#

The scene that has the image.

#

"If Scene, scene with image on it"

indigo gust
#

Got it. Yea that's Scene 2.

harsh topaz
#

Ok

indigo gust
#

It works!

#

I don't knwo what I did, but it works now.

#

Dammit, maybe not.

harsh topaz
#

Well, going back and forth and trying to identify where it doesn't do quite what you want - is part of the fun of building automation giggle

#

Once you got it working perfectly it's so nice 🙂

indigo gust
#

It worked the first time. Second time I tried it, the logo didn't come back on.

harsh topaz
#

So, you need to have a macro that resets everything.

#

For example