set_camera_format issues
Joshua Robertson from Canada  [11 posts]
1 year

Currently when I attempt to send the command to set the camera format, the frame rate that I specify does not get applied

0708_09:48:39.587 <request><set_camera_format><camera_index>0</camera_index><width>1280</width><height>960</height><frame_rate>3.750</frame_rate><compression>Y16</compression></set_camera_format></request>
0708_09:48:41.022 <response>ok</response>
0708_09:48:41.587 <request><get_camera_format></get_camera_format><camera_index>0</camera_index></request>
0708_09:48:41.588 <response><width>1280</width><height>960</height><frame_rate>30</frame_rate><compression>Y16 </compression><bits>16</bits></response>

At first I thought that it just hadn't updated it yet when I had requested the format after setting it, but when I go into roborealm and look at the settings, it is still at 30.

What can I do to resolve this?
Steven Gentner from United States  [1351 posts] 1 year

We did make some fixes to the rate calculation that was not accepting non-integer rates from the API. This appears to now work but there are still some issues that you will encounter. When you set the format information using the API it changes the settings directly in the camera that may NOT appear in the Options button->Video tab->Format button since this interface appears to have its own memory and does not draw the actual values from the camera itself (at least in my experiments). So when you change the frame rate, use the FPS in RR to see how high or low the FPS gets (without any modules loaded) to ensure that the rate was accepted.

Note, its also very important to use a rate you know the camera will support. If it does not, the camera will simply ignore the setting and not provide any indication of doing so ... thus, you need to know what numbers to use.

If you download the latest version this should now allow for decimal frame rates but will still have the issues mentioned above.

Joshua Robertson from Canada  [11 posts] 1 year

Thanks for this information.

Joshua Robertson from Canada  [11 posts] 1 year

I have yet to be able to see this feature work in the latest update to RoboRealm, to be honest I am not sure exactly what value I need to pass in to achieve the 3.75FPS that is available on the camera.

I've tried many different values and all leading to the FPS being ~12-18FPS.

When I read back the frame_rate as part of the camera properties it returns back a value of "33333" for the frame rate.

I understand I can use the camera_properties module inside of RoboRealm to set the frame rate to 3, but the exposure settings in that module don't match up with those inside the "Options->Video Tag->Capture" window so I would prefer to stick with values I am familiar with.

On top of that it would be nice to be able to variably adjust the FPS as needed for specific applications without having to add in more modules and stick to only using the API.

Any assistance with this is much appreciated.

- Josh
Steven Gentner from United States  [1351 posts] 1 year

Thanks for checking. There was still and issue with lower values where they were incorrectly being raised to what the expected minimum value is. Cameras seem to be able to support rates that they don't necessarily indicate. For example, while Logitech reports 5,10,15, etc. fps we can set it quite accurately to 8.

We've retested this on lower values which now seem to work and have also corrected the get_camera_format which now should reports fps instead of average_time_per_frame which is what cameras internally use.

v2.80.46 has these updates.


This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index