How can I change device properties like resolution and fps using Emgu.CV / OpenCV?

I am trying to change the properties of my Orbbec Astra Pro which is connected to a Windows 10 machine.

Unfortunately no matter what I set using SetCaptureProperty() it doesnt seem to make a difference.

When I use System.Reflection to retrieve all values from my camera, I receive many -1 result. I guess that means something like: “Nope, sorry, not supported!”.

What am I doing wrong here? How can I set at least the resolution and fps?

foreach (var prop in Enum.GetValues(typeof(CapProp)))
    Debug.WriteLine($"{prop.ToString()} : " +

It seems that I am able to set the contrast using, e.g:

this.videoCapture.SetCaptureProperty(CapProp.Contrast, 50.0);

But using a value of e.g. 100.0 has no effect. I guess it violates some boundary/maximum the camera/driver does read / accept. So the next question is:

How can I find out the accepted range the camera/driver accepts for a property?