NVIDIA Jetson Orin - H264 GStreamer Pipelines

From RidgeRun Developer Connection
Jump to: navigation, search



Previous: GStreamer Pipelines/Capture and Display Index Next: GStreamer Pipelines/H265


Nvidia-preferred-partner-badge-rgb-for-screen.png






This section presents GStreamer pipelines to capture from MIPI CSI-2 and USB cameras and encoding/decoding of video using the h.264 hardware codec of the Orin AGX. Key performance indicators are measured using three power profiles (operation modes). Check our GStreamer Pipelines section to find more information about how we extracted the performance metrics presented in this section.


H264 Encoding

MIPI CSI-2 Camera

The pipelines in this section used the IMX477 camera.


Encoding 1920x1080@30 and saving to file

The pipeline below can be used to capture, encode using the h.264 hardware codec, and store the video to file as an mp4 in the /tmp/filename.mp4 location. Table 1 shows the performance information for this pipeline.

FILE=/tmp/filename.mp4
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1' ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location=$FILE -e
Table 1: Performance of pipeline at 1920x1080@30 with nvv4l2h264enc
Operation Mode CPU (%) GPU 1 (%) GPU 2 (%) FPS latency (ms)
0 (max performance)
1 (min power)
2 (30W)


USB Camera

The pipelines in this section used the LI-10635 USB camera.


Encoding 1280x720@30 and saving to file

The pipeline below can be used to capture, encode using the h.264 hardware codec, and store the video to file as an mp4 in the /tmp/filename.mp4 location. Table 2 shows the performance information for this pipeline.

FILE=/tmp/filename.mp4
gst-launch-1.0 v4l2src ! video/x-raw, width=1280, height=720, framerate=30/1 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! nvv4l2h264enc bitrate=8000000 ! video/x-h264, stream-format=byte-stream ! h264parse ! qtmux ! filesink location=$FILE -e


Table 2: Performance of pipeline at 1280x720@30 with nvv4l2h264enc
Operation Mode CPU% GPU1% GPU2% FPS
0 (max performance) 12.9 0.0 0.0 30.01
1 (min power) 14.53 0.0 0.0 30.01
2 (30W) 13.9 0.0 0.0 30.01


H264 Decoding

The pipeline below can be used to decode the videos recorded with both the MIPI CSI-2 and the USB cameras. Table 3 shows the performance of the 1280x720@30 video decoding and Table 4 shows the performance of the 1920x1080@30 video decoding.

FILE=/tmp/filename.mp4
gst-launch-1.0 filesrc location=$FILE ! qtdemux ! queue ! h264parse ! nvv4l2decoder ! nv3dsink -e


Table 3: Performance of the pipeline decoding video at 1280x720@30
Operation Mode CPU% GPU1% GPU2% FPS
0 (max performance) 19.17 34.93 35.3 31.84
1 (min power) 35 16.27 59.33 31.75
2 (30W) 26.23 12.37 56.67 31.54


Table 4: Performance of the pipeline decoding video at 1920x1080@30
Operation Mode CPU (%) GPU 1 (%) GPU 2 (%) FPS latency (ms)
0 (max performance)
1 (min power)
2 (30W)



Previous: GStreamer Pipelines/Capture and Display Index Next: GStreamer Pipelines/H265