Using gstreamer to stream from CSI camera to RTP uses only CPU resources

the following code:

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), \
  format=NV12, width=1920, height=1080' ! \
  nvv4l2h264enc insert-sps-pps=true ! h264parse ! \
  rtph264pay pt=96 ! udpsink host= port=8001 sync=false -e

Streaming works correctly but when I look at jtop I see that GPU usage is equal to 0 but CPU usage is about 40% (average from 4 cores) when I don’t stream the CPU usage is about 30%.

  1. Why I don’t see any change in GPU when I encode video? Does the hardware acceleration on Jetson Nano is not GPU?

There is individual hardware encoder in Jetson Nano, so encoding does not take GPU usage. Please execute sudo tegrastats and you will see NVENC being enabled.