Spout

OBS Spout2 capture is blank

Hi, On a Ryzen 9 with NVIDIA RTX 2060 and AMD Integrated graphics here.
Win 10.
Running Isadora with Spout Stage Output. Can see it with Demo Spout Receiver.
Cannot see it with OBS Spout2 capture.
OBS Spout2 capture cannot see Demo Spout sender either.
Tried everything I can think of and can find.
Totally exasperated. Help please.

I tested this with the latest versions of Isadora and OBS and it works OK for me with AMD Radeon R9 200.

First of all, does the Isadora output work with other software such as Resolume or Magic Music Visuals ? These have demonstration version to find out.

If you are using the Spout2 capture plugin for OBS, RH click on it and Properties. For “Spout senders” drop down the list and select “Isadora: Stage 1”.

If that doesn’t work, it’s a clue we can follow. So try something else.

Download the Spout2 repository. You will get “Spout2-2.007.zip”. Unzip it somewhere and navigate to :

SPOUTSDK > SpoutDirectX > SpoutDX > Binaries > Examples.

There you will find “Tutorial07.exe” which is a receiver. Open it to find whether you receive from the Isadora plugin.

Finally, in SpoutSettings, click “Diagnostics > Copy” and paste the results here.

Hi, Thanks for getting back to me.
I selected ‘Isadora: Stage 1’ in OBS Spout2 capture. No change. Blank.
I downloaded 'Spout2-2.007.zip and found
SPOUTSDK > SpoutDirectX > SpoutDX > Binaries > Examples > Tutorial07.exe.
It does receive from Isadora’s ‘Spout Stage Output’.
The output from Spout2-2.007 > SPOUTSETTINGS > SpoutSettings.exe ‘Diagnostics’ follows:

DirectX 11 device available
Primary adapter : ATI Technologies Inc.
AMD Radeon™ Graphics (Display) :
Microsoft Basic Render Driver (Secondary)
Laptop system detected
NV_DX_interop extensions available
OpenGL/DX11 texture sharing succeeded
Compatible for OpenGL texture sharing

An interesting development:

After clicking on Spout2-2.007 > SPOUTSETTINGS > SpoutSettings.exe, the OBS Preview of Spout2 capture is still blank, but when I fade it into Program, both Preview and Program light up with Isadora: Stage 1. I guess that this is a partial fix. Thanks for this :smiley: (but I would like to see Preview before fading it to Program).

Resolume test:

I installed Resolume Avenue. Under ‘Sources’ I can see ‘Spout Servers / Isadora: Stage 1’, but when I click on it, I get a popup saying: ‘Cannot create DirectX/OpenGL interop’ and Resolume Avenue crashes. I hope this helps.

I see “Laptop system detected”. This might not be right, but your last test with Avenue is a clue. Is it a laptop? If so, look into the Radeon settings for “Switchable graphics” or similar and set Avenue, OBS and Isadora to use the Radeon card.

The test with Tutorial07 tells me that Isadora is producing a shared texture OK and it is received by a DirectX-only receiver. The problem is with OpenGL. That’s another clue.

You could also try the old Freeframe plugins here. Click on the file you want and you will see a download button. They should still work with Isadora. But I expect they will show the same problems.

What is the system? Windows 10? 64 or 32 bit? If I can know the make and model I will examine the hardware specifications.

I will have to look at the fade into program method because I have never tried this.

Hi, ‘Laptop system detected’ is correct. It is an ASUS Tuf (using NVIDIA creation drivers–not gaming drivers) running Windows Home 64. I had already set Isadora, and OBS to use AMD Radeon graphics. Did the same for Avenue–it now works without problem. Do I just drop SpoutSender64.dll into the Isadora 3 folder alongside SpoutLibrary.dll ? BTW, in OBS, ‘studio’ mode gives two windows ‘Preview’ and ‘Program’ with a fader in between them to fade the preview into the output stream (‘Program’).

The default path for Isadora plugins is “C:\Programs Files\Common Files\Freeframe”. I you find a problem with privileges copying to that folder, you can put SpoutSender64.dll anywhere you like. It’s best to put in a different folder to Isadora itself. Then Isadora > Preferences > Plugins, check default path off and select the path where you put the plugin.

If found in OBS you have to click the “Studio Mode” button to get both Preview and Program windows to show. For Isadora and all other outputs, I get the same in preview and program and fade between them does nothing. I notice in the Spout plugin settings “Composite mode” and options, Opaque, Premultiplied and Default. These might have something to do with the fade. Try each of these. For me they do nothing different.

It might have something to with alpha of the Spout source and I will investigate in the next few days. Maybe the plugin could have a different behaviour. But at least it seems that you have something working.

I had a look at the laptop specs. SpoutSettings does not see the on-board GPU and I will investigate that too.

Hi again. There were no other plugins in Program Files > TroikaTronix > Isadora Plugins, so I dropped SpoutSender64.dll into Program files > Isadora 3 > isadora plugins. It then appears in Isadora’s menu as SpoutSender64, so I added SpoutSender64 to Scene1. I feed it something to vid-gpu and give it a name ‘Fred’. Result: In OBS, Spout2 capture sees ‘Fred’ and it appears to work like Spout Stage Output: the Preview pane is blank until I fade it into Program, at which point both panes light up with the output from Isadora.

‘Fred’ also appears as a Spout Server in Resolume Avenue and seems to work as expected. (I do not know this software.)

In OBS, I typically set up multiple scenes (much like Isadora) and can then easily switch between them. The Preview pane shows me what is queued up next. I then fade it into the Program pane which shows me what I am actually streaming. I’ve never used the settings Opaque and Premultiplied. I leave it on Default.

Many thanks for your time.

This shows that the Freeframe plugin behaves in exactly the same way, so I can refer to this source code. As far as I can see all is as it should be.

The Resolume test confirms that the plugin works OK. If you leave the fade setting on default, try Opaque or Premultiplied anyway if you have not already done so. This changes the blending method for the fade.

Originally you mentioned that the Spout demo sender was not received. You will need to add that to the list of senders using the Radeon card in the AMD settings. Then it should show up and you can find out what happens with the fade for that.

Although you don’t use Resolume, it’s ideal for simple testing. If you can see effect cells that come with the installation just click on one of them to activate some graphics output and in the top menu Select “Output > Texture sharing (Spout)”. Now you should see it in OBS. Do you get the same fade problem?

Hi, Thanks again for your time. I added SpoutSender.exe to the Radeon card list. Sure enough, Spout2 capture (OBS) sees it, but, again, there is no Preview; I can only see the output after I add it to my active stream = Program. This is a deal-breaker for me because it is potentially a stream-breaker. I have to be able to see / confirm that my next scene will output what I expect it to output before I switch it into my active stream.

In Resolume, If I use SpoutSender.exe and set output to Spout, Spout2 capture (OBS) sees it, but, again, there is no Preview until I switch it into Program.

Because Spout senders from different programs all do the same thing, the problem is possibly in the OBS plugin. I tried setting up two scenes and again found that fade between preview and Program does not work as expected.

This time I found that if the “Transition” settings selection has “Duplicate sources” checked, the preview is black and the fade slider has no effect. If it is checked on again, the preview comes back but does not fade.

Another strange thing is that if the fade slider is moved full right, it snaps back to full left and the preview is black, but this happens only for one scene. If I remove the other scene, there is still a snap back but the preview remains OK.

The “Duplicate sources” popup information says “Certain sources (such as capture or media sources) do not support this…”. Perhaps if you have this option checked it might causing the problems you see.

I don’t know enough about OBS to duplicate your configuration. But it seems to me that the Spout part is most likely working OK and the problem is with the OBS Spout plugin or OBS using the plugin.

There has been a similar issue reported. There is an OBS wiki link there that could help.

Perhaps you could use the demo Spout receiver as a preview before switching streams.

I have things to do right now but will re-visit this later to see if I can find out more.

I concur; the Preview problem is down to the Spout2 capture OBS plugin. What does work in OBS (by providing a working Preview pane), is using OBS’s ‘Window capture’ to capture the Spout Demo Receiver from SPOUT-2006_UPDATE-4 > DEMO > x64. This receiver has no text overlay. I can live with this.

You can disable the overlay using the space bar for both the dem sender and receiver. OBS game capture is the fastest method.

I just tried with NVIDIA Geforce card and there is the same problem with the fade slider.

.

hey - thanks for this. we are taking a look.

ps - in the future you can also leave an issue on the SPOUT-OBS github: Issues · Off-World-Live/obs-spout2-source-plugin · GitHub

That’s great. Thanks a lot. I had the issue on the todo list but have not had time. It took a while to nail this down thanks to patience and perseverance by @Hank .

For me it’s about the fade from Preview to Program that does not work, but that maybe that could be related to OBS itself or my particular system. Any testing needed - just email me.