Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4587000
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T21:43:06+00:00 2026-05-21T21:43:06+00:00

I am rendering a number of video streams in a Windows form, using the

  • 0

I am rendering a number of video streams in a Windows form, using the same number of VMR9 instances. I am doing this in C# using DirectShowLib-2005.

If there is a need to display 100 videos, I will create 100 FilterGraphs (IFilterGraph2) that will hold one VMR9 instance (VideoMixingRenderer9) each, that will each render 1 video stream.

This uses up the RAM quickly…

Can I make one VMR9 filter render more than one video stream, so I have less VMR9 instances, and more number of video streams rendered?

Any help will be appreciated.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-21T21:43:07+00:00Added an answer on May 21, 2026 at 9:43 pm

    Well… I figured it out… if someone has a better example, please post it here, I will mark it as an accepted answer.

    The graph:
    The graph I want to render with one VMR9 renderer

    If you render this in GrapgEdit (or something else) it displays the first (Input0) stream and the second one (Input1) underneath it, but I want them to be visible at the same time!

    To do this, VMR9 must be configured as such (error handling and some VMR9 configuration omitted):

    //Setting VMR9 to run in WINDOWLESS MODE
    filterConfig = (IVMRFilterConfig9)vmr;
    filterConfig.SetRenderingMode(VMR9Mode.Windowless);
    
    //Number of streams that I want to render together (mix)
    filterConfig.SetNumberOfStreams(2);
    
    //Get the MIXER CONTROL that will be used to configure video rendering surfaces
    mixerCtrl = (IVMRMixerControl9)vmr;
    
    //*** RENDER THE PINS SO THE GRAPH CONNECTS CORRECTLY (omitted) ***
    
    //Define areas of the clipping window that will be covered by each video stream
    NormalizedRect r1 = new NormalizedRect(0,0,0.5f, 0.5f);
    NormalizedRect r2 = new NormalizedRect(0.5f, 0.5f, 1f, 1f);
    
    //For each stream (0 and 1) set the output rect
    mixerCtrl.SetOutputRect(0, ref r1);
    mixerCtrl.SetOutputRect(1, ref r2);
    

    After this, the streams are rendered in top left and bottom right portion of the clipping window, and they are both shown and rendered correctly!!!
    Shows the resulting clipping window containing 2 video streams rendered with one VMR9

    If you want to display more video streams, just SetNumberOfStreams accordingly, and configure NormalizedRect for each one. This way I can render more streams with one VMR9 instance, and I don’t need to worry about RAM running out.

    Now the true coolness of VMR9 shows up… 😀 xD

    PS
    It looks like 16 streams is the limit…

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm rendering text using FormattedText , but there does appear to be any way
There are already a number of questions about text rendering in OpenGL, such as:
I'm rendering some HTML in a QT QLabel. The HTML looks like this: <pre>foo\tbar</pre>
What underlying rendering system does the Qt GUI toolkit use on Windows? (I'm assuming
I have a large number of ViewModel classes. For each of these classes, there
I'm probably going about this all wrong, but hey. I am rendering a large
I have a number of websites that are rendering invalid characters. The pages' meta
The select lists are not rendering with the correct option selected. I've tried this
We're using number of Tracking Pixels on our website to gather stats about our
I understand that Java's native swing UI elements do a number of rendering optimizations

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.