Xavier NX encode 6 camera low fps

I want use xavier NX to encode 6 cameras 26161964 30fps to h264 or h265 stream. so I test the sample jetson_multimedia_api sample->frontend, capture one camera 26161964 30fps and encode 6 times, the fps of every encoder only 12-13 frame.
According to this sample and set setMaxPerfMode 1,The total fps of 6-channel video encode can only reach 96 FPS
My question is whether the result is correct,Is it possible to improve performance?

Hi,
Yo may try gstreamer commands. Please run this command to make sure the source is steadily at 30fps:

$ gst-launch-1.0 -v nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=2616,height=1964,framerate=30/1' ! fpsdisplaysink text-overlay=0 video-sink=fakesink

If the source frame rate is steady, please try

$ gst-launch-1.0 -v nvarguscamerasrc num-buffers=600 ! 'video/x-raw(memory:NVMM),width=2616,height=1964,framerate=30/1' ! tee name=t1 t1. ! queue ! nvv4l2h264enc maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink t1. ! queue ! nvv4l2h264enc maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink t1. ! queue ! nvv4l2h264enc maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink t1. ! queue ! nvv4l2h264enc maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink t1. ! queue ! nvv4l2h264enc maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink t1. ! queue ! nvv4l2h264enc maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink

We try 6 1080p30 with single imx219 and it can achieve 30 fps for each encoding thread. 2616x1964 is a higher resolution so please give it a try.

thanks, use the pipeline test encode can reach full fps, in my program FPS works normally by setting
setHWPresetType and setMaxPerfMode

1 Like

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