Difference between revisions of "GstWebRTC - GstWebRTCBin"

From RidgeRun Developer Connection
Jump to: navigation, search
m
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{GstWebRTC Page|
+
{{GstWebRTC/Head|previous=Elements|next=GstWebRTCBin Properties|metakeywords=Gstreamer WebRTC Basics,Plugin Overview,WebRTC Basics,Gstreamer WebRTC Plugin Overview,GstRrWebRTCBin element,GstRrWebRTCBin,signaling}}
[[GstWebRTC - Elements | Plugin Elements]]|
 
[[GstWebRTC - Evaluating GstWebRTC | Evaluating GstRrWebRTC]]|
 
  
 
__TOC__
 
__TOC__
Line 66: Line 64:
 
</html>
 
</html>
  
== Properties ==
+
{{GstWebRTC/Foot|previous=Elements|next=GstWebRTCBin Properties}}
 
 
===name===
 
The name of the object. For this property "webrtcbin0" is the default value.
 
 
 
===parent===
 
The parent of the object.
 
 
 
===async-handling===
 
The bin will handle Asynchronous state changes. Default: false
 
 
 
===message-forward===
 
Forwards all children messages. Default: true
 
 
 
===signaler===
 
If a predefined signaler is going to be used, this property is in charge of setting the desired predefined signaler to use in the application. Each signaler has its own properties. See [[GstWebRTC_-_Predefined_Signalers|Predefined Signalers]].
 
 
 
===signaler-obj===
 
This property is used to set a custom signaler. See [[https://developer.ridgerun.com/wiki/index.php?title=GstWebRTC_-_Custom_Signalers|Custom Signalers]]
 
The custom signaler object to use (Must only be called on NULL state). Leave it NULL if you want to use a predefined signaler.
 
 
 
===stun-server===
 
 
 
Property used to set the STUN server address and port in case you want to change to use your own or a different one. Usage:
 
<pre>
 
<stun-server-address>:<stun-server-port>
 
</pre>
 
STUN Server IP Address:
 
<pre>
 
address:port
 
</pre>
 
Default:
 
<pre>
 
"webrtc.ridgerun.com:3478"
 
</pre>
 
 
 
===turn-server===
 
Property used to set the TURN server address and port in case you want to change to use your own or a different one. Usage:
 
<pre>
 
<user>:<password>@<turn-server-address>:<stun-server-port>
 
</pre>
 
TURN Server IP Address:
 
<pre>
 
'user:password@address:port(?transport=[udp|tcp|tls])'
 
</pre>
 
Default:
 
<pre>
 
"ridgerun:Gh3tVhVZam3SSqb@webrtc.ridgerun.com:3478:transport=tcp"
 
</pre>
 
 
 
===certificate-pem===
 
PEM file name containing the certificate, if PEM file is not set or is not found, autogenerated certificate will be used. With this property you are able to set you own certificate and private key (in PEM format) for the DTLS negotiation. Default: null
 
 
 
===start-call===
 
It's used to set which endpoint responsible of starting the call and sending the initial offer SDP to the peer. It only makes sense to have this property set to TRUE in one of the endpoints.
 
Default value: false
 
 
 
===data-port===
 
This property is used to specify the desired SCTP port to use for data transfer. Its value must be defined in the range: [0 - 65535]. Default: 5000.
 
 
 
===data-channel-id===
 
It is used to indicate an identifier for each data channel stream. Default: A random number in the range [0 - 65535].
 
 
 
===rtcp-mux===
 
Enable Multiplex RTP and RTCP in a single port (Endpoint will reconfigure if needed). Default: true Write only
 
 
 
===ice-trickle===
 
This property is used to enable the sending of a single ICE candidates group when they become available. Default value: false
 
 
 
===enable-data===
 
Used to enable the negotiation of the WebRTC data channel for an endpoint (required to use the new_data and on_new_data callbacks without data-pads). Default: false
 
 
 
===enable-rtcp-timeout===
 
This property enables Monitor RTCP Feedback, if there are no messages within 30 seconds we will trigger a signal. Default: false
 
 
 
===rtp-stats-interval===
 
Interval in milliseconds to get RTP Stats as Gstreamer Messages. Range: 50 - 4294967295 Default: 1000
 
 
 
===data-channel-status===
 
Connection status indicating if the data channel is currently connected. Default: false
 
 
 
==Signals==
 
 
 
==="on-new-data"===
 
 
 
==="on-rtcp-bitrate"===
 
 
 
==="on-rtcp-timeout"===
 
 
 
==Actions==
 
 
 
==="new-data"===
 
 
 
|keywords=Gstreamer WebRTC Basics,Plugin Overview,WebRTC Basics,Gstreamer WebRTC Plugin Overview,GstRrWebRTCBin element,GstRrWebRTCBin}}
 

Latest revision as of 10:15, 9 March 2023



Previous: Elements Index Next: GstWebRTCBin Properties




This page gives an overview of the GstRrWebRTCBin element.

Architecture

Ridgerun's GstRrWebRTCBin can be used as a sender-receiver endpoint, as shown in Figure 1. If a pipeline uses GstRrWebRTCBin element, it becomes a send-receive endpoint. GstRrWebRTCBin may receive and send audio, video or both simultaneously.

Configurations

The supported capabilities are determined at runtime based on the pads that were requested for the elements. Simply said, if a GstRrWebRTCBin was created with video and audio pads, it will be capable of sending and receiving both medias. Table 1 summarizes the complete set of possible configurations. At the time being, only one pad of each media type can be created in direction.

Send/Receive Audio Only

OpenWebRTC Example pipeline
Send/Receive Video Only

OpenWebRTC Example pipeline
Send/Receive Audio and Video

OpenWebRTC Example pipeline
Send Video - Receive Audio

OpenWebRTC Example pipeline
Send Audio - Receive Video

OpenWebRTC Example pipeline
Send Video and Audio - Receive Audio

OpenWebRTC Example pipeline
Send Video and Audio - Receive Video

OpenWebRTC Example pipeline
Send Audio - Receive Audio and Video

OpenWebRTC Example pipeline
Send Video - Receive Audio and Video

OpenWebRTC Example pipeline
Table 1. GstRrWebRTCBin Supported Capabilities


Previous: Elements Index Next: GstWebRTCBin Properties