Hello, I am having some issues using zedsrc in a gstreamer pipeline.
This is my build information:
-result from lsb_release -a:
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
-Nvidia Jetson Xavier NX
-Jetpack4.6
-ZED2i Camera
The Problem:
I am having trouble getting the camera to work in my pipeline (run in a c++ program) after upgrading to ZED 3.7.7 from 3.7.2. When running my custom pipeline, zedsrc seems to not publish any frames to my pipeline and it just idles and instead just streams an image of my desktop environment to the sink display. It does however work when making a sample pipeline using the command line like
gst-launch-1.0 zedsrc ! autovideoconvert ! queue ! xvimagesink
or by recreating that pipeline within my c++. If I downgrade back to 3.7.2, my pipeline works as expected. The only common element that I see here is the upgrade between ZED APK versions as nothing else in my pipeline has changed. Has something changed in between 3.7.2 and 3.7.7 that would explain this?
Additional Information
This is the output that occurred when I upgraded using ./ZED_SDK_Tegra_L4T32.6_v3.7.7.run
:
Verifying archive integrity... 100% MD5 checksums are OK. All good.
Uncompressing 'ZED camera SDK by Stereolabs' 100%
L4T version 32.6 detected. OK
To continue you have to accept the EULA. Accept [Y/n] ?Y
Installing...
Installation path: /usr/local/zed
Checking CUDA version...
OK: Found CUDA 10.2
Do you want to also install the static version of the ZED SDK (AI module will still require libsl_ai.so) [Y/n] ?Y
Do you want to install the AI module (required for Object detection and Neural Depth, recommended) [Y/n] ?Y
Do you want to enable maximum performance mode (recommended)? It provides optimal performance but increases power draw. [Y/n] ?Y
NVIDIA Jetson Xavier NX Developer Kit detected
NVPM WARN: patching tpc_pg_mask: (0x1:0x4)
NVPM WARN: patched tpc_pg_mask: 0x4
NV Fan Mode:quiet
NV Power Mode: MODE_15W_6CORE
2
Install samples (recommended) [Y/n] ?Y
Installation path: /usr/local/zed/samples/
Dependencies installation complete
Do you want to install the Python API (recommended) [Y/n] ?Y
Please specify your python executable: python3
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: numpy in /home/user_name/.local/lib/python3.6/site-packages (1.19.5)
-> Downloading to '/tmp/selfgz24462'
L4T 32.6
Detected platform:
jetsons
Python 3.6
ZED SDK 3.7
-> Checking if https://download.stereolabs.com/zedsdk/3.7/jetsons/l4t32/py36 exists and is available
-> Found ! Downloading python package into /tmp/selfgz24462/pyzed-3.7-cp36-cp36m-linux_aarch64.whl
-> Installing necessary dependencies
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: wheel in /home/user_name/.local/lib/python3.6/site-packages (0.37.1)
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: cython in /home/user_name/.local/lib/python3.6/site-packages (0.29.32)
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: numpy in /home/user_name/.local/lib/python3.6/site-packages (1.19.5)
Defaulting to user installation because normal site-packages is not writeable
Processing ./pyzed-3.7-cp36-cp36m-linux_aarch64.whl
Collecting numpy>=1.13
Using cached numpy-1.19.5-cp36-cp36m-manylinux2014_aarch64.whl (12.4 MB)
Collecting cython>=0.28
Using cached Cython-0.29.32-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (1.9 MB)
Installing collected packages: numpy, cython, pyzed
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
uff 0.6.9 requires protobuf>=3.3.0, but you have protobuf 3.0.0 which is incompatible.
Successfully installed cython-0.29.32 numpy-1.19.5 pyzed-3.7
Done
To install it later or on a different environment run :
python -m pip install --ignore-installed /tmp/selfgz24462/pyzed-3.7-cp36-cp36m-linux_aarch64.whl
The ZED Python API was installed for 'python3', when using conda environement or virtualenv, the ZED Python API may need to be resetup to be available (using 'python /usr/local/zed/get_python_api.py')
/sbin/ldconfig.real: File /usr/local/lib/libjetson-utils.soi is empty, not checked.
Please note that installing the 'libv4l-dev' apt package at any point on jetson will break the hardware encoding/decoding support
ZED SDK installation complete !
[1]- Exit 15 ./ZED_SDK_Tegra_L4T32.6_v3.7.7.run
I then recompiled the ZED Gstreamer library using the instructions at GitHub - stereolabs/zed-gstreamer: GStreamer source plugin for ZED Cameras
and received the following output:
$cmake -DCMAKE_BUILD_TYPE=Release ..
cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'gstreamer-1.0'
-- Found gstreamer-1.0, version 1.14.5
-- Checking for module 'gstreamer-base-1.0'
-- Found gstreamer-base-1.0, version 1.14.5
-- Found GSTREAMER_BASE_LIBRARY: /usr/lib/aarch64-linux-gnu/libgstbase-1.0.so
-- Found GSTREAMER_BASE_INCLUDE_DIR: /usr/include/gstreamer-1.0
-- Found GStreamer: /usr/lib/aarch64-linux-gnu/libgstreamer-1.0.so
-- Checking for module 'gstreamer-plugins-base-1.0'
-- Found gstreamer-plugins-base-1.0, version 1.14.5
-- Checking for module 'gstreamer-video-1.0'
-- Found gstreamer-video-1.0, version 1.14.5
-- Found GSTREAMER_VIDEO_LIBRARY: /usr/lib/aarch64-linux-gnu/libgstvideo-1.0.so
-- Found GSTREAMER_VIDEO_INCLUDE_DIR: /usr/include/gstreamer-1.0
-- Found GStreamerPluginsBase: TRUE
-- Checking for module 'glib-2.0'
-- Found glib-2.0, version 2.56.4
-- Found GLIB2: /usr/lib/aarch64-linux-gnu/libglib-2.0.so
-- Checking for module 'gobject-2.0'
-- Found gobject-2.0, version 2.56.4
-- Found GObject: /usr/include/glib-2.0
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- A library with BLAS API found.
-- Found CUDA: /usr/local/cuda (found suitable version "10.2", minimum required is "10.2")
-- Found CUDA: /usr/local/cuda (found suitable exact version "10.2")
-- Found OpenCV: /usr (found version "4.1.1")
-- Checking for module 'gstreamer-rtsp-server-1.0>=1.14.5'
-- Found gstreamer-rtsp-server-1.0, version 1.14.5
Plugin install dir:
/usr/lib/aarch64-linux-gnu/gstreamer-1.0
Library install dir:
/usr/lib/aarch64-linux-gnu
Include install dir:
/usr/include/gstreamer-1.0/gst/zed
Executable install dir:
/usr/bin
* gstzedmeta library added
gstzedmeta: OS Unix
gstzedmeta: Release mode
* gstzedsrc plugin added
gstzedsrc: OS Unix
gstzedsrc: Release mode
* gstzeddemux plugin added
gstzeddemux: OS Unix
gstzeddemux: Release mode
* gstzeddatamux plugin added
gstzeddatamux: OS Unix
gstzeddatamux: Release mode
* gstzeddatacsvsink plugin added
gstzeddatacsvsink: OS Unix
gstzeddatacsvsink: Release mode
* gstzedodoverlay plugin added
gstzedodoverlay: OS Unix
gstzedodoverlay: Release mode
* gst-zed-rtsp-launch RTSP server application
gst-zed-rtsp-launch: OS Unix
gst-zed-rtsp-launch: Release mode
-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.
-----------------------------------------------------------------------------
* GStreamer - Required to build
* GStreamer base library - Required to build
* GStreamer video library - Required to build
* GLib - Required to build
* GObject - Required to build
* ZED SDK - Required to build 'gstzed'
* Nvidia CUDA library - Required to build 'gstzed'
* OpenCV library - Required to build 'gstzedodoverlay'
* GSTREAMER RTSP SERVER library - Required to build 'gstrtspserver'
-----------------------------------------------------------------------------
-- Congratulations! All external packages have been found.
-----------------------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user_name/Downloads/zed-gstreamer/build
$ make
Scanning dependencies of target gstzedmeta
[ 7%] Building CXX object gst-zed-meta/CMakeFiles/gstzedmeta.dir/gstzedmeta.cpp.o
[ 14%] Linking CXX shared library libgstzedmeta.so
[ 14%] Built target gstzedmeta
Scanning dependencies of target gstzedsrc
[ 21%] Building CXX object gst-zed-src/CMakeFiles/gstzedsrc.dir/gstzedsrc.cpp.o
[ 28%] Linking CXX shared module libgstzedsrc.so
[ 28%] Built target gstzedsrc
Scanning dependencies of target gstzeddemux
[ 35%] Building CXX object gst-zed-demux/CMakeFiles/gstzeddemux.dir/gstzeddemux.cpp.o
[ 42%] Linking CXX shared module libgstzeddemux.so
[ 42%] Built target gstzeddemux
Scanning dependencies of target gstzeddatamux
[ 50%] Building CXX object gst-zed-data-mux/CMakeFiles/gstzeddatamux.dir/gstzeddatamux.cpp.o
[ 57%] Linking CXX shared module libgstzeddatamux.so
[ 57%] Built target gstzeddatamux
Scanning dependencies of target gstzeddatacsvsink
[ 64%] Building CXX object gst-zed-data-csv-sink/CMakeFiles/gstzeddatacsvsink.dir/gstzeddatacsvsink.cpp.o
[ 71%] Linking CXX shared module libgstzeddatacsvsink.so
[ 71%] Built target gstzeddatacsvsink
Scanning dependencies of target gstzedodoverlay
[ 78%] Building CXX object gst-zed-od-overlay/CMakeFiles/gstzedodoverlay.dir/gstzedodoverlay.cpp.o
[ 85%] Linking CXX shared module libgstzedodoverlay.so
[ 85%] Built target gstzedodoverlay
Scanning dependencies of target gst-zed-rtsp-launch
[ 92%] Building CXX object gst-zed-rtsp-server/CMakeFiles/gst-zed-rtsp-launch.dir/zed-rtsp-launch.cpp.o
[100%] Linking CXX executable gst-zed-rtsp-launch
[100%] Built target gst-zed-rtsp-launch
$ sudo make install
sudo make install
[ 14%] Built target gstzedmeta
[ 28%] Built target gstzedsrc
[ 42%] Built target gstzeddemux
[ 57%] Built target gstzeddatamux
[ 71%] Built target gstzeddatacsvsink
[ 85%] Built target gstzedodoverlay
[100%] Built target gst-zed-rtsp-launch
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/lib/aarch64-linux-gnu/libgstzedmeta.so
-- Up-to-date: /usr/include/gstreamer-1.0/gst/zed/gstzedmeta.h
-- Installing: /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstzedsrc.so
-- Set runtime path of "/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstzedsrc.so" to ""
-- Installing: /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstzeddemux.so
-- Set runtime path of "/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstzeddemux.so" to ""
-- Installing: /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstzeddatamux.so
-- Set runtime path of "/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstzeddatamux.so" to ""
-- Installing: /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstzeddatacsvsink.so
-- Set runtime path of "/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstzeddatacsvsink.so" to ""
-- Installing: /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstzedodoverlay.so
-- Set runtime path of "/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstzedodoverlay.so" to ""
-- Installing: /usr/bin/gst-zed-rtsp-launch
Possibly Related
Trying to import pyzed.sl as sl in a python program causes Illegal Instruction (core dumped)