Transcoding performance issue on Xavier NX

Hi, all
Our goal is to transcode 16 channels’ video to 1080p30fps H.264 with medium preset . But we found the issue that the transcoding performance will decrease when we set more than 8 channels.
The jetpack version is 4.6.1 and powermode is MAXN.
Here‘s the result:

Channels Average FPS Total FPS
6x 77 fps 462 fps
7x 66 fps 462 fps
8x 58 fps 464 fps
9x 36 fps 324 fps
10x 27 fps 270 fps

We tested the performance with a local video through the following two commands:

./multivideo_transcode num_files 16 ./C2_line2fengqiRoad21_4M.264 H264 1.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 2.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 3.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 4.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 5.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 6.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 7.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 8.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 9.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 10.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 11.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 12.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 13.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 14.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 15.264 H264 ./C2_line2fengqiRoad21_4M.264 H264 16.264 H264 -hpt 3 -rc vbr  -nrf 1 -ifi 50 -p high --stats



for ((i=0; i<$job; i++)); do
	./multivideo_transcode num_files 1 ./C2_line2fengqiRoad21_4M.264 H264 $i.264 H264 -hpt 3 -rc vbr  -nrf 1 -ifi 50 -p high --stats
echo "end" 

Both commands showed the same results that it can only do 9 channels of 1080p30fps transcoding.

We also found the similar problem in this post.

Please give some suggestions about how to enhance the transcoding performance.

For using Jetpack 4, please run multiple encoding threads in single process to avoid the degradation. We are checking this and the fix will be in future Jetpack 5 release.

Thanks for your relpy. We also tested Nano and TX2 NX 's transcoding performance while using Jetpack 4.6.1, but they perform well and we didn’t find any degradation.

we are using Jetson Xavier AGX & we have found that there is some issue with this device when we want to transcode more than 8 streams, it have huge performance degradation and streams fps drop. We have found on other post where there was need to run gstreamer tasks in a SINGLE process (not testet), but we strongly need to run transcoding with separate process for each stream . There was also mentioned that issue is known by NVIDIA and will be resolved in Jetpack 5, so I would like to ask someone if there is some quick fix , patch, solution , etc. or Jetpack 5 has already fixed the problem.

The issue is not observed on 5.0.1 DP. Please give it a try. If you confirm it working on 5.0.1 DP, may wait for next production release.

We tested it on 5.0.1 DP, the good news is that we didn’t find the sudden degradation again . But the total performance is massively decreased, We can only reach 120 total fps with the same code above😥.