I am planning to use deepstream in my applications but I am forced to use the following 2 cameras:
or
Both cameras come with their own drivers and developer API to utilize the camera and take photos.
• Hardware Platform (Jetson / GPU)
Jetson Xavier / Baslar USB3 Camera/ Omron USB3 Camera • DeepStream Version
5 • JetPack Version (valid for Jetson only)
4.4 + • TensorRT Version
6+
The problem I am facing is that the cameras cannot be seen using
v4l2-ctl
How does one integrate this into deepstream? When I have all drivers installed and can use the api, the cameras do not appear as usb0/1 when i look for them on linux. Therefore I am not sure how deepstream can take photos from these.
Please let me know if you need any other information.
The only solution I see is to implement a GStreamer element that uses the Basler API to present the camera as a GStreamer source. After that, it should be easy to use it with DeepStream. Something like this.
A trick that works with FLIR cameras that have this same issue is to use them as an RTSP stream, but It doesn’t seem like Basler cameras have this feature.
@miguel.taylor Oh wow! That’s a cool project. I will definately have to look into that.
Have you or your team looked into the Deepstream Python API to do something similar? Before I saw your response I was attempting to code it based on the following implementation to acess the USB cameras with deepstream python API:
I think something similar can be achieved if I somehow incorperate the GST baslar elements in place of the v4l2src ones. Do you have any experience on this? Perhaps @DaneLLL can also comment.
Unfortunately, we haven’t had the time to check DeepStream 5.0 and the Python API. I am looking forward to trying it, but at the moment we use our own Python API (pygstc) that is based in GStreamer Daemon (basically gst-launch in steroids). That is what we use in the example I shared earlier.
I think that you should be able to replace v4l2src with the custom element in the DeepStream python app and it will work fine. You may need to add capsfilter and/or nvvidconv after the cam in order to force the correct caps on the element.