Simultaneous camera OV5640 fps issue - 1080p@30fps

Hi all,
On 820 platform,preview and recording is working simultaneously for OV5640 with 30fps.

When i am trying simultaneously with two OV5640 sensors with both preview and recording simultaneously, i am getting only 25fps and 23 fps for encoded video.

The sensor from which encoding started first was giving higher fps compared to other one.

How can i achieve 30fps encoded video for both sensors at a time?

Pipeline is configured as below:(showing only one sensor pipeline)

sudo media-ctl -v -d /dev/media0 -l ‘“msm_csiphy2”:1->“msm_csid2”:0[1],“msm_csid2”:1->“msm_ispif2”:0[1],“msm_ispif2”:1->“msm_vfe1_pix”:0[1]’
sudo media-ctl -v -d /dev/media0 -V ‘“ov5640 4-003b”:0[fmt:UYVY8_2X8/1920x1080 field:none],“msm_csiphy2”:0[fmt:UYVY8_2X8/1920x1080 field:none],“msm_csid2”:0[fmt:UYVY8_2X8/1920x1080 field:none],“msm_ispif2”:0[fmt:UYVY8_2X8/1920x1080 field:none],“msm_vfe1_pix”:0[fmt:UYVY8_2X8/1920x1080 field:none],“msm_vfe1_pix”:1[fmt:UYVY8_1_5X8/1920x1080 field:none]’

For encoding and preview:

gst-launch-1.0 -e v4l2src device=/dev/video3 ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! tee name=t ! queue ! v4l2h264enc extra-controls=“controls,h264_profile=4,video_bitrate=9000000,num_buffers=12;” ! h264parse ! mp4mux ! queue ! filesink location=/home/linaro/enc.h264 t. ! queue ! videoconvert ! glimagesink sync=false

Regards,
Saikumar

Would be good to try to isolate the problem/limitation. do you have better result when disabling parallel preview? do you have same result with a different source (e.g. ussing videotestsrc)?

Hi Loic,

First thing did recording disabling parallel preview ,then getting 30fps(no issue ),second by using different source (videotestsrc) both preview and recording simultaneous was also giving 30fps(no issue).

Regards,
Saikumar

Hi Loic,

1.Firstly i did 4 recording(2 from each) from 2 sensors ,it was giving 30 fps (no issue). below is pipeline

gst-launch-1.0 -e v4l2src device=/dev/video3 ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! tee name=t ! queue! v4l2h264enc extra-controls=“controls,h264_profile=4,video_bitrate=9000000,num_buffers=12;” ! h264parse ! mp4mux ! queue ! filesink location=/home/linaro/enc3.h264 t. ! queue ! v4l2h264enc extra-controls=“controls,h264_profile=4,video_bitrate=9000000,num_buffers=12;” ! h264parse ! mp4mux ! queue ! filesink location=/home/linaro/enc2.h264

2.Other one I removed sync =false in above script, now i am getting around 27 fps from each sensor and below debug information was coming while running,

Bebug info:-
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: A lot of buffers are being dropped.

Additional debug info:

gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink:

How can i achieve 30fps encoded video for both sensors at a time?

Regards,
Saikumar.v