Cannot change FPS to 60

Cannot change FPS to 60

Ritratto di Zsolt E.

I'm trying to change the camera's FPS from 30 to 60, but it's not working. I'm using beta3 build 6765.

Here is the minimal version of the code I'm trying to use:

UtilPipeline mUtilPipeline;
mUtilPipeline.EnableImage( PXCImage::COLOR_FORMAT_DEPTH, 320, 240 );

if( !mUtilPipeline.Init() )
{
    cout << "Connection problem with Intel Camera!" << endl;
    quit();
}
else
{
    PXCCapture::VideoStream::ProfileInfo pinfo;
    mUtilPipeline.QueryCapture()->QueryVideoStream( 0 )->QueryProfile( &pinfo );
    pinfo.frameRateMin.numerator = 60;
    pinfo.frameRateMin.numerator = 1;
    pinfo.frameRateMax = pinfo.frameRateMin;
    mUtilPipeline.QueryCapture()->QueryVideoStream( 0 )->SetProfile( &pinfo );

    // check
    mUtilPipeline.QueryCapture()->QueryVideoStream( 0 )->QueryProfile( &pinfo );
    cout << pinfo.frameRateMin.numerator << endl;
}

My problem is that the camera stays at 30 FPS, and the above line outputs 30 FPS as well.

I've tried both with RGB and Depth channel as well. 

What is the correct way to change FPS for camera with UtilPipeline?

9 post / 0 new
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
Ritratto di David Lu (Intel)

For depth image, the max FPS is 30.

Ritratto di Zsolt E.

Quote:

David Lu (Intel) wrote:

For depth image, the max FPS is 30.

Thanks! So does it mean that if either 
EnableGesture(), 
or
EnableImage( PXCImage::COLOR_FORMAT_DEPTH, 320, 240 );

Is enabled, then we are limited to 30 FPS?

 

Ritratto di Chuck De Sylva (Intel)

Zsoft E,

The Creative camera only supports 25 and 30 fps for a color stream and 25, 30, 50, and 60 fps for depth streams.

Can you try changing the line "pinfo.frameRateMin.numerator = 1;" to "pinfo.frameRateMin.denominator = 1;"?

Does that resolve the issue?

- Chuck

Ritratto di Zsolt E.

Chuck, thanks for this. Also, for the typo!

So here is what happens:

if only:
mUtilPipeline.EnableGesture();
mUtilPipeline.EnableImage( PXCImage::COLOR_FORMAT_DEPTH, 320, 240 );

are enabled, the QueryProfile returns 60 and the camera runs at 60.

 However, as soon as any one of 
EnableImage( PXCImage::COLOR_FORMAT_RGB32, 640, 480 );
EnableFaceLocation
EnableFaceLandmark 

are enabled, the QueryProfile returns 60 and the camera runs at 30.

So there is a bug in QueryProfile reporting the wrong framerate, but otherwise it's all OK.

Ritratto di Chuck De Sylva (Intel)

Zsoft E.,

The DepthSense color stream for the Creative Camera only outputs data at 25 or 30 fps. 30 FPS is the right speed if color and depth are created/synced by UtilPipeline. Please keep in mind that in this scenario that DepthSense may still output frames at 60 FPS, with half of them dropped. It is the nature of this particular camera.

Might it be possible to see the code you are using (privately or otherwise)?

- Chuck

Ritratto di Zsolt E.

Quote:

Chuck De Sylva (Intel) wrote:

Zsoft E.,

The DepthSense color stream for the Creative Camera only outputs data at 25 or 30 fps. 30 FPS is the right speed if color and depth are created/synced by UtilPipeline. Please keep in mind that in this scenario that DepthSense may still output frames at 60 FPS, with half of them dropped. It is the nature of this particular camera.

Might it be possible to see the code you are using (privately or otherwise)?

- Chuck

Yes, sure, I'm developing the camera part as an open-source block for Cinder, it's here:

https://bitbucket.org/zsero/cinder-intelcam/src/90798757bdd9/include/Int...

Look at the initialize and the update functions. As it is now, it runs at 30 fps because of the wait = true, but it reports 60 fps.

Ritratto di Zsolt E.

x

Ritratto di Zsolt E.

x

Accedere per lasciare un commento.