NVIDIA Jetson AGX Thor - H265 GStreamer Pipelines
The NVIDIA Jetson AGX Thor documentation from RidgeRun is presently being developed. |
GStreamer Pipelines using H265
This section presents GStreamer pipelines to capture from MIPI CSI-2 and USB cameras and encoding/decoding of video using the H.265 hardware codec of the AGX Thor. Key performance indicators are measured using two power profiles (operation modes). Check our GStreamer Pipelines section to find more information about how we extracted the performance metrics presented in this section.
H265 Encoding
MIPI CSI-2 Camera
The pipelines in this section used the Framos IMX676 Sensor . For reference the testing used the following variables.
FILE=/tmp/filename.mp4 WIDTH=3552 HEIGHT=3556 FRAMERATE=64/1 FORMAT=NV12
Encoding with nvv4l2h265enc and saving to file
The pipeline below can be used to capture, encode using the H.265 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.
gst-launch-1.0 nvarguscamerasrc video/x-raw, width=$WIDTH, height=$HEIGHT, framerate=$FRAMERATE ! nvvidconv ! 'video/x-raw(memory:NVMM), format=$FORMAT' ! nvv4l2h265enc ! h265parse ! qtmux ! filesink location=$FILE -e
Operation Mode | CPU (%) | GPU 1 (%) | GPU 2 (%) | FPS | latency (ms) | |
---|---|---|---|---|---|---|
0 (max performance) | ||||||
1 (Default Mode) |
Encoding with nvautogpuh265enc and saving to file
The pipeline below can be used to capture, encode using the H.265 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.
gst-launch-1.0 nvarguscamerasrc video/x-raw, width=$WIDTH, height=$HEIGHT, framerate=$FRAMERATE ! nvvidconv ! 'video/x-raw(memory:NVMM), format=$FORMAT' ! nvv4l2h265enc ! h265parse ! qtmux ! filesink location=$FILE -e
Operation Mode | CPU (%) | GPU 1 (%) | GPU 2 (%) | FPS | latency (ms) | |
---|---|---|---|---|---|---|
0 (max performance) | ||||||
1 (Default Mode) |
Encoding with nvh265enc and saving to file
The pipeline below can be used to capture, encode using the H.265 hardware codec, and store the video to file as an mp4 in the /tmp/filename.mp4 location. Table 3 shows the performance information for this pipeline.
gst-launch-1.0 nvarguscamerasrc video/x-raw, width=$WIDTH, height=$HEIGHT, framerate=$FRAMERATE ! nvvidconv ! 'video/x-raw(memory:NVMM), format=$FORMAT' ! nvv4l2h265enc ! h265parse ! qtmux ! filesink location=$FILE -e
Operation Mode | CPU (%) | GPU 1 (%) | GPU 2 (%) | FPS | latency (ms) | |
---|---|---|---|---|---|---|
0 (max performance) | ||||||
1 (Default Mode) |
USB Camera
The pipelines in this section used the LI-10635 USB camera.
For reference the testing used the following variables.
FILE=/tmp/filename.mp4 WIDTH=3840 HEIGHT=2160 FRAMERATE=30/1 FORMAT=NV12
Encoding with nvv4l22h265enc and saving to file
The pipeline below can be used to capture, encode using the h.265 hardware codec, and store the video to file as an mp4 in the /tmp/filename.mp4 location. Table 4 shows the performance information for this pipeline.
gst-launch-1.0 v4l2src ! video/x-raw, width=$WIDTH, height=$HEIGHT, framerate=$FRAMERATE ! nvvidconv ! 'video/x-raw(memory:NVMM), format=$FORMAT' ! nvv4l2h265enc bitrate=8000000 ! video/x-h265, stream-format=byte-stream ! h265parse ! qtmux ! filesink location=$FILE -e
Operation Mode | CPU% | GPU1% | GPU2% | FPS |
---|---|---|---|---|
0 (max performance) | ||||
1 (Default Mode) |
Encoding with nvautogpuh265enc and saving to file
The pipeline below can be used to capture, encode using the h.265 hardware codec, and store the video to file as an mp4 in the /tmp/filename.mp4 location. Table 5 shows the performance information for this pipeline.
gst-launch-1.0 v4l2src ! video/x-raw, width=$WIDTH, height=$HEIGHT, framerate=$FRAMERATE ! nvvidconv ! 'video/x-raw(memory:NVMM), format=$FORMAT' ! nvv4l2h265enc bitrate=8000000 ! video/x-h265, stream-format=byte-stream ! h265parse ! qtmux ! filesink location=$FILE -e
Operation Mode | CPU% | GPU1% | GPU2% | FPS |
---|---|---|---|---|
0 (max performance) | ||||
1 (Default Mode) |
Encoding with nvh265enc and saving to file
The pipeline below can be used to capture, encode using the h.265 hardware codec, and store the video to file as an mp4 in the /tmp/filename.mp4 location. Table 6 shows the performance information for this pipeline.
gst-launch-1.0 v4l2src ! video/x-raw, width=$WIDTH, height=$HEIGHT, framerate=$FRAMERATE ! nvvidconv ! 'video/x-raw(memory:NVMM), format=$FORMAT' ! nvv4l2h265enc bitrate=8000000 ! video/x-h265, stream-format=byte-stream ! h265parse ! qtmux ! filesink location=$FILE -e
Operation Mode | CPU% | GPU1% | GPU2% | FPS |
---|---|---|---|---|
0 (max performance) | ||||
1 (Default Mode) |
H265 Decoding
The pipeline below can be used to decode the videos recorded with both the MIPI CSI-2 and the USB cameras.
gst-launch-1.0 filesrc location=$FILE ! qtdemux ! queue ! h265parse ! nvv4l2decoder ! nv3dsink -e
Operation Mode | CPU% | GPU1% | GPU2% | FPS |
---|---|---|---|---|
0 (max performance) | ||||
1 (Default Mode) |
Operation Mode | CPU (%) | GPU 1 (%) | GPU 2 (%) | FPS | latency (ms) |
---|---|---|---|---|---|
0 (max performance) | |||||
1 (min power) |