vRenderer

vRenderer is a directShow video renderer that replaces the traditional VMR9 and the like. Instead of supporting multiple input pins, our filter supports only one pin but will let you create one instance of the filter in multiple directShow graphs! Video frames from all vRenderer instances are composited (rendered) as if they were on the same graph but without the restrictions of using a single graph to control multiple media. You can define one or multiple display windows for the rendering and define where each media gets displayed and how. Set the position, size and transparency of each media in each window. The benefit of this architecture is to get an optimized display when using multiple windows but most importantly is the ability to control each filter graph independently of each other.

 

If you want to present two video clips, for instance, with one squeezed in a corner over the other one and apply fade in and out then with a standard renderer both video must be in the same graph to connect to a single renderer but you the transport commands for the graph are global to both clips, you seek one and the other will seek also. With vRenderer you create two graphs instead, one for each media and then you control the renderer to configure the layout of the media in the window. You can then control each graph independently and still get a lot of flexibility for the display layout.

 

Finally, vRenderer can help you manage playout pauses in your application. If it makes sense for your application to remember pauses in a video clip and replay them then our renderer will help you manage the pauses and let the renderer control the graph at play time to replay the pauses you decided to preserve.

 

Features:

 

  • directShow video renderer based on direct3D.
  • Supports ARGB and some YUV formats. YUV will be converted to RGB by the GPU not the CPU when available.
  • Supports multiple instances (graphs).
  • Video from multiple instances of the renderer can share the same output window.
  • Supports multiple display window and replication of a media in all of them.
  • Support media positioning, scaling and opacity control in each display window.
  • Support video clip Pause management.