Problem with camera H264 stream

Hello,
I asked a question → How to stream camera by UDP H264

But It seems to not work on every Windows PC (it need to), I have no idea why on some devices it’s working perfectly and on others, it doesn’t (not only OpenCV receive is not working but also VLC).
So I want to stream that video from Jetson to WebSocket and then from there to receive it on Windows PC using OpenCV, for now, it could even stream to a single device (no multicast).

Any other idea sincerely welcome, or if someone has any idea why it’s not working on all devices - some network settings maybe?

Right now I use:

 cv::VideoWriter gst_udpsink("appsrc ! video/x-raw, format=BGR ! queue ! videoconvert ! video/x-raw, format=BGRx !  nvvidconv ! nvv4l2h264enc insert-vui=1 ! video/x-h264, stream-format=byte-stream ! h264parse ! rtph264pay pt=96   config-interval=1 ! udpsink host=224.1.1.1 port=5000 auto-multicast=true", cv::CAP_GSTREAMER, 0, fps, cv::Size (width, height));`

to stream, and:

 cv::VideoCapture cap("udpsrc uri=udp://224.1.1.1:5000 auto-multicast=true ! application/x-rtp, media=video, encoding-name=H264 ! rtpjitterbuffer latency=0 ! rtph264depay ! decodebin ! videoconvert ! video/x-raw, format=BGR ! appsink sync=false", cv::CAP_GSTREAMER);

to receive as recommended by @Honey_Patouceul, on my computers (2 laptops and one PC) it’s working great but when I send my program to my coworkers it’s only working on one device (Macbook with windows on it) from all 4 they tested.

Not sure, but you may also check that ports are not blocked by a firewall on non working clients.

I turn off all firewalls but it made no diffrance :/

Hi,
Please check if it help by enabling the properties:

  insert-sps-pps      : Insert H.264 SPS, PPS at every IDR frame
                        flags: readable, writable
                        Boolean. Default: false
  insert-aud          : Insert H.264 Access Unit Delimiter(AUD)
                        flags: readable, writable
                        Boolean. Default: false

Or try smaller IDR interval:

  idrinterval         : Encoding IDR Frame occurance frequency
                        flags: readable, writable, changeable only in NULL or READY state
                        Unsigned Integer. Range: 0 - 4294967295 Default: 256

Or try CAVLC:

  disable-cabac       : Set Entropy Coding Type CAVLC(TRUE) or CABAC(FALSE)
                        flags: readable, writable
                        Boolean. Default: false

For comparison, you may also try x264enc and see if it works with all machines.