Cmake Find Gstreamer
Hello, I'm trying to get running a UDP Camera with the help of Gstreamer on ROS. I carefully went through the tutorials of Gstreamer and I managed to get a functional C program to get the video feed. I mean, I know the pipeline is correct. I built this program with cmake and make, it works with gstreamer 1.0 and it depays/decodes RTP H264 video. Cmake gstreamer findpackage, The CMake variable CMAKEFINDROOTPATH specifies one or more directo. Ries to be prepended to all other search directories. This effectively. Default the CMAKEFINDROOTPATH is empty. The CMAKESYSROOT variable can also be used to specify exactly one. Directory to use as a prefix. Python용 IDE인 PyCharm에서 OpenCV 4.0.0을 사용하는 방법을 설명합니다. Pip를 사용하여 설치하는 방법입니다. Windows 10과 Ubuntu 18.04에서 진행했습니다.
74537●200●1064●905 http://cor.tudelft.nl/
Hello,

I'm trying to get running a UDP Camera with the help of Gstreamer on ROS.
I carefully went through the tutorials of Gstreamer and I managed to get a functional C program to get the video feed. I mean, I know the pipeline is correct. I built this program with cmake and make, it works with gstreamer 1.0 and it depays/decodes RTP H264 video. When I run this program I can confirm with: gst_version_string()
that the version of Gstreamer is >1.0.
The problem arises when I try to do this on ROS. I added the exact same lines on the cmakeslists.txt of my package to find and link Gstreamer 1.0, but when I run my node I get gstreamer version is 0.10. The lines that share my cmakelists.txt on the pure C and Ros Package are:
So, my best guess is that I have to change something on my cmakeslist.txt or some catkin_make related setting. Do you know how can I make this work?
Any help would be greatly appreciated.
DSG
ps. I require Gstreamer 1.0 because 0.1 is now not recommended. Ubuntu recently moved to libav which works great with 1.0 and lastly, the components on the pipeline I'm using to decode H264 are only available on 1.0.
Comments
Did you solve it? If so, can you share your solution?
Same here: Sharing is caring :) Thanks!
This page contains instructions for installing various open source add-on packages and frameworks on NVIDIA Jetson, in addition to a collection of DNN models for inferencing.
Below are links to container images and precompiled binaries built for aarch64 (arm64) architecture. These are intended to be installed on top of JetPack.
Note that JetPack comes with various pre-installed components such as the L4T kernel, CUDA Toolkit, cuDNN, TensorRT, VisionWorks, OpenCV, GStreamer, Docker, and more.
- 1Machine Learning
- 1.8Model Zoo
- 2Computer Vision
- 3Robotics
- 3.2NVIDIA Isaac SDK
- 4IoT / Edge
- 5Containers
Jetson is able to natively run the full versions of popular machine learning frameworks, including TensorFlow, PyTorch, Caffe2, Keras, and MXNet.
There are also helpful deep learning examples and tutorials available, created specifically for Jetson - like Hello AI World and JetBot.
Docker Containers
There are ready-to-use ML and data science containers for Jetson hosted on NVIDIA GPU Cloud (NGC), including the following:
- l4t-tensorflow - TensorFlow for JetPack 4.4 (and newer)
- l4t-pytorch - PyTorch for JetPack 4.4 (and newer)
- l4t-ml - TensorFlow, PyTorch, scikit-learn, scipy, pandas, JupyterLab, ect.
If you wish to modify them, the Dockerfiles and build scripts for these containers can be found on GitHub.
There are also following ready-to-use ML containers for Jetson hosted by our partners:
- ONNX Runtime for Jetson: mcr.microsoft.com/azureml/onnxruntime:v.1.4.0-jetpack4.4-l4t-base-r32.4.3

These containers are highly recommended to reduce the installation time of the frameworks below, and for beginners getting started.
TensorFlow
- Website: https://tensorflow.org
- Source: https://github.com/tensorflow/tensorflow
- Container: l4t-tensorflow
- Version: 1.15.3, 2.3 (Python 3.6)
- Packages:
TensorFlow 1.x | TensorFlow 2.x | |
---|---|---|
JetPack 4.4.1 | 1.15.3 pip wheel | 2.3 pip wheel |
JetPack 4.4 | 1.15.2 pip wheel | 2.2 pip wheel |
JetPack 4.4 DP | 1.15.2 pip wheel | 2.1 pip wheel |
JetPack 4.3 | 1.15.2 pip wheel | 2.1 pip wheel |
- Supports: JetPack >= 4.2 (Jetson Nano / TX1 / TX2 / Xavier NX / AGX Xavier)
- Install Guide: Installing TensorFlow on Jetson
- Forum Topic: devtalk.nvidia.com/default/topic/1048776/jetson-nano/official-tensorflow-for-jetson-nano-/
- Build from Source: https://devtalk.nvidia.com/default/topic/1055131/jetson-agx-xavier/building-tensorflow-1-13-on-jetson-xavier/
PyTorch (Caffe2)
- Website: https://pytorch.org/
- Source: https://github.com/pytorch/pytorch
- Container: l4t-pytorch
- Version: PyTorch v1.0.0 - v1.8.0
- Packages:
JetPack 4.4 / 4.4.1 / 4.5
* PyTorch v1.8.0 pip wheel (Python 3.6)
* PyTorch v1.7.0 pip wheel (Python 3.6)
* PyTorch v1.6.0 pip wheel (Python 3.6)
JetPack 4.4 Developer Preview
Python 2.7 | Python 3.6 | |
---|---|---|
v1.2.0 | pip wheel | pip wheel |
v1.3.0 | pip wheel | pip wheel |
v1.4.0 | pip wheel | pip wheel |
v1.5.0 | pip wheel |
JetPack 4.2 / 4.3
Python 2.7 | Python 3.6 | |
---|---|---|
v1.0.0 | pip wheel | pip wheel |
v1.1.0 | pip wheel | pip wheel |
v1.2.0 | pip wheel | pip wheel |
v1.3.0 | pip wheel | pip wheel |
v1.4.0 | pip wheel | pip wheel |
- As per the PyTorch Release Notes, Python 2 is not longer supported as of PyTorch v1.5 and newer.
- Supports: JetPack >= 4.2 (Jetson Nano / TX1 / TX2 / Xavier NX / AGX Xavier)
- Forum Topic: devtalk.nvidia.com/default/topic/1049071/jetson-nano/pytorch-for-jetson-nano/
- Build from Source: https://devtalk.nvidia.com/default/topic/1049071/#5324123
note — the PyTorch and Caffe2 projects have merged, so installing PyTorch will also install Caffe2
As per the the PyTorch 1.4 Release Notes, Python 2 support is now deprecated and PyTorch 1.4 is the last version to support Python 2.
ONNX Runtime
- Website: https://microsoft.github.io/onnxruntime/
- Source: https://github.com/microsoft/onnxruntime
- Container: mcr.microsoft.com/azureml/onnxruntime:v.1.4.0-jetpack4.4-l4t-base-r32.4.3
- Version: 1.4.0, 1.5.2, 1.6.0, 1.7.0
- Packages:
- onnxruntime 1.4.0 (JetPack 4.4/4.4.1/4.5)
- onnxruntime 1.5.2 (JetPack 4.4/4.4.1/4.5)
- onnxruntime 1.6.0 (JetPack 4.4/4.4.1/4.5)
- onnxruntime 1.7.0 (JetPack 4.4/4.4.1/4.5)
- Supports: JetPack >= 4.4 (Jetson Nano / TX1 / TX2 / Xavier NX / AGX Xavier)
- Forum Support: https://github.com/microsoft/onnxruntime
- Build from Source: Refer to these instructions
- ONNX Runtime 1.7.0 Install instructions
MXNet
- Website: https://mxnet.apache.org/
- Source: https://github.com/apache/incubator-mxnet
- Version: 1.4, 1.6, 1.7
- Packages:
Python 2.7 | Python 3.6 | |
---|---|---|
v1.4 (JetPack 4.2.x) | pip wheel | pip wheel |
v1.6 (JetPack 4.3) | pip wheel | pip wheel |
v1.7 (JetPack 4.4) | - | forum post |
- Supports: JetPack >= 4.2 (Jetson Nano / TX1 / TX2 / Xavier NX / AGX Xavier)
- Forum Topics: v1.4 v1.6 v1.7
- Build from Source: v1.6 v1.7
MXNet 1.7 Install Instructions:
MXNet 1.4 / 1.6 Install Instructions:
Keras
- Website: https://keras.io/
- Source: https://github.com/keras-team/keras
- Version: 2.2.4
- Forum Topic: https://devtalk.nvidia.com/default/topic/1049362/#5325752
First, install TensorFlow from above.
Hello AI World
- Website: https://developer.nvidia.com/embedded/twodaystoademo
- Source: https://github.com/dusty-nv/jetson-inference
- Supports: Jetson Nano, TX1, TX2, Xavier NX, AGX Xavier
Model Zoo
Below are various DNN models for inferencing on Jetson with support for TensorRT. Included are links to code samples with the model and the original source.
Note that many other models are able to run natively on Jetson by using the Machine Learning frameworks like those listed above.
For performance benchmarks, see these resources:
- Jetson TX1/TX2 - NVIDIA AI Inference Technical Overview
Classification
Network | Dataset | Resolution | Classes | Framework | Format | TensorRT | Samples | Original |
---|---|---|---|---|---|---|---|---|
AlexNet | ILSVRC12 | 224x224 | 1000 | Caffe | caffemodel | Yes | Hello AI World | BVLC |
GoogleNet | ILSVRC12 | 224x224 | 1000 | Caffe | caffemodel | Yes | Hello AI World | BVLC |
ResNet-18 | ILSVRC15 | 224x224 | 1000 | Caffe | caffemodel | Yes | Hello AI World | GitHub |
ResNet-50 | ILSVRC15 | 224x224 | 1000 | Caffe | caffemodel | Yes | Hello AI World | GitHub |
ResNet-101 | ILSVRC15 | 224x224 | 1000 | Caffe | caffemodel | Yes | Hello AI World | GitHub |
ResNet-152 | ILSVRC15 | 224x224 | 1000 | Caffe | caffemodel | Yes | Hello AI World | GitHub |
VGG-16 | ILSVRC14 | 224x224 | 1000 | Caffe | caffemodel | Yes | Hello AI World | GitHub |
VGG-19 | ILSVRC14 | 224x224 | 1000 | Caffe | caffemodel | Yes | Hello AI World | GitHub |
Inception-v4 | ILSVRC12 | 299x299 | 1000 | Caffe | caffemodel | Yes | Hello AI World | GitHub |
Inception-v4 | ILSVRC12 | 299x299 | 1000 | TensorFlow | TF-TRT (UFF) | Yes | tf_trt_models | TF-slim |
Mobilenet-v1 | ILSVRC12 | 224x224 | 1000 | TensorFlow | TF-TRT (UFF) | Yes | tf_trt_models | TF-slim |
Object Detection
Network | Dataset | Resolution | Classes | Framework | Format | TensorRT | Samples | Original |
---|---|---|---|---|---|---|---|---|
SSD-Mobilenet-v1 | COCO | 300x300 | 91 | TensorFlow | UFF | Yes | Hello AI World TRT_object_detection | TF Zoo |
SSD-Mobilenet-v2 | COCO | 300x300 | 91 | TensorFlow | UFF | Yes | TF Zoo | |
SSD-Inception-v2 | COCO | 300x300 | 91 | TensorFlow | UFF | Yes | TF Zoo | |
YOLO-v2 | COCO | 608x608 | 80 | Darknet | Custom | Yes | trt-yolo-app | YOLO |
YOLO-v3 | COCO | 608x608 | 80 | Darknet | Custom | Yes | trt-yolo-app | YOLO |
YOLO-v4 | COCO | 608x608 | 80 | Darknet | Custom | Yes | tensorrt-yolov4 | YOLO |
Tiny YOLO-v3 | COCO | 416x416 | 80 | Darknet | Custom | Yes | trt-yolo-app | YOLO |
Tiny YOLO-v3 | COCO | 416x416 | 80 | Darknet | Custom | Yes | trt-yolo-app | YOLO |
Tiny YOLO-v4 | COCO | 416x416 | 80 | Darknet | Custom | Yes | tensorrt-yolov4 | YOLO |
Faster-RCNN | Pascal VOC | 500x375 | 21 | Caffe | caffemodel | Yes | TensorRT sample | GitHub |
Segmentation

Network | Dataset | Resolution | Classes | Framework | Format | TensorRT | Samples | Original |
---|---|---|---|---|---|---|---|---|
FCN-ResNet18 | Cityscapes | 2048x1024 | 21 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | Cityscapes | 1024x512 | 21 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | Cityscapes | 512x256 | 21 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | DeepScene | 864x480 | 5 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | DeepScene | 576x320 | 5 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | DeepScene | 864x480 | 5 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | Multi-Human | 640x360 | 21 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | Multi-Human | 512x320 | 21 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | Pascal VOC | 512x320 | 21 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | Pascal VOC | 320x320 | 21 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | SUN RGB-D | 640x512 | 21 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-ResNet18 | SUN RGB-D | 512x400 | 21 | PyTorch | ONNX | Yes | Hello AI World | GitHub |
FCN-Alexnet | Cityscapes | 2048x1024 | 21 | Caffe | caffemodel | Yes | Hello AI World | GitHub |
FCN-Alexnet | Cityscapes | 1024x512 | 21 | Caffe | caffemodel | Yes | Hello AI World | GitHub |
FCN-Alexnet | Pascal VOC | 500x356 | 21 | Caffe | caffemodel | Yes | Hello AI World | GitHub |
U-Net | Carvana | 512x512 | 1 | TensorFlow | UFF | Yes | Nano Benchmarks | GitHub |
Pose Estimation
Network | Dataset | Resolution | Classes | Framework | Format | TensorRT | Samples | Original |
---|---|---|---|---|---|---|---|---|
ResNet18_att | COCO | 224x224 | 16 | PyTorch | torch2trt | Yes | trt_pose | GitHub |
DenseNet121_att | COCO | 224x224 | 16 | PyTorch | torch2trt | Yes | trt_pose | GitHub |
OpenCV
- Website: https://opencv.org/
- Source: https://github.com/opencv/opencv
- Version: 3.3.1 (JetPack <= 4.2.x), 4.1.1 (JetPack 4.3, JetPack 4.4, JetPack 4.5)
- Supports: Jetson Nano / TX1 / TX2 / Xavier NX / AGX Xavier
- OpenCV is included with JetPack, compiled with support for GStreamer. To build a newer version or to enable CUDA support, see these guides:
- nano_build_opencv (GitHub)
ROS
- Website: http://ros.org/
- Source: https://github.com/ros
- Version: ROS Melodic, ROS Noetic, ROS2 Eloquent, ROS2 Foxy
- Supports: JetPack >= 4.2 (Jetson Nano / TX1 / TX2 / Xavier NX / AGX Xavier)
- Installation: http://wiki.ros.org/melodic/Installation/Ubuntu
- Containers: https://github.com/dusty-nv/jetson-containers#ros-containers
NVIDIA Isaac SDK
- Website: https://developer.nvidia.com/isaac-sdk
- Version: 2019.2, 2019.3, 2020.1, 2020.2
- Supports: JetPack 4.2.x, JetPack 4.3, JetPack 4.4 (Jetson Nano / TX2 / Xavier)
- Downloads: https://developer.nvidia.com/isaac/downloads
- Documentation: https://docs.nvidia.com/isaac
Isaac SIM
- Website: https://developer.nvidia.com/isaac-sdk
- Documentation: http://docs.nvidia.com/isaac/isaac_sim/index.html
AWS Greengrass
- Website: https://aws.amazon.com/greengrass/
- Source: https://github.com/aws/aws-greengrass-core-sdk-c
- Version: v1.9.1
- Supports: JetPack 4.2.x, JetPack 4.3, JetPack 4.4 (Jetson Nano / TX1 / TX2 / Xavier)
- Forum Thread: https://devtalk.nvidia.com/default/topic/1052324/#5341970
1. Create Greengrass user group:
2. Setup your AWS account and Greengrass group during this page: https://docs.aws.amazon.com/greengrass/latest/developerguide/gg-config.html
After downloading your unique security resource keys to your Jetson that were created in this step, proceed to #3 below.
3. Download the AWS IoT Greengrass Core Software (v1.9.1) for ARMv8 (aarch64):
4. Following step #4 from this page, extract Greengrass core and your unique security keys on your Jetson:
5. Download AWS ATS endpoint root certificate (CA):
Cmake Build Target Install
6. Start Greengrass core on your Jetson:
Cmake Find Gstreamer App
You should get a message in your terminal Greengrass sucessfully started with PID: xxx
NVIDIA DeepStream
Cmake Find Gstreamer Tv
- Website: https://developer.nvidia.com/deepstream-sdk
- Version: 5.0
- Supports: JetPack >= 4.2 (Jetson Nano / TX1 / TX2 / Xavier NX / AGX Xavier)
- FAQ: https://developer.nvidia.com/deepstream-faq
- GitHub Samples:
Docker
- Website: https://docker.com/
- Source: https://github.com/docker
- Version: 18.06
- Support: ≥ JetPack 3.2 (Jetson Nano / TX1 / TX2 / Xavier NX / AGX Xavier)
- Installed by default in JetPack-L4T
Build Gstreamer
Launch your container with --runtime nvidia
to enable GPU-passthrough.Launch your container with --volume /tmp/argus_socket:/tmp/argus_socket
to enable access to MIPI CSI cameras.
See https://github.com/NVIDIA/nvidia-docker/wiki/NVIDIA-Container-Runtime-on-Jetson for more documentation on using Docker on Jetson.
To enable IPVLAN for Docker Swarm mode: https://blog.hypriot.com/post/nvidia-jetson-nano-build-kernel-docker-optimized/
Kubernetes
- Website: https://kubernetes.io/
- Source: https://github.com/kubernetes/
- Support: ≥ JetPack 3.2 (Jetson Nano / TX1 / TX2 / Xavier NX / AGX Xavier)
- Distributions:
- MicroK8s (v1.14)
$ sudo snap install microk8s --classic
- k3s (v0.5.0)
$ wget https://github.com/rancher/k3s/releases/download/v0.5.0/k3s-arm64
- MicroK8s (v1.14)
To configure L4T kernel for K8S: https://medium.com/@jerry_liang/deploy-gpu-enabled-kubernetes-pod-on-nvidia-jetson-nano-ce738e3bcda9
See also: https://medium.com/jit-team/building-a-gpu-enabled-kubernets-cluster-for-machine-learning-with-nvidia-jetson-nano-7b67de74172a