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


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: User Guide Index Next: Getting Started/Getting the code





This page serves as a guide to test the GStreamer Video Stabilizer for the NVIDIA Jetson Board evaluation binary provided by RidgeRun.

Requesting the Evaluation Binary

In order to request an evaluation binary for a specific architecture, please contact us providing the following information:

  • Platform (i.e.: NVIDIA Jetson TX1/TX2, Xavier, Nano, NXP i.MX8, i.MX6 etc...)
  • gst-launch-1.0 --gst-version
  • uname -a



Features in the Evaluation

To help you test GstNvStabilize, RidgeRun can provide an evaluation version of the plug-in. The following table summarizes the features available in both the professional and evaluation version of the element.

Feature Professional Evaluation
GstNvStabilize Element Y Y
Unlimited Processing Time Y N(1)
Source Code Y N
Table 1. Features provided in the evaluation version

(1) The evaluation version will limit the streaming time of each pad to 1 minute after a 5 seconds delay (at 30fps).

Testing the Binary

Dependencies

GstNvStabilize has the following dependencies:

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

Additionally, depending on your use case you may find it useful to have the following GStreamer elements installed:

  • v4l2src
  • nvvidconv
  • nvoverlaysink
  • nveglglessink
  • filesrc
  • qtdemux
  • h264parse
  • omxh264dec
  • videoconvert

Running the Binary

RidgeRun should've provided you with a shared object:

GStreamer Plug-in
libgstnvstabilize.so

In order to use the binary provided, export the location of the plugin in your environment.

export GST_PLUGIN_PATH=${GST_PLUGIN_PATH}:/path/to/evaluation/binary/plugin

where /path/to/evaluation/binary/plugin is the location in your file system where you have the plugin provided by RidgeRun. Additionally, you may just copy the binary into the standard GStreamer plug-in search path.

Finally, test that the plugin is being properly picked up by GStreamer by running:

gst-inspect-1.0 nvstabilize

You should see the inspect output for the evaluation binary.

Example Pipelines

Please refer to the next pages for reference pipelines.

Troubleshooting

The first level of debug to troubleshoot a failing evaluation binary 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 path/to/your/evaluation/binary/libgstnvstabilize.so

CoreDump running nvstabilize

If you get a coredump issue when running Gst-NvStabilize like the following:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
terminate called after throwing an instance of 'std::runtime_error'
what(): CUDA-capable GPU was not found.

Aborted (core dumped)

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: User Guide Index Next: Getting Started/Getting the code



  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