Question / Help OBS and Directdraw

Godzie

New Member
Hello.
Can I capture a window that contain directdraw stream?
I have a capture card and most preffered video output is overlay(directdraw) because it lags less than other.
 

paibox

heros in an halfshel
I think you mean DirectShow.
What capture card are you using? Are you unable to add it directly in OBS?

If so, there are two ways to capture a window displaying an overlay surface.
1) In Windows 7, turn off Aero and use Window Capture.
2) In Windows 8, use Monitor Capture and crop unwanted areas of the screen.
 

Godzie

New Member
Thanks for reply!
I was talk about this overlay. It's called directshow?
My set is Avermedia Game Broadcaster HD (C127), Windows 7. Aero turned off.
No, I can't use it directly because of hdcp. :)
I think window capture is equal screen capture and just take the part of screen clipping other. In this case the method will not work because of overlay's architecture. I'm right?
 

paibox

heros in an halfshel
No, overlay is just called overlay. DirectShow is the API commonly used for capture devices, such as your capture card. While Windows often uses an overlay surface to display DirectShow video, it's certainly not actually limited to that.

I'm not quite sure what you're asking with your last question, but the methods I mentioned will work for capturing a window displaying an overlay surface.
 

Godzie

New Member
Glad to hear it should work.
Let me explain my problem. According to wiki:
An application using a hardware overlay gets a completely separate section of video memory that belongs only to that application. Because nothing else uses it, the program never needs to waste resources in checking whether a given piece of the memory belongs to it, nor does it need to monitor whether the user moves the window and changes the location of the video memory. To get the image from the separate video memory to display in tandem with the remaining shared elements on the display, the graphical subsystem associates a certain attribute (for example, a particular color) as a "mask" for that overlay, which the graphics card understands to mean that it is to draw from the separate overlay buffer onto the screen. (This technique has become known as "chroma key".)
In my case OBS displays captured window, but box with directshow stream is completely black(mask color from above).
 

paibox

heros in an halfshel
It is weird that you wouldn't be able to capture it with Aero off. Have you tried switching to the "Windows Classic" theme? Some hardware acceleration is still enabled if using the "Basic" theme, which are not enabled when you switch to Classic, since Classic completely disables desktop compositing.
 

Godzie

New Member
Not, it did not help. :(
All I need to do is create new scene and add inner window capture to the sources?
By the way, I have a small statistics from friends. One works, one does'nt. Later I trying to check working one.
 

paibox

heros in an halfshel
Yeah, a friend of mine tested it as well, and it doesn't work for him, while it does work on my old Core 2 Duo machine. It might be due to your video card being too "good" and actually doing overlay even though desktop compositing is off.

In this case, there isn't much that can be done. I would suggest either using composite, or finding some way to rid yourself off HDCP and just adding the capture card directly in OBS.
 
Top