Discussion:
Direct/X screen capture
(too old to reply)
Johan Stäck
2008-08-19 17:36:06 UTC
Permalink
For some ongoing experiments I need to take screen captures of the
screen, containing among others a window produced by Graphedit.

I have tried a couple of screen capture products that claim to capture
DX, but the contents of the captured Graphedit window is all black.
Surely there must be a way, but how?

/JS
The March Hare [MVP]
2008-08-19 19:25:15 UTC
Permalink
Post by Johan Stäck
I have tried a couple of screen capture products that claim to capture
DX, but the contents of the captured Graphedit window is all black.
Surely there must be a way, but how?
The black area is the overlay surface which is not in regular video memory
and is thus not captured by screen grabbing. Use the VMR9, a custom
renderer or disable the overlay surface when using VMR7.
--
Please read this before replying:
1. Dshow & posting help: http://tmhare.mvps.org/help.htm
2. Trim & respond inline (please don't top post or snip everything)
3. Benefit others: follow up if you are helped or you found a solution
Johan Stäck
2008-08-19 19:51:11 UTC
Permalink
Post by The March Hare [MVP]
Post by Johan Stäck
I have tried a couple of screen capture products that claim to capture
DX, but the contents of the captured Graphedit window is all black.
Surely there must be a way, but how?
The black area is the overlay surface which is not in regular video memory
and is thus not captured by screen grabbing. Use the VMR9, a custom
renderer or disable the overlay surface when using VMR7.
I was under the (perhaps faulty) impression that a screen capture
product that claims to do "Direct/X capture" should be capable of
capturing also the overlay surface. If not, what is special with
Direct/X capture?

Are there any of your advice above that is applicable to my problem of
capturing the Graphedit output?
(The graph simply renders a DV camera input)
If nothing else helps, I can of course always take some snapshots of the
screen with a digital camera...

/JS
a***@gmail.com
2008-08-19 20:06:32 UTC
Permalink
Post by Johan Stäck
Post by The March Hare [MVP]
Post by Johan Stäck
I have tried a couple of screen capture products that claim to capture
DX, but the contents of the captured Graphedit window is all black.
Surely there must be a way, but how?
The black area is the overlay surface which is not in regular video memory
and is thus not captured by screen grabbing.  Use the VMR9, a custom
renderer or disable the overlay surface when using  VMR7.
I was under the (perhaps faulty) impression that a screen capture
product that claims to do "Direct/X capture" should be capable of
capturing also the overlay surface. If not, what is special with
Direct/X capture?
Are there any of your advice above that is applicable to my problem of
capturing the Graphedit output?
(The graph simply renders a DV camera input)
If nothing else helps, I can of course always take some snapshots of the
screen with a digital camera...
/JS
Hello,

Please, try at http://www.captrue.com
CapTrue is capable with capturing video players windows.
The March Hare [MVP]
2008-08-19 20:27:21 UTC
Permalink
Post by Johan Stäck
Are there any of your advice above that is applicable to my problem of
capturing the Graphedit output?
(The graph simply renders a DV camera input)
In GE, add the VMR9 to the graph and connect the DV camera to it. Screen
capture should work.

I'm also interested in your experience with the CapTrue product mentioned.
I have used Camtasia in the past but since I don't use the overlay surface,
I can't say whether it works with it (may be an option you need to turn
on).

P.S. Got your email. Will respond after thinking about it some more.
--
Please read this before replying:
1. Dshow & posting help: http://tmhare.mvps.org/help.htm
2. Trim & respond inline (please don't top post or snip everything)
3. Benefit others: follow up if you are helped or you found a solution
Roman Ryl...
2008-08-19 21:05:35 UTC
Permalink
Hi,
Post by Johan Stäck
Are there any of your advice above that is applicable to my problem of
capturing the Graphedit output?
(The graph simply renders a DV camera input)
If nothing else helps, I can of course always take some snapshots of the
screen with a digital camera...
Perhaps you can open GraphEdit or just some media player and let it
starting play a movie, or even put it on pause - so that this
application could lock overlay resource and thus not allow to use it
in another application. Then start your GraphEdit experiment and its
renderer will be unable to use the overlay and you will be able to
capture it.

Overlay is normally a limited resource, one (or may be two somewhere?)
overlays available in the entire system.

Roman
Johan Stäck
2008-08-20 06:39:34 UTC
Permalink
Post by Roman Ryl...
Hi,
Post by Johan Stäck
Are there any of your advice above that is applicable to my problem of
capturing the Graphedit output?
(The graph simply renders a DV camera input)
If nothing else helps, I can of course always take some snapshots of the
screen with a digital camera...
Perhaps you can open GraphEdit or just some media player and let it
starting play a movie, or even put it on pause - so that this
application could lock overlay resource and thus not allow to use it
in another application. Then start your GraphEdit experiment and its
renderer will be unable to use the overlay and you will be able to
capture it.
Overlay is normally a limited resource, one (or may be two somewhere?)
overlays available in the entire system.
Roman
My first tests with GE were performed in a "lazy fashion" i.e. I added
the DV camera to an empty graph and just rendered its output pin.

If I instead manually add the VMR9 and connect it to the camera, I can
now capture the screen successfully with a non-black output window.


Still, I wonder what capture program authors mean when they claim that
their product can perform Direct/X capture. Anyone knows?

/JS
The March Hare [MVP]
2008-08-20 08:09:49 UTC
Permalink
Post by Johan Stäck
Still, I wonder what capture program authors mean when they claim that
their product can perform Direct/X capture. Anyone knows?
Did you try the one recommended by the other poster?

I know SnagIt attempts to capture the Overlay surface. I have read about
other products that require you to run them first so that they can consume
the Overlay surface at start up then you don't run into problems trying to
capture it.
--
Please read this before replying:
1. Dshow & posting help: http://tmhare.mvps.org/help.htm
2. Trim & respond inline (please don't top post or snip everything)
3. Benefit others: follow up if you are helped or you found a solution
Johan Stäck
2008-08-20 08:52:25 UTC
Permalink
Post by The March Hare [MVP]
Post by Johan Stäck
Still, I wonder what capture program authors mean when they claim that
their product can perform Direct/X capture. Anyone knows?
Did you try the one recommended by the other poster?
I know SnagIt attempts to capture the Overlay surface. I have read about
other products that require you to run them first so that they can consume
the Overlay surface at start up then you don't run into problems trying to
capture it.
I downloaded and installed a trial version of Captrue just now...
It seems to do what it promises to.
I captured both GE and Amcap output without problems...

/JS
a***@gmail.com
2008-08-20 09:21:58 UTC
Permalink
Post by Johan Stäck
Still, I wonder what capture program authors mean when they claim that
their product can perform Direct/X capture. Anyone knows?
/JS
As author of CapTrue I can say that most of the apps that claims they
can capture overlays are useless. Most part of them are just not
working at all, antoher big part requires to run before video player
to capture the overlay and prevent video player from using it. Just
couple of apps (like Fraps or SnagIt) can handle with overlays but
they are useless when you are going to make a screenshot of entire
desktop with video player window. They can grab video image alone,
without surrounding GUI.

CapTrue is one of the rare apps that can capture desktop with video
players windows. It does not disable your overlay or captures it
exclusively. So there are no performance loss during playback. That's
why it is called CapTrue :)
v***@gmail.com
2012-08-29 02:58:07 UTC
Permalink
Post by a***@gmail.com
Post by Johan Stäck
Still, I wonder what capture program authors mean when they claim that
their product can perform Direct/X capture. Anyone knows?
/JS
As author of CapTrue I can say that most of the apps that claims they
can capture overlays are useless. Most part of them are just not
working at all, antoher big part requires to run before video player
to capture the overlay and prevent video player from using it. Just
couple of apps (like Fraps or SnagIt) can handle with overlays but
they are useless when you are going to make a screenshot of entire
desktop with video player window. They can grab video image alone,
without surrounding GUI.
CapTrue is one of the rare apps that can capture desktop with video
players windows. It does not disable your overlay or captures it
exclusively. So there are no performance loss during playback. That's
why it is called CapTrue :)
Could you share you method with us, i am very interesting in it, CapTrue is really Great! It can capture everything on the desktop!
Loading...