Hey, I am trying to set a system as follows:
The first PC can be Ubuntu/windows and it has no limits on the way it streams the video (cmd, terminal, MATLAB, whatever is fast).
The second PC must be operating on windows, with the purpose of streaming the video in Real Time and processing its frames using MATLAB (I know that MATLAB is not RT, I am talking about RT streaming, I'll deal with the processing...).
Now, I've tried using RTPJPEG:
Tx (server) : gst-launch-1.0 videotestsrc ! jpegenc ! rtpjpegpay ! udpsink host=<HOST> port=1234
RX (client) : gst-launch-1.0 udpsrc port=1234 ! "application/x-rtp, payload=26, encoding-name=JPEG" ! rtpjpegdepay ! jpegparse ! multifilesink location="%d.jpeg"
Then I've added an event listener to the file location from MATLAB.
Even when counting only the stream of JPEGs (not mounting them to MATLAB) - that's slow as hell and unstable (0.5 - 3 fps), so I gave this up.
I've done h264 video streaming (displayed the video, no access to frames in RT) on Ubuntu and got real nice results - 20 fps with ~300 ms latency.
And when I've tried combining both, I just couldn't find a proper pipeline that is both fast and gives me the ability to process the video's frames.
If it wasn't clear by the post - I am a complete noob when it comes to streaming and communication protocols and pipelines...