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