Encoding performance issue on Xavier AGX, but no problem on Nano (simultaneous encoding)

The main issue is that the AGX performs perfectly if I start 15 encodings simultaneously in one gst-launch-1.0 command.
But very bad if I execute each encoding with an individual gst-launch-1.0 command/process.

On Jetson Nano the results are identical with both methods.

i have also read this post where the opposite of my issue is happening:

Here are my results

Sample Video:
Video Type: 1920×816 (1080p), 4:2:0
framerate: 23.967 FPS
duration: 123 seconds
downloaded from: H.264 Demo Clips - H264info.com
Video Name: “I Am Legend” Trailer

Xavier AGX Powermode: MAXN

15x encodings simultaneously (command is executed 15 times at once):

gst-launch-1.0 -v filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse  ! nvv4l2decoder ! queue ! nvv4l2h265enc bitrate=2000000 maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 &

#finished in 140seconds
#21 fps average each encoding

15x encodings within one command line:

gst-launch-1.0 -v \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0

#80 fps average each encoding
#finished in 39sec

Jetson Nano Powermode: MAXN

10x encodings simultaneously:

gst-launch-1.0 -v filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse  ! nvv4l2decoder ! queue ! nvv4l2h265enc bitrate=2000000 maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 &

#35fps average each encoding
#finished in 84 sec

10x encoding within one command line:

gst-launch-1.0 -v \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 \
filesrc location=ramdisk/iamlegend.mp4 ! qtdemux ! video/x-h264 ! h264parse ! nvv4l2decoder ! queue ! nvv4l2h265enc maxperf-enable=1 bitrate=2000000 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0

#35fps average each encoding
#finished in 84 sec

Any idea why AGX with is performing so bad with individual gst processes? Is this a bug or is there a magic option I missed to add or enable?

Hi,
We will check it and update.

Any news regarding this issue?

Hi,
We can observe the issue. There is performance degrade between 8 processes and 9 processes. It is still under investigation.

Hi DaneLLL ,
is there any update for Xavier AGX which solved performance degradation ? I can see there is JETPACK 5 Preview. Is there any news or informations about how to get full potential of Xavier AGX ? Is there something in JETPACK 5 which helps to resolve issues for theese devices ? We testet to transcode 8 streams with Jetpack 4.6.1 , and it works fine, but 9th stream and more causes all other streams to skip frames and degrade. We bought Jetson Xavier AGX just a weeks ago and testet all ffmpeg & gstreamer methods & we can confirm it’s still degrading . We would need to know how to achieve 32x1080p30fps transcoded streams as stated for this product can do. We need to use separate processes for each transcoded stream.

Thanks.

Hi All,

Is there any news, solutions or update which solves problem with slow-freezing simultaneous encoding using Jetson Xavier ? I am talking about original post here by “mymurat” which describes the problem. Our Jetson Xavier is still unusable for what we bought it for.

Thanks!

Hi,
Please upgrade to Jetpack 5.0.2 and give it a try.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.