Hi,
Please run sudo tegrastats. It shows status of each hardware engines such as CPU, GPU, NVENC.
It ix expected to have significant CPU usage in the pipeline since NVMM buffers are converted and copied to CPU buffers. RAW and Dewarped branches need the conversion to send CPU buffers in BGR to appsink. For Compressed branch, you can use hardware encoder and send NVMM buffer to nvv4l2h264enc directly like:
... ! nvvideoconvert ! video/x-raw(memory:NVMM),format=NV12 ! nvv4l2h264enc ! h264parse ! appsink