Bug Report .net WPF Applications not streamed with window capture

Docmal

New Member
I am having a problem streaming a simple Windows .net WPF application.

As a test I created an application that is a simple window with a button that updates a textbox with a click count.

Using OBS I can find the application when adding a new "window capture" source. When I preview the stream I can see the application being streamed. However, the stream never updates and remains a static picture of the form. When I click the test app to increase the counter the stream does not update.

This same application written in Windows .net WinForms works fine.
 

dodgepong

Administrator
Community Helper
I'm a bit confused by your post...are you saying that it works in the preview but not on the stream?
 

Docmal

New Member
To be more clear about what is occurring with WPF applications:

When I add the WPF application window as a Window Capture, I can preview the stream and see the WPF Application Window as it first exists.

However, it appears that after the initial streaming of the window that interactions with the WPF Application are not streamed.

I tested this with a simple App that has a button that increases a number in the window. After beginning the stream and clicking the button several times to increase the number on the window the stream still shows the window in its initial state with a 0 count.
 

dodgepong

Administrator
Community Helper
Kharay said:
No, he is saying that normal Window forms capture just fine but WPF forms do not.

http://en.wikipedia.org/wiki/Windows_Pr ... Foundation
I know what WPF is, my day job is C# programming. I just wanted to be sure that it wasn't an issue where it worked on preview but then frames keep dropping to the server on the stream side, so that even though movement worked on preview movement didn't work on stream. But it sounds like that's not what he meant.

To the OP, is Aero enabled or disabled? Does it work if you toggle Aero on/off?

Can you post your log? http://obsproject.com/forum/viewtopic.php?f=6&t=97
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
It would make some sense, though I'm not sure if there's much you can do about it. If it fails to capture it's not so much a bug with window capture, more of a design fault in windows itself. If you're on windows 7/vista you might want to try with aero off, might fix the problem, though I'm not entirely sure.
 

Fizzi

New Member
I wrote a timer in C# WPF and the only way I can get it to show up in window capture obs is by disabling aero mode and turning on capture layered windows. Otherwise the window just shows up black.

Is there possibly an option I can turn on in WPF or some other way to make it work without this? I liked window capture previously because even if I covered the timer with something else it would still show up for the streamers.

EDIT:
I determined that the option that caused this behavior was the AllowsTransparency=True option on my window. This is unfortunate because this option gets rid of the annoying border when ResizeMode is set to CanResizeWithGrip.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
I did add an option recently to window capture, "Capture layered windows", which should allow you to capture it.
 

Mike Partain

New Member
I got here a year later with the same problem (and capture layered windows does not correct, nor any other option).

I would just like to add some comments;

1) it still does not work
2) yes it is because WPF functions differently
3) yes you can say it is a windows design error if it makes you feel better
4) feeling good still does not make OBS usable for Windows WPF captures,
(e.g. visual studio is a WPF application, therefore you can not use OBS to record visual studio tutorials)
and windows is still the world as far as users go
5) the 2 other products I tried function correctly (but in general were not as good of a product as OBS),
so it was not a big deal, or something they felt was worth the effort.

In general OBS is a good direction, but this one specific bug or intentional design decision makes it unusable for my use.

http://snoopwpf.codeplex.com/

probably has the details someone needs. I would be willing to work on adding proper support into OBS, but I am not willing to fight the startup learning costs to get to the place I need. If someone wants to walk me through how to build OBS on windows, where the windows specific capturing is occurring, and the best strategy to implement, I'd tackle actually doing it.
 
Last edited:
Top