12 Replies Latest reply on Oct 18, 2017 6:29 PM by mchip

    SR300 - Frame Rate minimal value

    DeanM

      Hi all,

       

      My first question regarding this device would be mostly connected to FPS for the SR300 device.

       

      I have found the device sheet where it describes it is possible to set the FPS to 10, but with all possible settings changed to reflect the sheet, camera won't even start (the minimal value that I can use is 30FPS).

      The SDK documentation is not very clear on this topic (examples also only use the values 30/60FPS).

       

      The question would be this: what needs to be done to enable streaming from the camera with 10FPS?

       

      Kind regards,

      Dean

        • 1. Re: SR300 - Frame Rate minimal value
          MartyG

          I have never heard of the SR300 being used at speeds other than 30 or 60 FPS, even though the SR300 data sheet (where the resolution chart comes from) says that 10 FPS is supported.  Although a feature may be listed in the data sheet for a camera, there may be rare occasions where it is not necessarily actually implemented in the SDK software so that the feature can be accessed.

           

          In the open-source Librealsense SDK, they created a patch file for 10 FPS with the SR300 late last year.

           

          Depth/IR streams always 30FPS for SR300 and F200 · Issue #361 · IntelRealSense/librealsense · GitHub

          • 2. Re: SR300 - Frame Rate minimal value
            DeanM

            Hi Marty,

             

            Thank you for a quick replay regarding this. I expected as much, just wanted to confirm it.

            I spent a lot of time trying different things to improve the quality of the frames and I couldn't manage to bring the FPS bellow 30.

            • 3. Re: SR300 - Frame Rate minimal value
              MartyG

              You're very welcome.    I wish you the best of luck with getting 10 fps up and running, if you choose to use Librealsense.

              • 4. Re: SR300 - Frame Rate minimal value
                mchip

                I have the same trouble but with windows 10, the rs300 works fine with framerate 60 and 30, put I cant set 10,

                somebody know how can I Change this?

                • 5. Re: SR300 - Frame Rate minimal value
                  MartyG

                  I believe your best chance of setting 10 FPS may be to use Librealsense, given the 10 FPS patch that was developed for Librealsense.

                   

                  Depth/IR streams always 30FPS for SR300 and F200 · Issue #361 · IntelRealSense/librealsense · GitHub

                   

                  Whilst using Librealsense with Windows was an awkward option once, you may find that the new RealSense SDK 2.0- - which is a new and improved Librealsense that works on Windows 10 as well as Linux and is SR300 compatible - may make life easier for you in regard to writing a 10 FPS application.  This is dependent on whether the 10 FPS patch would function with SDK 2.0, of course.

                   

                  GitHub - IntelRealSense/librealsense at development

                  • 6. Re: SR300 - Frame Rate minimal value
                    mchip

                    Thank you somuch, Now I have other quations, I tried to use , realsense on linux, but all examples are for windows, so I always see the PXCSensemanager for make a new conections, but on linux this class not exist, so I tried to used java and is ridiculus that only works again for windows (so does not have sense), I instaled libgdx for java on linux and again, only works for windows, I can not understand whay this apis says "cross" when not working in linux. There are some posibilite to compile de realsense class "PXC(classes)" for linux???, for not use the realsense/rs.h.

                    • 7. Re: SR300 - Frame Rate minimal value
                      MartyG

                      If you are using Linux then I would recommend using the new RealSense SDK 2.0, which is an advanced form of Librealsense and is compatible with the SR300.  It is a cross-platform, open source SDK that works on Windows and Linux, with Mac OSX support coming.  I believe that SDK 2.0 will be the single standard SDK for RealSense from this point onward.

                       

                      I understand that this is awkward from the perspective of having to find examples in the Librealsense language instead of the Windows PCX samples.  By adopting SDK 2.0 though, you will be future-proofing your work, since the old Windows SDKs will not be receiving further updates.  SDK 2.0 comes with some sample scripts that you can use as a reference

                       

                      RealSense SDK 2.0 documentation

                      • 8. Re: SR300 - Frame Rate minimal value
                        mchip

                        Thank you, I see that the project for windows include cpp2c with the c++ implementation code, Can I take this project and Compiler on linux??? and reproduce .so bin??

                        Best regards!

                        • 9. Re: SR300 - Frame Rate minimal value
                          MartyG

                          SDK 2.0 is cross-platform, so an SDK 2.0 script should work in a Linux compiler so long as you use an include in your C++ script to call the SDK's API, as described in the tutorial examples.

                           

                          #include <librealsense2/rs.hpp> // Include RealSense Cross Platform API

                          • 10. Re: SR300 - Frame Rate minimal value
                            mchip

                            I meand that the windows project rssdk has the cpp for PXCSENSEMANAGER.cpp and I see that has other resource. I just install the librealsense 2 but not works, I get error

                            • 11. Re: SR300 - Frame Rate minimal value
                              MartyG

                              There is no compatibility between the previous Windows RealSense SDK (RSSDK) that has the PXCSensemanager file and the Librealsense-based SDK 2.0.  They have completely different DLL library files.

                              • 12. Re: SR300 - Frame Rate minimal value
                                mchip

                                ok, I made this sample:

                                // Create a Pipeline - this serves as a top-level API for streaming and processing frames

                                rs2::pipeline p;

                                 

                                // Configure and start the pipeline

                                p.start();

                                 

                                while (true)

                                {

                                   // Block program until frames arrive

                                  rs2::frameset frames = p.wait_for_frames();

                                  

                                   // Try to get a frame of a depth image

                                  rs2::depth_frame depth = frames.get_depth_frame();

                                   // The frameset might not contain a depth frame, if so continue until it does

                                   if (!depth) continue;

                                 

                                   // Get the depth frame's dimensions

                                   float width = depth.get_width();

                                   float height = depth.get_height();

                                  

                                   // Query the distance from the camera to the object in the center of the image

                                   float dist_to_center = depth.get_distance(width / 2, height / 2);

                                  

                                   // Print the distance

                                  std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";

                                }

                                Ok. I just compile sample on linux for realsense2 and a get this error:

                                En la fución 'rs2::pipeline::start()',

                                /usr/include/librealsense2/hpp/rs_pipeline.hpp: 371 referencia a 'rs2_pipeline_start' sin definir.

                                Why happend this??