I need to export a video stream from IMX219-83 Stereo Cameras to a remote display.
-
I have no physical display connected on the Orin Nano - as it is running headless.
-
Configuration:apt show nvidia-jetpackapt show nvidia-jetpack
Package: nvidia-jetpack
Version: 5.1.1-b56
Priority: standard
Section: metapackages
Maintainer: NVIDIA Corporation
Installed-Size: 199 kB
Depends: nvidia-jetpack-runtime (= 5.1.1-b56), nvidia-jetpack-dev (= 5.1.1-b56)
Homepage: Jetson - Embedded AI Computing Platform | NVIDIA Developer
Download-Size: 29.3 kB
APT-Sources: https://repo.download.nvidia.com/jetson/common r35.3/main arm64 Packages
on local (22.04) ubuntu machine, I log into Orin Nano: ssh -X username@machinename
on local machine, I also: export DISPLAY=localhost:10.0
Then, in order to test the connection, I run cheese (usb camera plugged in to Orin Nano USB port). This runs successfully, and shows exported video stream.
Now, I run:
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! ximagesink
libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
GST_ARGUS: Creating output stream
(Argus) Error BadParameter: (propagating from src/eglstream/FrameConsumerImpl.cpp, function initialize(), line 89)
(Argus) Error BadParameter: (propagating from src/eglstream/FrameConsumerImpl.cpp, function create(), line 44)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadInitialize:320 Failed to create FrameConsumer
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:241 (propagating)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, waitRunning:203 Invalid thread state 3
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:806 (propagating)
WARNING: from element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Pipeline construction is invalid, please add queues.
Additional debug info:
gstbasesink.c(1209): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstXImageSink:ximagesink0:
Not enough buffering available for the processing deadline of 0:00:00.015000000, add enough queues to buffer 0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.288199999
Setting pipeline to NULL …
Freeing pipeline …
/var/log/syslog shows:
May 27 11:49:12 auvai1 nvargus-daemon[949]: === NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections…=== gst-launch-1.0[4072]: Connection established (FFFF9A41D900)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
May 27 11:49:12 auvai1 nvargus-daemon[949]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
May 27 11:49:12 auvai1 nvargus-daemon[949]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function verifyDeviceCaps(), line 206)
May 27 11:49:12 auvai1 nvargus-daemon[949]: (NvCamV4l2) Error ModuleNotPresent: (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 66)
May 27 11:49:12 auvai1 nvargus-daemon[949]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function verifyDeviceCaps(), line 206)
May 27 11:49:12 auvai1 nvargus-daemon[949]: (NvCamV4l2) Error ModuleNotPresent: (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 66)
May 27 11:49:12 auvai1 nvargus-daemon[949]: OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
May 27 11:49:12 auvai1 nvargus-daemon[949]: ---- imager: No override file found. ----
May 27 11:49:12 auvai1 nvargus-daemon[949]: message repeated 2 times: [ ---- imager: No override file found. ----]
May 27 11:49:12 auvai1 nvargus-daemon[949]: initializeDevNode: Failed to open dev node ‘/dev/camera/video2’; No such file or directory, trying alternate default location
May 27 11:49:12 auvai1 nvargus-daemon[949]: ---- imager: No override file found. ----
May 27 11:49:12 auvai1 nvargus-daemon[949]: initializeDevNode: Failed to open dev node ‘/dev/camera/video3’; No such file or directory, trying alternate default location
May 27 11:49:12 auvai1 nvargus-daemon[949]: (NvCamV4l2) Error NotSupported: Must be capture/output devices (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function setActiveBufferType(), line 813)
May 27 11:49:12 auvai1 nvargus-daemon[949]: (NvCamV4l2) Error NotSupported: (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 68)
May 27 11:49:12 auvai1 nvargus-daemon[949]: (NvOdmDevice) Error NotSupported: (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorNonViCsi.cpp, function initialize(), line 146)
May 27 11:49:12 auvai1 nvargus-daemon[949]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor_usb
May 27 11:49:12 auvai1 nvargus-daemon[949]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor_usb
May 27 11:49:12 auvai1 nvargus-daemon[949]: NvPclStartPlatformDrivers: Failed to start module drivers
May 27 11:49:12 auvai1 nvargus-daemon[949]: NvPclStateControllerOpen: Failed ImagerGUID 3. (error 0x2)
May 27 11:49:12 auvai1 nvargus-daemon[949]: NvPclOpen: PCL Open Failed. Error: 0xf
May 27 11:49:12 auvai1 nvargus-daemon[949]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 689)
May 27 11:49:12 auvai1 nvargus-daemon[949]: SCF: Error BadParameter: (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
May 27 11:49:12 auvai1 nvargus-daemon[949]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 333)
May 27 11:49:12 auvai1 nvargus-daemon[949]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 505)
May 27 11:49:12 auvai1 nvargus-daemon: E/ libnvphs:socket: Error[2]: socket connection /var/lib/nvphs/nvphsd.ctl to PHS failed: No such file or directory
May 27 11:49:12 auvai1 nvargus-daemon: D/ libnvphs:socket: Warning: connecting to Power Hinting Service failed. Is PHS running?
May 27 11:49:12 auvai1 nvargus-daemon[949]: === gst-launch-1.0[4072]: CameraProvider initialized (0xffff947a1260)SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)
May 27 11:49:12 auvai1 nvargus-daemon: E/ libnvphs:socket: Error[2]: socket connection /var/lib/nvphs/nvphsd.ctl to PHS failed: No such file or directory
May 27 11:49:12 auvai1 nvargus-daemon: D/ libnvphs:socket: Warning: connecting to Power Hinting Service failed. Is PHS running?
May 27 11:49:12 auvai1 nvargus-daemon: E/ libnvphs: Error: NvPHSSendThroughputHints[usecase=camera, hint=MinCPU, value=4294967295, timeout_ms=1000]: queue_or_send() failed
May 27 11:49:13 auvai1 nvargus-daemon[949]: (Argus) Error InvalidState: Unknown stream deleted. (in src/api/CaptureSessionImpl.cpp, function outputStreamDeleted(), line 1094)
Please also note that I have run gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! ximagesink in the past, with physical display plugged into Orin Nano Display Port connection. This runs as expected, showing video stream on local Display. I simply cannot get this video stream to ever show up remotely when there is no display physically connected to Orin Nano.
I’m trying to understand this error better:
May 27 11:49:13 auvai1 nvargus-daemon[949]: (Argus) Error InvalidState: Unknown stream deleted. (in src/api/CaptureSessionImpl.cpp, function outputStreamDeleted(), line 1094)
I would be deeply appreciative of any assistance you can provide,
Thankyou