GstWebRTC - PubNub Audio Examples - x86: Difference between revisions

From RidgeRun Developer Wiki
No edit summary
mNo edit summary
 
(23 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<table>
{{GstWebRTC/Head|previous=PubNub Signaler Examples - x86|next=PubNub Video Examples - x86|keywords=GstRrWebRTC Examples,WebRTC Examples,GstRrWebRTC GStreamer pipelines,WebRTC GStreamer pipelines,GstRrWebRTC PubNub Signaler,WebRTC PubNub Signaler,WebRTC Audio Example, WebRTC GStreamer Audio pipelines,GstRrWebRTC PubNub,GstWebRTC Audio Example, GstRrWebRTC GStreamer Audio pipelines,WebRTC PubNub,signaling}}
<tr>
<td><div class="clear; float:right">__TOC__</div></td>
<td valign=top>
{{Debug Symbol}} Problems running the pipelines shown on this page?<br>Please see our [http://developer.ridgerun.com/wiki/index.php?title=GStreamer_Debugging GStreamer Debugging guide] for help.
</td>
</table>


{{GstWebRTC Page|
This page presents some GstRrWebRTC audio examples on '''x86 platform''' using PubNub.
[[GstWebRTC - Audio + Video Examples|Audio + Video]]|
[[GstWebRTC|Home]]|


This page presents some GstWebRTC audio examples using PubNub.
<br>


__TOC__
{{GStreamer debug}}


== 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 rrwebrtcbin to send an audio stream and rrwebrtcbin 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 rrwebrtcbin rtcp-mux=true start-call=true signaler=GstPubnubSignaler \
signaler::server_url=https://webrtc.ridgerun.com:7443 \
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
audiotestsrc is-live=true ! opusenc ! rtpopuspay ! web.audio_sink
</syntaxhighlight>
 
==== Receive Pipeline ====
 
<syntaxhighlight lang=bash>
USER_CHANNEL=123peer
PEER_CHANNEL=123
gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=false signaler=GstPubnubSignaler \
signaler::server_url=https://webrtc.ridgerun.com:7443 \
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
web.audio_src ! rtpopusdepay ! opusdec ! autoaudiosink
</syntaxhighlight>
 
=== Bidirectional elements ===
 
==== Example ====
 
In this example we use two rrwebrtcbins, each send an audio stream and receives each other audio stream.


==== Send-Receive Pipeline ====
==== Send-Receive Pipeline ====
Line 31: Line 48:
USER_CHANNEL=123
USER_CHANNEL=123
PEER_CHANNEL=123peer
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 \
gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=true signaler=GstPubnubSignaler \
signaler::server_url=https://webrtc.ridgerun.com:7443 \
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
audiotestsrc is-live=true ! opusenc ! rtpopuspay ! web.audio_sink \
audiotestsrc is-live=true ! opusenc ! rtpopuspay ! web.audio_sink \
web.audio_src ! rtpopusdepay ! opusdec ! autoaudiosink  
web.audio_src ! rtpopusdepay ! opusdec ! autoaudiosink  
Line 41: Line 60:
USER_CHANNEL=123peer
USER_CHANNEL=123peer
PEER_CHANNEL=123
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 \
gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=false signaler=GstPubnubSignaler \
signaler::server_url=https://webrtc.ridgerun.com:7443 \
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
audiotestsrc is-live=true ! opusenc ! rtpopuspay ! web.audio_sink \
audiotestsrc is-live=true ! opusenc ! rtpopuspay ! web.audio_sink \
web.audio_src ! rtpopusdepay ! opusdec ! autoaudiosink  
web.audio_src ! rtpopusdepay ! opusdec ! autoaudiosink  
</syntaxhighlight>
</syntaxhighlight>


}}
{{GstWebRTC/Foot|previous=PubNub Signaler Examples - x86|next=PubNub Video Examples - x86}}

Latest revision as of 19:24, 13 April 2020




Previous: PubNub Signaler Examples - x86 Index Next: PubNub Video Examples - x86




This page presents some GstRrWebRTC audio examples on x86 platform using PubNub.


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

Opus

Unidirectional elements

Example

In this example, we use rrwebrtcbin to send an audio stream and rrwebrtcbin to receive the audio stream.

Send Pipeline

USER_CHANNEL=123
PEER_CHANNEL=123peer
gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=true signaler=GstPubnubSignaler \
signaler::server_url=https://webrtc.ridgerun.com:7443 \
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
audiotestsrc is-live=true ! opusenc ! rtpopuspay ! web.audio_sink

Receive Pipeline

USER_CHANNEL=123peer
PEER_CHANNEL=123
gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=false signaler=GstPubnubSignaler \
signaler::server_url=https://webrtc.ridgerun.com:7443 \
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \
web.audio_src ! rtpopusdepay ! opusdec ! autoaudiosink

Bidirectional elements

Example

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

Send-Receive Pipeline

USER_CHANNEL=123
PEER_CHANNEL=123peer
gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=true signaler=GstPubnubSignaler \
signaler::server_url=https://webrtc.ridgerun.com:7443 \
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 rrwebrtcbin rtcp-mux=true start-call=false signaler=GstPubnubSignaler \
signaler::server_url=https://webrtc.ridgerun.com:7443 \
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


Previous: PubNub Signaler Examples - x86 Index Next: PubNub Video Examples - x86