Difference between revisions of "GstWebRTC - GstWebRTCBin"

From RidgeRun Developer Connection
Jump to: navigation, search
Line 94: Line 94:
  
 
===certificate-pem===
 
===certificate-pem===
PEM file name containing the certificate, if PEM file is not set or is not found, autogenerated certificate will be used. Default: null
+
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===
 
===start-call===

Revision as of 14:26, 22 February 2019


GstRrWebRTCSink Element


Home

Evaluating GstRrWebRTC



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

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 Predefined Signalers.

signaler-obj

Custom signaler object to use (Must only be called on NULL state). Leave this NULL if you want to use a predefined signaler.

stun-server

STUN Server IP Address: address:port. Default: "webrtc.ridgerun.com:3478"

turn-server

TURN Server IP Address:
'user:password@address:port(?transport=[udp|tcp|tls])'
. Default:
"ridgerun:Gh3tVhVZam3SSqb@webrtc.ridgerun.com:3478:transport=tcp"

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

The SCTP port for data transfer. Range: 0 - 65535 Default: 5000

data-channel-id

The ID of the data channel stream (random number if 0 is set). Range: 0 - 65535 Default: 13118

rtcp-mux

Enable Multiplex RTP and RTCP in a single port (Endpoint will reconfigure if needed). Default: true Write only

ice-trickle

Send single ICE candidates when they become available. Default: false

enable-data

Include the negotiation of the WebRTC data channel for this endpoint (required to use the new_data and on_new_data callbacks without data-pads). Default: false Write only

enable-rtcp-timeout

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"

void user_function (GstElement* object, guint arg0, gchararray arg1, gpointer user_data);

"on-rtcp-bitrate"

void user_function (GstElement* object, guint arg0, guint arg1, guint arg2, guint64 arg3, gpointer user_data);

"on-rtcp-timeout"

void user_function (GstElement* object, gpointer user_data);

Actions

"new-data"

gboolean user_function (GstElement* object, gchararray arg0, guint arg1);




GstRrWebRTCSink Element


Home

Evaluating GstRrWebRTC