NVIDIA Jetson Orin NX - H264 GStreamer Pipelines
The NVIDIA Jetson Orin NX documentation from RidgeRun is presently being developed. |
This section presents GStreamer pipelines to capture from a USB camera and perform encoding/decoding of video using the H.264 hardware codec of the Orin NX.
Key performance indicators are measured using three power profiles (operation modes): MaxN
, 25W
, and 10W
.
Check our GStreamer Pipelines section to find more information about how we extracted the performance metrics presented in this section.
H264 Encoding
USB PTZ Fomako Camera
The pipelines in this section used a PTZ Fomako USB camera capturing at 1920x1080@30fps.
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 2 shows the performance information for this pipeline.
FILE=/tmp/filename.mp4 gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, width=1920, height=1080, framerate=30/1 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=NV12' ! nvv4l2h264enc bitrate=8000000 ! h264parse ! qtmux ! filesink location=$FILE -e
Operation Mode | CPU (%) | GPU (%) | FPS | Latency (ms) |
---|---|---|---|---|
MaxN | 4.73 | 0 | 29.219 | 28.209 |
25W | 5.82 | 0 | 29.179 | 28.021 |
10W | 8.17 | 0 | 29.162 | 28.540 |
H264 Decoding
The following pipeline can be used to decode the videos recorded the USB camera. Table 3 shows the performance for decoding 1920x1080@30 videos.
FILE=/tmp/filename.mp4 gst-launch-1.0 filesrc location=$FILE ! qtdemux ! queue ! h264parse ! nvv4l2decoder ! nv3dsink -e
Operation Mode | CPU (%) | GPU (%) | FPS | Latency (ms) |
---|---|---|---|---|
MaxN | 8.73 | 27.63 | 28.998 | 1560.147 |
25W | 8.41 | 25.00 | 28.997 | 1560.651 |
10W | 9.63 | 34.41 | 28.998 | 1560.795 |