GStreamer Video Stabilizer for NVIDIA Jetson Boards - Getting Started - Evaluating GstNvStabilize
GStreamer Video Stabilizer |
---|
Video Stabilization Basics |
User Guide |
Getting Started |
Examples |
Performance |
Contact Us |
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 |
(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.
- GStreamer Video Stabilizer for NVIDIA Jetson Boards/Examples/TX1/TX2 Pipelines
- GStreamer Video Stabilizer for NVIDIA Jetson Boards/Examples/Xavier 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.