I have a pipeline like this on the client: get-launch-1.0 v4l2src device=/dev/video0 ! video/x-h264, format=H264, width=1920, height=1080, profile=constrained-baseline, level=3.1 ! tcpclientsink host=amazingserver.com port=5000
I have a pipeline like this on the server: gst-launch-1.0 tcpserversrc port=5000 host=0.0.0.0 do-timestamp=true ! h264parse ! flvmux streamable = true ! rtmpsink location="rtmp://rtmp-server.io:1935/live/SERIAL1 live=1"
Everything works but... The issue is the following: I'm going to have thousands of clients trying to stream to the server. How can I make sure that every stream is from the right user? I don't want to mix streamings from different users.
I have tried to use different ports approach so every client will use a different port but this solution is going to be limited to the number of ports available on the server.
You could try creating a custom element before your tcpclientsink with a property like an id, you can add this id as metadata to the buffer and then on your server side after tcpclientsink have another custom element to filter this id.