Difference between revisions of "GstWebRTC - PubNub Audio Examples - x86"

From RidgeRun Developer Connection
Jump to: navigation, search
Line 17: Line 17:
 
== Opus  ==
 
== Opus  ==
  
=== Example ===
+
=== Unidirectional elements ===
In this example we use two webrtcbins, each send an audio stream, and receives each other audio stream.
 
  
==== x264 ====
+
==== Example ====
  
<pre style="background-color:yellow">
+
In this example we use webrtcsink to send an audio stream and webrtcsrc to receive the audio stream.
It seems that browsers do not get along with x264 because of SEI NAL units sent with the stream. As a workaround, we set key-int-max=1 and avoid the SEI insertions.
+
 
</pre>
+
==== Send Pipeline ====
 +
 
 +
<syntaxhighlight lang=bash>
 +
USER_CHANNEL=123
 +
PEER_CHANNEL=123peer
 +
gst-launch-1.0 webrtcsink rtcp-mux=true start-call=true signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
 +
audiotestsrc is-live=true ! opusenc ! rtpopuspay ! web.audio
 +
</syntaxhighlight>
 +
 
 +
==== Receive Pipeline ====
 +
 
 +
<syntaxhighlight lang=bash>
 +
USER_CHANNEL=123peer
 +
PEER_CHANNEL=123
 +
gst-launch-1.0 webrtcsrc rtcp-mux=true start-call=false signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
 +
web.audio ! rtpopusdepay ! opusdec ! autoaudiosink
 +
</syntaxhighlight>
 +
 
 +
=== Bidirectional elements ===
 +
 
 +
==== Example ====
 +
 
 +
In this example we use two webrtcbins, each send an audio stream and receives each other audio stream.
  
 
==== Send-Receive Pipeline ====
 
==== Send-Receive Pipeline ====

Revision as of 14:39, 20 February 2018

Error something wrong.jpg Problems running the pipelines shown on this page?
Please see our GStreamer Debugging guide for help.


Audio + Video


Home

Home



This page presents some GstWebRTC audio examples using PubNub.


Opus

Unidirectional elements

Example

In this example we use webrtcsink to send an audio stream and webrtcsrc to receive the audio stream.

Send Pipeline

USER_CHANNEL=123
PEER_CHANNEL=123peer
gst-launch-1.0 webrtcsink rtcp-mux=true start-call=true signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
audiotestsrc is-live=true ! opusenc ! rtpopuspay ! web.audio

Receive Pipeline

USER_CHANNEL=123peer
PEER_CHANNEL=123
gst-launch-1.0 webrtcsrc rtcp-mux=true start-call=false signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
web.audio ! rtpopusdepay ! opusdec ! autoaudiosink

Bidirectional elements

Example

In this example we use two webrtcbins, each send an audio stream and receives each other audio stream.

Send-Receive Pipeline

USER_CHANNEL=123
PEER_CHANNEL=123peer
gst-launch-1.0 webrtcbin rtcp-mux=true start-call=true signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
audiotestsrc is-live=true ! opusenc ! rtpopuspay ! web.audio_sink \
web.audio_src ! rtpopusdepay ! opusdec ! autoaudiosink

Send-Receive Pipeline

USER_CHANNEL=123peer
PEER_CHANNEL=123
gst-launch-1.0 webrtcbin rtcp-mux=true start-call=false signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
audiotestsrc is-live=true ! opusenc ! rtpopuspay ! web.audio_sink \
web.audio_src ! rtpopusdepay ! opusdec ! autoaudiosink




Audio + Video


Home

Home