Doubt about video source stream path for nvarguscamerasrc

Hi ,

I am using Nvidia jetson AGX Orin , 64 gb board. using e-CAM82_CUOAGX (imx485) CAMERA.

i am using below pipeline for gstreamer

gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, format=(string)NV12, framerate=(fraction)60/1’ ! nvvidconv ! xvimagesink sync=false

my question is as below

Q . can i get information about from where nvarguscamerasrc gets video data. i mean from which device like /dev/video0. i am seeing that for /dev/video0 is not using for nvarguscamerasrc. which device from /dev is using ?

Thanks ,
Tushar

Hi @tushar.gajjar,

Regarding your question, the camera devices are shown under that path “/dev/videoN”, where it varies according to the number of cameras connected, so if you have only one cam, there will be only /dev/video0. And by default nvarguscamerasrc uses the sensor-id property on 0, so it’ll take that device. If you have more cams, you can use that sensor-id property to control which one is using.

Regards,
Andres
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: www.ridgerun.com

1 Like

Hi Andres artavia

Thanks for response to my question .

i am seeing /dev/video0 node only.

I have still doubt on that nvarguscamerasrc use /dev/videoX ( x=0,1,2,3…) or uses something else /dev/

i run below pipeline

gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM), width=(int)3840, height=(int)2160, format=(string)NV12, framerate=(fraction)60/1’ ! nvvidconv ! xvimagesink sync=false

i have run two test as below

(1) i run below command

   lsof  -p  6165
                         ( where 6165 is pid of gst-launch pipeline )

on running lsof command i am not seeing any /dev/videox in log of that command

(2) i run below command

  fuser -v /dev/video0

i am not seeing that /dev/video0 is using by any .

after run this two test is relay nvarugescamerasrc uses /dev/videox or any /dev/ ?

Thanks
Tushar
lsof-gstlaunch.txt (17.4 KB)

Got it. So no, nvarguscamerasrc doesnt use the /dev/videoN, it relies on argus daemon and that library uses the devices. You can check launching a pipeline and checking for the lsof -p N for the nvargus-daemon process. And it will show all devices that it uses, including the videoN devices.
If you need a fixed mapping say you have multiple cameras, so you want /video0 to be sensor-id=0, you will need to modify the kernel and add a property to v4l2 sources and other capture sources. And then use the device tree to have a fixed value for each sensor. Then you will need to modify nvarguscamerasrc to follow that mapping and disabling some range checks that it does.

Regards,
Andres

1 Like

Hi andres.artavia

Have a great day.

Thanks a lot for solving my doubt.

now i am looking for source code of that libargus. i am not able to see that code. i have download sample rootfile source code from https://developer.nvidia.com/downloads/r35releasev21-sources-ubuntufocal-l4taarch64srctbz2.

is nvargus-daemon source code is open for public or not ?

Again Thanks andres.artavia

Tushar

Hi,
Unfortunately the sources for libargus are not available, only for gst-nvarguscamerasrc.
Regards,
Andres

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.