My development board is Jetson nano which is connected to e-con system camera e-CAM50 (5M pixels at 28 fps). My application case is to capture live video from the camera and stream the live video at full size (5M pixels @ 28fps) to PC through WIFI reliably (high quality, no frame data lost and frame dropping).
Jetson nano will do some image processing on each frame which is live streamed to PC and other control functions as well. Therefore, I would like to use as less CPU resource as possible for video stream.
I just did a simple test on video streaming only by using the code below:
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, format=(string)UYVY, width=(int)2592,height=(int)1944" ! nvvidconv ! "video/x-raw(memory:NVMM), format=(string)I420" ! nvv4l2vp8enc ! rtpvp8pay mtu=60000 ! udpsink clients=192.168.18.18:5201 sync=false
I monitored the CPU usage. It is at CPU[24%@1479, 26%@1479, 20%@1479, 16%@1479]. Almost of 1/4 CPU resource has been used for video streaming. Is it correct?
Would you please let me know what is the best approach to stream live video at 5M pixels per frame, 28 fps to PC through WIFI reliably and use less CPU resource?