GStreamer Video Stabilizer for NVIDIA Jetson Boards - Getting Started - Building GstNvStabilize

From RidgeRun Developer Wiki


Note
GstNVStabilize works for Jetpack versions up to 4.x. For latest Jetpacks please refer to our new Stabilization product:

RidgeRun Video Stabilization Library


Previous: Getting Started/Getting the code Index Next: Examples





This page provides a guide to installing GstNvStabilize.

Dependencies

Start by making sure the following dependencies are installed.

  • GStreamer 1.14 or greater development packages[1]
    • libgstreamer1.0-dev
    • libgstreamer-plugins-base1.0-dev
    • libcpputest-dev
  • CUDA 10.0 or greater[1][2]
  • VisionWorks 1.6 or greater[1][2]

Linux

In Debian based systems, you may install the development packages by running the following command:

sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcpputest-dev

CUDA deviceQuery

CUDA has a utility called "deviceQuery". I order to meet that dependency, you have to follow these steps:

  • cd /usr/local/cuda/samples/1_Utilities/deviceQuery # This path may change accordingly to your CUDA installation (this is the deafult)
  • sudo make
  • # The de "deviceQuery" utility will be ready to use. Test it by executing it as follows: ./deviceQuery

Building the Plug-in

This configuration has been tested on Jetson TX2, Nano and Xavier.

./autogen.sh --prefix /usr/ --libdir /usr/lib/aarch64-linux-gnu/
make
sudo make install

Verify Proper Installation

The plugin installation can be verified by running:

gst-inspect-1.0 nvstabilize

Troubleshooting

The first level of debug to troubleshoot a failing pipeline is to inspect GStreamer debug output.

GST_DEBUG=2 gst-launch-1.0 videotestsrc ! nvstabilize ! fakesink

If the output doesn't help you figure out the problem, please contact support@ridgerun.com with the output of the GStreamer debug and any additional information you consider useful.

If the plug-in is not being recognized, please provide the output of the following command:

gst-inspect-1.0 /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvstabilize.so

No GPU Detected

If you get a configuration error like the following, where no GPU is being detected:

configure: Setting platform preference to: "auto"
checking for nvcc... /usr/local/cuda/bin/nvcc
checking for /usr/local/cuda/lib64... yes
checking size of long... 8
checking for cuda.h... yes
configure: GPU test result: FAIL
configure: error: The system does not have GPU
[AUTOGEN][10:25:21][ERROR]	Failed to run configure

Please check if the Jetson TX2/Nano/Xavier was able to load the modules located at /lib/modules. This issue happens when the GPU modules have not been loaded.


Previous: Getting Started/Getting the code Index Next: Examples



  1. 1.0 1.1 1.2 Lower versions should be supported but have not been tested
  2. 2.0 2.1 By default, JetPack 4.2 installs these versions. For instructions on how to manually install these packages refer to Jetson Nano Guide