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. Jump up to: 1.0 1.1 1.2 Lower versions should be supported but have not been tested
  2. Jump up to: 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