• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1062
  • Last Modified:

DirectShow Video Render Filter

I'd like to create a DirectShow Video Render Filter to show the video on a topmost transparent window (mapping a background color as transparent)
0
Liveinteractive
Asked:
Liveinteractive
  • 6
  • 5
1 Solution
 
_corey_Commented:
I'm pretty sure that the new VMR-9 filter available in DirectX 9 has many of the capability you are looking for with blending modes.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directshow/htm/buildingavmr9filtergraph.asp ["Building a VMR-9 Filter Graph"]

It works off of a Direct3D surface and supports image and color transparency blending and multiple streams.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directshow/htm/usingvmrmixingmode.asp ["Using VMR Mixing Mode"]

corey
0
 
LiveinteractiveAuthor Commented:
I'd like to show the video transparent over the desktop
0
 
_corey_Commented:
That should be perfectly possible.  Either use the Desktop window as your destination or create a window with no borders or menu/caption and use that window as your destination.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directshow/htm/vmrmodesofoperation.asp ["VMR Windowless Mode"]

This shows how to setup the video stream within a clipping rectangle and nothing else.

For transparency, use the IVMRMixerControl::SetAlpha method.  This interface is also shows in the link above.

corey
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
LiveinteractiveAuthor Commented:
I can't undertand how, can you make an example, pls (In VB or C++)
0
 
_corey_Commented:
Yes, I can write a simple sample in C++ for you sometime soon.

You might want to close the rest of the questions you have around like this.

Did you want to do streaming video from a device or video from a file?  It changes how I setup the graph.

corey
0
 
LiveinteractiveAuthor Commented:
just open a file and display over the desktop or any window.

Thanks
0
 
_corey_Commented:
I've got a basic rendering structure up now.

However, I never did get what you meant by "video transparent over the desktop".

Can you explain just what look you're going for?

corey
0
 
LiveinteractiveAuthor Commented:
I'd like to display a video over the desktop or any other opened window (a TOMOST WINDOW) designating a color as transparent (using Layering for Win XP) showing in that transparent parts what’s on the desktop and the other windows
0
 
_corey_Commented:
To mod, Liveinteractive,

  I was unable to get time to finish the demo code.  The Renderer specified does allow transparent color selections, but requires extra setup to properly render in a graph.

  I had an issue, for some reason, with rendering to a specified window -- but I didn't have the time apart from to fix it.

corey
0
 
LiveinteractiveAuthor Commented:
I want to levave the question as closed
0
 
LiveinteractiveAuthor Commented:
That is not an answeer... I want the points refunded
0
 
VenabiliCommented:
Why? Please post an explanation what is wrong with the answer above
0

Featured Post

[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now