The Xavier NX SoC is powerful to support 2x 4K60 | 4x 4K30 | 10x 1080p60 |
20x 108p30 (H.264) as Technical Specifications in Jetson Modules | NVIDIA Developer.
However, when I’s using following GStreamer pipeline to encode 8x 1080p30, it costs 38ms… And found its time cost largely increase from 10ms, 13ms, 14ms, 23ms, …, 38ms as 1 camera, 2 cameras, 3 cameras, 4 cameras, …, 8cameras.
const char *gst_cmd =
"appsrc name=appsrc"
" ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=(fraction)30/1"
" ! nvvidconv"
" ! video/x-raw(memory:NVMM),format=NV12,width=1920,height=1080,"
" framerate=(fraction)30/1"
" ! nvv4l2h264enc control-rate=constant_bitrate bitrate=24000000"
/**
* All IDR frame configuration
* all-iframe, self-implemented param
* insert-sps-pps is needed
* maxperf-enable: time-cost configuration
*/
" all-iframe=true insert-sps-pps=true maxperf-enable=true"
" ! appsink name=appsink";
Besides, I have also tried the 60fps configuration, all 30/1 to 60/1, and the timecost seems no change…
PS: We had tried How can I customize to use non-blocking mode nvv4l2h264enc and it work worse; We’re trying Jetpack 4.4 [L4T 32.4.3] customize nvpmodel to make NVENC from 499.2MHz to 729.6MHz.