mipi csi camera is not detected in the simple browser application running on imx8mplus board
-
I am trying to test the webrtc apis from this link https://webrtc.github.io/samples/ .While I am trying to test them usb camera is detected but not my mipi camera connected mipi1 csi port .What is the reason for this.Can anyone help me to resolve this
-
Hi and welcome to devnet,
Sorry, I don't have a ready made solution but how is you MIPI camera seen by the system ? Can you grab image from it with for example QtMultimedia ?
-
Hi @SGaist,
Thank you for giving your time . I am able to stream the camera by using the declarative camera .But I am not able to access the camera from the qtwebengine browser applications .I am even able to stream the camera by using gstlaunch1.0 command .Usb camera is detected in those examples which I tried but mipi camera is not detetcted.root@imx8mpevk:~# v4l2-ctl --list-device (): /dev/v4l-subdev0 FSL Capture Media Device (platform:32c00000.bus:camera): /dev/media0 mxc-isi-cap (platform:32e00000.isi:cap_devic): /dev/video3 mxc-isi-m2m (platform:32e00000.isi:m2m_devic): /dev/video2 vsi_v4l2dec (platform:vsi_v4l2dec): /dev/video1 vsi_v4l2enc (platform:vsi_v4l2enc): /dev/video0
root@imx8mpevk:~# v4l2-ctl --all -d /dev/video3 Driver Info: Driver name : mxc-isi-cap Card type : mxc-isi-cap Bus info : platform:32e00000.isi:cap_devic Driver version : 6.1.36 Capabilities : 0x84201000 Video Capture Multiplanar Streaming Extended Pix Format Device Capabilities Device Caps : 0x04201000 Video Capture Multiplanar Streaming Extended Pix Format Priority: 2 Format Video Capture Multiplanar: Width/Height : 640/480 Pixel Format : 'RGBP' (16-bit RGB 5-6-5) Field : None Number of planes : 1 Flags : Colorspace : sRGB Transfer Function : Default YCbCr/HSV Encoding: ITU-R 601 Quantization : Full Range Plane 0 : Bytes per Line : 1280 Size Image : 614400 Crop Capability Video Output: Bounds : Left 0, Top 0, Width 640, Height 480 Default : Left 0, Top 0, Width 640, Height 480 Pixel Aspect: 1/1 Selection Video Output: compose, Left 0, Top 0, Width 640, Height 480, Flags: Selection Video Output: compose_default, Left 0, Top 0, Width 640, Height 480, Flags: Selection Video Output: compose_bounds, Left 0, Top 0, Width 640, Height 480, Flags: Streaming Parameters Video Capture: Capabilities : timeperframe Frames per second: 30.000 (30/1) Read buffers : 0 User Controls horizontal_flip 0x00980914 (bool) : default=0 value=0 vertical_flip 0x00980915 (bool) : default=0 value=0 alpha_component 0x00980929 (int) : min=0 max=255 step=1 default=0 value=0
Output of mipi camera which is on video node3
-
@SGaist , It is not giving the popup for accessing the camera whereas when an usb camera is connected it is giving the popup .It is not required to give permissions.
When I have gone through the debug log I got this[1048:1059:1019/091825.355046:VERBOSE1:media_stream_manager.cc(1112)] video capture: VideoCaptureManager::OnDeviceInfosReceived: Recevied 0 device infos. [1048:1059:1019/091825.355136:VERBOSE1:media_stream_manager.cc(1112)] MDM::DevicesEnumerated({type=VIDEO_INPUT}, {labels]) [1134:1134:1019/091825.355427:VERBOSE1:webrtc_logging.cc(35)] UMP::SelectVideoDeviceSettings. request_id=0. [1134:1134:1019/091825.355653:VERBOSE1:webrtc_logging.cc(35)] UMP::GetUserMediaRequestFailed({request_id=0}) [1134:1134:1019/091825.356001:VERBOSE1:webrtc_logging.cc(35)] UMP::DelayedGetUserMediaRequestFailed({request_id=0}, {result=NO_HARDWARE})
No hardware found .Is this due to chromium or qtwebengine not able to find this mipi csi camera combination? .Can you help me plese resolve this fastly?
-
@SGaist , Firstly thank you for your response. I have one doubt ,like the mipi csi camera is detected in all the qtmultimedia applications and I am able to stream the camera using gstlaunch-1.0 command but why it is not detected only in webengine applications. But how qtmultimedia is detetcing and qtwebengine is not detecting if it is a hardware detection failure. Then how the hardware is not detecting the camera only in webengine applications. I assume that this is due to chromium in webengine applications. Can you share some of your thoughts regarding this?
Please help me understand the cause for this problem.
-
@Rajesh_M the thing is, QtMultimedia uses either the native system's API or since 6.5, the ffmpeg backend. Chromium in this regard used its own stack (I mean it does not use QtMultimedia but I don't know exactly how it integrates the hardware layer). From the looks of it, it does not properly see your camera but I don't know whether it's a limitation or a bug.
-
@SGaist I am able to stream the camera in the imx6 with qt5 with chromium version of 65 .I assume that the camera is not detected due to the some undealed cases in the chromium in the thing that I am using .As I am using the qt6 with chromium version 98.So is there any way to downgrade the chromium in qt6.If yes can you tell how can we do this and what is the minimum possible version that we can downgrade
-
@SGaist ,I have tried to apply that patch to the version 98 and now it is detecting the cameras but unable to stream it in the browser and giving this error
[1531:1539:1116/044816.475847:ERROR:v4l2_capture_delegate.cc(988)] Dequeued v4l2 buffer contains invalid length (0 bytes). [1531:1539:1116/044816.509127:ERROR:v4l2_capture_delegate.cc(988)] Dequeued v4l2 buffer contains invalid length (0 bytes).
Can you please help me solve this by providing your insights ?