I want to stream 4k video over cable with low latency.
So, I try next pipeline on Jetson TX2:
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=(string)I420' ! nvvidconv ! 'video/x-raw(memory:NVMM),format=(string)I420,width=3840,height=2160' ! omxh265enc bitrate=10000000 preset-level=0 control-rate=2 ! rtph265pay ! udpsink host=10.42.0.1 port=30021
Client:
gst-launch-1.0 udpsrc address=10.42.0.1 port=30021 ! "application/x-rtp,encoding-name=(string)H265" ! rtpjitterbuffer ! rtph265depay ! avdec_h265 ! glimagesink sync=false
And I see that stream have a big latency ~2-3sec
But if I use H264 instead of H265 with similar pipeline, stream works fine.
Jetson:
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=(string)I420' ! nvvidconv ! 'video/x-raw(memory:NVMM),format=(string)I420,width=3840,height=2160' ! omxh264enc bitrate=10000000 preset-level=0 control-rate=2 insert-sps-pps=true ! rtph264pay ! udpsink host=10.42.0.1 port=30021
Client:
gst-launch-1.0 udpsrc address=10.42.0.1 port=30021 ! "application/x-rtp,encoding-name=(string)H264" ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! glimagesink sync=false
I run “nvpmodel -m 0” and “jetson_clocks.sh” before streaming.
/dev/video0 returns 640x480 picture which I resize to 4k via nvvidconv (just for testing purpose).
How I can fix this problem?