3rd party Camera integration Issues


I am planning to use deepstream in my applications but I am forced to use the following 2 cameras:

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
• JetPack Version (valid for Jetson only)
4.4 +
• TensorRT Version

The problem I am facing is that the cameras cannot be seen using


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.

Thank you!

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.

Suggest you check camera boards from our partners:

We have worked with the partners to have camera boards with optimization. FYR.

So I did a quick search and have come across the following repo:

They have built GST plugins for baslar. How would one then integrate this into deepstream?
Any quick sample/ quick pointers would be very appriciated.

Thank you!

We have a media server demo using v4l2src and nvarguscamerasrc it should work just by replacing these elements with the one you found. Here is the link: https://developer.ridgerun.com/wiki/index.php?title=NVIDIA_GTC_2020:_How_to_build_a_multi-camera_Media_Server_for_AI_processing_on_Jetson

@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.

Thank you all again for the wionderful tips.

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.