Jetson TX2 GStreamer guide

From RidgeRun Developer Wiki


Previous: Nvidia TX2 NVP Model Index Next: GStreamer/Compile gstreamer on Jetson TX1 and TX2






Introduction to Jetson TX2 GStreamer guide

On this page, you are going to find a set of pipelines used on Jetson TX2, specifically used with the Jetson board. The wiki page tries to describe some of the multimedia features of the platform like the NVIDIA model to handle the ISP through its custom (and close) plugin called nvcamerasrc. It also includes a brief description of the sample application called nvgstcapture-1.0 and ways to measure the ARM load. The goal is to provide you some example pipelines and introduction to the board. It is a work in progress.

The camera sensor used for tests is the OV5693. These steps were run on Jetson TX2.

GStreamer pipelines

Recall that this board is a quad core A57 with some hardware units dedicated to encode/decode. Plugins accelerated by Hardware available:

gst-inspect-1.0 | grep omx
omx:  nvoverlaysink: OpenMax Video Sink
omx:  nvhdmioverlaysink: OpenMax HDMI Video Sink
omx:  omxvp9enc: OpenMAX VP9 Video Encoder
omx:  omxvp8enc: OpenMAX VP8 Video Encoder
omx:  omxh265enc: OpenMAX H.265 Video Encoder
omx:  omxh264enc: OpenMAX H.264 Video Encoder
omx:  omxwmvdec: OpenMAX WMV Video Decoder
omx:  omxmpeg2videodec: OpenMAX MPEG2 Video Decoder
omx:  omxvp9dec: OpenMAX VP9 Video Decoder
omx:  omxvp8dec: OpenMAX VP8 Video Decoder
omx:  omxh265dec: OpenMAX H.265 Video Decoder
omx:  omxh264dec: OpenMAX H.264 Video Decoder
omx:  omxmpeg4videodec: OpenMAX MPEG4 Video Decoder

NVIDIA plugins:

gst-inspect-1.0 | grep nv
omx:  nvoverlaysink: OpenMax Video Sink
omx:  nvhdmioverlaysink: OpenMax HDMI Video Sink
eglglessink:  nveglglessink: EGL/GLES vout Sink
nvjpeg:  nvjpegdec: JPEG image decoder
nvjpeg:  nvjpegenc: JPEG image encoder
nvegltransform:  nvegltransform: NvEGLTransform
nvcamera:  nvtee: NvTee
nvcamera:  nvcamerasrc: Nvidia Camera Source
nvvideosink:  nvvideosink: nVidia Video Sink
nveglstreamsrc:  nveglstreamsrc: nVidia EGL Stream
nvvidconv:  nvvidconv: NvVidConv Plugin
nvivafilter:  nvivafilter: NvIVAFilter Plugin

VLC on Jetson TX1 and Jetson TX2

In order to test some of the videos or incoming streams produced by the pipelines below you might need VLC installed in your Jetson module, there is a known issue with VLC version 2.2 and you need to download and install VLC 2.4 or newer, in order to do it please follow these steps:

sudo apt-get build-dep vlc && sudo apt-get install libtool build-essential
wget http://download.videolan.org/pub/videolan/vlc/2.2.6/vlc-2.2.6.tar.xz   
tar -xf vlc-2.2.6.tar.xz   
cd vlc-2.2.6
./configure --disable-qt 
make
#you can also try: make install 

It takes around 10 min to build. Once you have built the new VLC, you can run this to open a plain UDP stream for instance

./vlc -vv --demux h264 --h264-fps 60 udp://@:5000

this issue has been reported on NVIDIA forum


Previous: Nvidia TX2 NVP Model Index Next: GStreamer/Compile gstreamer on Jetson TX1 and TX2