Does anyone have a concise list of required tcp/udp ports which need to be open for incoming traffic when using WebRTCSink, along with the gst-webrtc-api and the webrtc-signalling server ?
Ideally I would like to go without the need for a TURN server by opening appropriate ports. but I am unclear on what ports are required beyond the html/ws connections to the WebPack server (port 9090) to allow external Web browsers to connect to the gst-webrtc-api and negotiate a stream from webrtcsink.
The required server ports for a webrtcsink element are completely dynamic due to how ICE processing works.
That being said, it is possible to limit the range of ports that the ICE agent (libnice in this case) will use. For this you need to get the newly created webrtcbin instance using consumer-added (or webrtcbin-ready depending on your webrtcsink version), retrieve the agent property, then set the min-rtp-port and max-rtp-port properties on the agent.
This will not control which ports the remote chooses to use for media processing.
I have setup the WebRTC pipeline using gst_parse_launch and its working OK.
Could you elaborate on specifically how to “get the newly created webrtcbin instance using consumer-added (or webrtcbin-ready depending on your webrtcsink version), retrieve the agent property, then set the min-rtp-port and max-rtp-port properties on the agent.” ?