Multi-video encoding performance of TX2 NX

Hi,

I have a question about the video encoding performance of TX2 NX and Xavier NX.
I am using the TX2 NX SoM with the XavierNX developer kit. Based on the MaltimediaAPI sample (10_camera_recording) included in JetPack.
When I try to encode a video using a combination of two H.264 streams(Full HD and VGA) and two H.265 streams(Full HD and VGA) as a multi-encoding condition. In this case, the frame rate is not 30fps.

I have confirmed that when I run the same program and conditions on Xavier NX, the encoding is done at 30fps.
Why can’t TX2 NX encode 30 frames? Does this mean it is a performance limitation?

Best Regards,
UNA_H

Hi,
Do you mean you are simultaneously encoding 4 streams with one H264 1080p30, one H264 640p30, one H265 1080p30, one H265 640p30?

Hi DaneLLL,

Thank you for your reply and sorry for the confusion.

Simultaneous encoding of two streams of H264 1080p30 and H264 640p30 can be done at 30fps without any problem.

Simultaneous encoding of two streams of H265 1080p30 and H265 640p30 can be done at 30fps without any problem.

Simultaneous encoding of two streams of H265 1080p30 and H264 1080p30 can NOT be done at 30fps.

Simultaneous encoding of 1ch data input from the camera.
Also, I am using JetPack versions 4.5.1 for TX2 NX and 4.4.1 for Xavier NX.

Best Regards,

Hi DaneLLL,

What is the status of this issue?
Since this issue has a significant impact on our customers’ product selection, I need an answer as soon as possible.

Best Regards,

Hi,
Please run sudo tegrastats to check the system status. The hardware encoder should not be the bottleneck since we ca achieve one 1080p30 h264 + one 1080p30 h265 in gstreamer command:

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1' ! tee name=t ! queue ! nvv4l2h264enc maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v t. ! queue ! queue ! nvv4l2h265enc maxperf-enable=1 ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v

If you have some NvBufferTransform() calls, you can refer to this post and set VIC engine to max clock for a try:
Nvvideoconvert issue, nvvideoconvert in DS4 is better than Ds5? - #3 by DaneLLL

Please also set encoder to max clock.

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