Dual OV5645 streaming side by side


Hi ,

   Does anybody have an idea to get side by side streaming with dual OV5645 module on dragonboard410c? We were able to get the stream from both CSI0 and CSI1 with gstreamer,but not concurrently.




Could you please add details about how exactly you are configuring it and what happens?


Hi Todor,

      Here is how i configure the pipeline:


media-ctl -d /dev/media1 -l ‘“msm_csiphy0”:1->“msm_csid0”:0[1],“msm_csid0”:1->“msm_ispif0”:0[1],“msm_ispif0”:1->“msm_vfe0_rdi0”:0[1]’

media-ctl -d /dev/media1 -V ‘“ov5645 1-0076”:0[fmt:UYVY2X8/1920x1080],“msm_csiphy0”:0[fmt:UYVY2X8/1920x1080],“msm_csid0”:0[fmt:UYVY2X8/1920x1080],“msm_ispif0”:0[fmt:UYVY2X8/1920x1080],“msm_vfe0_rdi0”:0[fmt:UYVY2X8/1920x1080]’


media-ctl -d /dev/media1 -l ‘“msm_csiphy1”:1->“msm_csid1”:0[1],“msm_csid1”:1->“msm_ispif1”:0[1],“msm_ispif1”:1->“msm_vfe0_rdi1”:0[1]’

media-ctl -d /dev/media1 -V ‘“ov5645 1-0074”:0[fmt:UYVY2X8/1920x1080],“msm_csiphy1”:0[fmt:UYVY2X8/1920x1080],“msm_csid1”:0[fmt:UYVY2X8/1920x1080],“msm_ispif1”:0[fmt:UYVY2X8/1920x1080],“msm_vfe0_rdi1”:0[fmt:UYVY2X8/1920x1080]’

Now i can use gstreamer to stream either one: gst-launch-1.0 v4l2src ! glimagesink


gst-launch-1.0 v4l2src device=/dev/video1 ! glimagesink

But not both cameras at the same time,any idea? Thanks




I suppose the problem might be in glimagesink.

Could you please test with fakesink or filesink to check whether the two cameras can stream simultaneously (this should work).
gst-launch-1.0 v4l2src device=/dev/video1 ! fakesink


Hi Todor,

       I tried fakesink and filesink,still no luck.Once we started the second stream,the first one will exit automatically somehow.We are based on debian release 16.09



In this case my recommendation would be to upgrade to the latest version and test again. If it still happens with the latest version we will have to find and fix the problem. However at my side I can run simultaneous streaming from two cameras - with the latest version.


Hi Todor,

       I tried debian 17.06 release,so first started the camera for video0 with gst-launch-1.0 v4l2src ! glimagesink,then gst-launch-1.0 v4l2src device=/dev/video1 ! fakesink

       video1 may work ,but i just can't see it,i think fakesink dumped whatever it got.How did you run the two cameras simultaneously?Thanks




fakesink discards whatever it receives.
You could enable some debug prints on v4l2src and it will print timestamps for each frame received - so you can see that it receives data:

gst-launch-1.0 --gst-debug=v4l2src:10 v4l2src device=/dev/video1 ! fakesink

If you have any doubts please also post the output that you get.

Best regards,