Difference between revisions of "GStreamer WebRTC Wrapper/GStreamer Pipelines/Pubnub Pipelines"

From RidgeRun Developer Connection
Jump to: navigation, search
m
Line 24: Line 24:
 
=== Unidirectional ===
 
=== Unidirectional ===
  
==== Video ====
+
==== Video ====  
  
 
===== VP8 codec =====
 
===== VP8 codec =====
Line 32: Line 32:
 
PEER_CHANNEL=136
 
PEER_CHANNEL=136
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxvp8enc ! rtpvp8pay ! queue ! web.
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web.
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 41: Line 41:
 
PEER_CHANNEL=136
 
PEER_CHANNEL=136
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxvp9enc ! rtpvp9pay ! queue ! web.
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! nvv4l2vp9enc ! rtpvp9pay ! queue ! web.
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 50: Line 50:
 
PEER_CHANNEL=136
 
PEER_CHANNEL=136
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxh264enc insert-sps-pps=true ! rtph264pay ! queue ! web.
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2h264enc insert-sps-pps=true ! rtph264pay ! queue ! web.
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 61: Line 61:
 
PEER_CHANNEL=136
 
PEER_CHANNEL=136
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxvp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 70: Line 70:
 
PEER_CHANNEL=136
 
PEER_CHANNEL=136
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxvp9enc ! rtpvp9pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp9enc ! rtpvp9pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 79: Line 79:
 
PEER_CHANNEL=136
 
PEER_CHANNEL=136
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxh264enc insert-sps-pps=true ! rtph264pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2h264enc insert-sps-pps=true ! rtph264pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 92: Line 92:
 
PEER_CHANNEL=136
 
PEER_CHANNEL=136
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxvp8enc ! rtpvp8pay ! queue ! web. web. ! rtpvp8depay ! omxvp8dec ! nveglglessink
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web. web. ! rtpvp8depay ! nvv4l2vp8dec ! nveglglessink
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 101: Line 101:
 
PEER_CHANNEL=136
 
PEER_CHANNEL=136
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! omxvp9enc ! rtpvp9pay ! queue ! web. web. ! rtpvp9depay ! omxvp9dec ! nveglglessink
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! nvv4l2vp9enc ! rtpvp9pay ! queue ! web. web. ! rtpvp9depay ! nvv4l2vp9dec ! nveglglessink
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 110: Line 110:
 
PEER_CHANNEL=136
 
PEER_CHANNEL=136
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxh264enc insert-sps-pps=true ! rtph264pay ! queue ! web. web. ! rtph264depay ! omxh264dec ! nveglglessink
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2h264enc insert-sps-pps=true ! rtph264pay ! queue ! web. web. ! rtph264depay ! nvv4l2h264dec ! nveglglessink
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 122: Line 122:
 
AUDIO_DEVICE="plughw:0,7" # Assign your audio device  
 
AUDIO_DEVICE="plughw:0,7" # Assign your audio device  
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxvp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp8depay ! omxvp8dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp8depay ! nvv4l2vp8dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 132: Line 132:
 
AUDIO_DEVICE="plughw:0,7" # Assign your audio device  
 
AUDIO_DEVICE="plughw:0,7" # Assign your audio device  
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxvp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp8depay ! omxvp8dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp8depay ! nvv4l2vp8dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 142: Line 142:
 
AUDIO_DEVICE="plughw:0,7" # Assign your audio device
 
AUDIO_DEVICE="plughw:0,7" # Assign your audio device
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxvp9enc ! rtpvp9pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.  web. ! rtpvp9depay ! omxvp9dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp9enc ! rtpvp9pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.  web. ! rtpvp9depay ! nvv4l2vp9dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 152: Line 152:
 
AUDIO_DEVICE="plughw:0,7" # Assign your audio device
 
AUDIO_DEVICE="plughw:0,7" # Assign your audio device
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxh264enc insert-sps-pps=true ! rtph264pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.  web. ! rtph264depay ! omxh264dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2h264enc insert-sps-pps=true ! rtph264pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.  web. ! rtph264depay ! nvv4l2h264dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 175: Line 175:
 
AUDIO_DEVICE="plughw:0,7" # Assign your audio device  
 
AUDIO_DEVICE="plughw:0,7" # Assign your audio device  
  
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL ice-server::ident=$XIRSYS_IDENT ice-server::secret=$XIRSYS_SECRET ice-server::channel=$XIRSYS_CHANNEL ice-server::path=$XIRSYS_PATH start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! omxvp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp8depay ! omxvp8dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
+
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL ice-server::ident=$XIRSYS_IDENT ice-server::secret=$XIRSYS_SECRET ice-server::channel=$XIRSYS_CHANNEL ice-server::path=$XIRSYS_PATH start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp8depay ! nvv4l2vp8dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revision as of 18:44, 14 April 2021




Previous: GStreamer_Pipelines Index Next: Other_WebRTC_RidgeRun_products




Description

This page presents some GStreamer examples pipeline on supported platforms using PubNub Demo.

Bring up the PubNub Demo

Open the PubNub WebRTC Demo on a Chrome or a Chromium browser.

Pubnub demo image.png
Figure 3. Pubnub Web Demo

The Pubnub ID should be used to connect the GstWebRTCWrapperbin pipeline.

Nvidia Xavier/TX2

This pipeline are creating using the Nvidia resources like cameras, video codecs.

Unidirectional

Video

VP8 codec
USER_CHANNEL=123
PEER_CHANNEL=136

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web.
VP9 codec
USER_CHANNEL=123
PEER_CHANNEL=136

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! nvv4l2vp9enc ! rtpvp9pay ! queue ! web.
H264 codec
USER_CHANNEL=123
PEER_CHANNEL=136

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2h264enc insert-sps-pps=true ! rtph264pay ! queue ! web.

Video and Audio

VP8 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
VP9 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp9enc ! rtpvp9pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.
H264 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2h264enc insert-sps-pps=true ! rtph264pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.

Bidirectional

Video

VP8 codec
USER_CHANNEL=123
PEER_CHANNEL=136

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web. web. ! rtpvp8depay ! nvv4l2vp8dec ! nveglglessink
VP9 codec
USER_CHANNEL=123
PEER_CHANNEL=136

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc ! nvvideoconvert ! queue ! nvv4l2vp9enc ! rtpvp9pay ! queue ! web. web. ! rtpvp9depay ! nvv4l2vp9dec ! nveglglessink
H264 codec
USER_CHANNEL=123
PEER_CHANNEL=136

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2h264enc insert-sps-pps=true ! rtph264pay ! queue ! web. web. ! rtph264depay ! nvv4l2h264dec ! nveglglessink

Video and Audio

VP8 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
AUDIO_DEVICE="plughw:0,7" # Assign your audio device 

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp8depay ! nvv4l2vp8dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
VP8 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
AUDIO_DEVICE="plughw:0,7" # Assign your audio device 

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp8depay ! nvv4l2vp8dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
VP9 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
AUDIO_DEVICE="plughw:0,7" # Assign your audio device

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL  start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp9enc ! rtpvp9pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.  web. ! rtpvp9depay ! nvv4l2vp9dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE
H264 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
AUDIO_DEVICE="plughw:0,7" # Assign your audio device

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2h264enc insert-sps-pps=true ! rtph264pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.  web. ! rtph264depay ! nvv4l2h264dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE

WebRTC connection along xirsys CoTurn

This example includes the Xirsys credentials to enable the Xirsys CoTurn service, the xirsys credentials is also used in above pipelines as well. The user should be generated his/her xirsys credentials before continuing, see the Xirsys Credentials.

1. Open the Pubnub demo on the mobile device and follow the section Bring up the PubNub Demo

https://stephenlb.github.io/webrtc-sdk

2. Run the below pipeline setting the Xirsys credentials up.

USER_CHANNEL=123
PEER_CHANNEL=136
XIRSYS_IDENT=<ident>
XIRSYS_SECRET=<secret>
XIRSYS_CHANNEL=<channel>
XIRSYS_PATH=<path>

AUDIO_DEVICE="plughw:0,7" # Assign your audio device 

gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL ice-server::ident=$XIRSYS_IDENT ice-server::secret=$XIRSYS_SECRET ice-server::channel=$XIRSYS_CHANNEL ice-server::path=$XIRSYS_PATH start-call=true name=web nvarguscamerasrc  ! nvvideoconvert ! queue ! nvv4l2vp8enc ! rtpvp8pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web. web. ! rtpvp8depay ! nvv4l2vp8dec ! nveglglessink web. ! rtpopusdepay ! opusdec ! alsasink device=$AUDIO_DEVICE

Appendix

Find audio device

Run the command (in the terminal)

aplay -l

The output looks like

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC262 Analog [ALC262 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

The device for this is plughw:0,0. The two zeros come from the device 0 and Subdevice #0.

Xirsys Credentials

Go to Xirsys login panel

Xirsys 1.png
Figure 3. Xirsys Account.

Note: Create a Xirsys account if you do not have it.

Go to Xirsys Dashboard services.

Xirsys 2.png
Figure 4. Xirsys Dashboard.

Take the Xirsys credentials to set up the WebRTC session.

x86

Unidirectional

Video

H264 codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web videotestsrc is-live=true ! videoconvert ! queue ! x264enc ! rtph264pay ! queue ! web.

Video and Audio

H264 codec and OPUS codec
USER_CHANNEL=123
PEER_CHANNEL=136
gst-launch-1.0 webrtcwrapperbin signaler=GstPubnubSignaler signaler::user-channel=$USER_CHANNEL signaler::peer_channel=$PEER_CHANNEL start-call=true name=web videotestsrc is-live=true ! videoconvert ! queue ! x264enc ! rtph264pay ! queue ! web. audiotestsrc is-live=true wave=8 ! opusenc ! rtpopuspay ! queue ! web.


Previous: GStreamer_Pipelines Index Next: Other_WebRTC_RidgeRun_products