Having issues hosting multiple remote streams. We have Jetsons as Host and Remote both on local network with bandwidth limited to 50 Mb/s where low latency is important working to host four streams. When hosting a singular stream with the compositor,
Host
gst-launch-1.0 udpsrc port=9000 caps="application/x-rtp, media=video, encoding-name=H265, clock-rate=90000, payload=96" ! rtph265depay ! h265parse ! nvv4l2decoder ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080' ! queue ! comp. \
nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=1920 sink_0::height=1080 ! nv3dsink
Remote
gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg, format=MJPEG,width=1920,height=1080,framerate=15/1 ! nvv4l2decoder mjpeg=1 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=960, height=540, format=NV12' ! queue max-size-buffers=200000 leaky=2 ! nvv4l2h265enc bitrate=200000 slice-header-spacing=8 bit-packetization=0 name=video_enc ! rtph265pay mtu=1400 ! udpsink host=<Hostname> port=9000
Works fine with little latency issues. However, even when hosting two streams utilizing the compositor,
Host
gst-launch-1.0 udpsrc port=9000 caps="application/x-rtp, media=video, encoding-name=H265, clock-rate=90000, payload=96" ! rtph265depay ! h265parse ! nvv4l2decoder ! queue leaky=2 ! nvvidconv ! video/x-raw, format=RGBA ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080' ! queue ! comp. udpsrc port=9001 caps="application/x-rtp, media=video, encoding-name=H265, clock-rate=90000, payload=96" ! rtph265depay ! h265parse ! nvv4l2decoder ! queue leaky=2 ! nvvidconv ! video/x-raw, format=RGBA ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080' ! queue ! comp. nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=960 sink_0::height=540 sink_1::xpos=960 sink_1::ypos=0 sink_1::width=960 sink_1::height=540 sink_2::xpos=0 sink_2::ypos=540 sink_2::width=960 sink_2::height=540 ! nvvidconv ! nvegltransform ! nveglglessink
Remote_1
gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg, format=MJPEG,width=1920,height=1080,framerate=15/1 ! nvv4l2decoder mjpeg=1 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=960, height=540, format=NV12' ! queue max-size-buffers=200000 leaky=2 ! nvv4l2h265enc bitrate=200000 slice-header-spacing=8 bit-packetization=0 name=video_enc ! rtph265pay mtu=1400 ! udpsink host=<Hostname> port=9000
Remote_2
gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg, format=MJPEG,width=1920,height=1080,framerate=15/1 ! nvv4l2decoder mjpeg=1 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=960, height=540, format=NV12' ! queue max-size-buffers=200000 leaky=2 ! nvv4l2h265enc bitrate=200000 slice-header-spacing=8 bit-packetization=0 name=video_enc ! rtph265pay mtu=1400 ! udpsink host=<Hostname> port=9001
When running the debugger, it says the pipelines are successfully set to playing, but there is no video stream displayed. Other times when running it gets caught on SIGSEGV. The goal is to use the compositor to have four remote video streams playing in the same window. Any help is greatly appreciated.
