Gstreamer dual cameras jpeg udp streeaming crushes with wifi

Hi all,

I have created a gstreamer pipeline (1) (see below) which captures raw frames from both csi cameras merge them it to one picture encode it with nvjpeg and streaming with udp in the network . It works pretty well using Ethernet wired connection .

pipeline (1)
gst-launch-1.0 videomixer name=m sink_1::ypos=616 ! videoconvert ! videorate ! ‘video/x-raw,framerate=20/1’! nvjpegenc ! rtpjpegpay ! udpsink host=192.168.1.18 port=5000 nvarguscamerasrc sensor_id=0 ! ‘video/x-raw(memory:NVMM),width=3264, height=1848, framerate=28/1, format=NV12’ ! nvvidconv flip-method=0 ! ‘video/x-raw(memory:NVMM), width=1088, height=616’ ! nvvidconv ! queue ! videoconvert ! videorate ! ‘video/x-raw,framerate=20/1’! m. nvarguscamerasrc sensor_id=1 ! ‘video/x-raw(memory:NVMM),width=3264, height=1848, framerate=28/1, format=NV12’ ! nvvidconv flip-method=0 ! ‘video/x-raw(memory:NVMM), width=1088, height=616’ ! nvvidconv ! queue ! videoconvert ! videorate ! ‘video/x-raw,framerate=20/1’ ! m.

The problem introduced when I work with Wi-Fi instead of Ethernet connection . It crushes all most when it is starts the connection .

I do have the Intel® Dual Band Wireless-AC 8265 as Wi-Fi module mounted on my jetson nano . I have tried to use an external usb w-fi module it is the same result .

I tried the following pipeline (2) and it works fine in all cases but i do not want to use that pipeline because it drops the quality of the images for my application.

pipeline (2)
CLIENT_IP=192.168.1.18
gst-launch-1.0 videomixer name=m sink_1::ypos=924 ! videoconvert ! videorate ! ‘video/x-raw,framerate=30/1’! omxvp8enc ! rtpvp8pay mtu=1400 ! udpsink host=$CLIENT_IP port=5000 sync=false async=false nvarguscamerasrc sensor_id=0 ! ‘video/x-raw(memory:NVMM),width=3264, height=1848, framerate=28/1, format=NV12’ ! nvvidconv flip-method=0 ! ‘video/x-raw, width=1632, height=924’ ! nvvidconv ! queue ! videoconvert ! videorate ! ‘video/x-raw’! m. nvarguscamerasrc sensor_id=1 ! ‘video/x-raw(memory:NVMM),width=3264, height=1848, framerate=28/1, format=NV12’ ! nvvidconv flip-method=0 ! ‘video/x-raw, width=1632, height=924’ ! nvvidconv ! queue ! videoconvert ! videorate ! ‘video/x-raw’ ! m.

Any information can be useful.

Kind regards
Georgios

You may try the following pipeline:

gst-launch-1.0 -v \
   nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),format=NV12,width=3264,height=1848,framerate=20/1' ! nvvidconv ! 'video/x-raw(memory:NVMM),fomat=RGBA,width=1088,height=616,pixel-aspect-ratio=1/1' ! queue ! comp.sink_0   \
   nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM),format=NV12,width=3264,height=1848,framerate=20/1' ! nvvidconv ! 'video/x-raw(memory:NVMM),fomat=RGBA,width=1088,height=616,pixel-aspect-ratio=1/1' ! queue ! comp.sink_1   \
   nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=1088 sink_0::height=616 sink_1::xpos=0 sink_1::ypos=616 sink_1::width=1088 sink_1::height=616 ! 'video/x-raw(memory:NVMM),format=RGBA,width=1088,height=1232' ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! nvv4l2h264enc insert-vui=1 insert-sps-pps=1 ! h264parse ! rtph264pay ! udpsink host=$CLIENT_IP port=5000
1 Like

Thank you very much for your suggestion . This is the optimal solution