Jetson TX2 GStreamer guide
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