Difference between revisions of "GstWebRTC - OpenWebRTC Web Page - x86"

From RidgeRun Developer Connection
Jump to: navigation, search
m
m
 
(42 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<table>
+
{{GstWebRTC/Head|previous=Audio + Video Examples - x86|next=Data Channel Examples - x86|keywords=GstRrWebRTC Examples,WebRTC Examples,GstRrWebRTC GStreamer pipelines,WebRTC GStreamer pipelines,OpenWebRTC signaler,OpenWebRTC Examples,OpenWebRTC web page, OpenWebRTC GStreamer pipeline,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 GstRrWebRTC Web page on '''x86 platform''' to use OpenWebRTC.
[[GstWebRTC - Audio + Video Examples|Audio + Video]]|
+
<br>
[[GstWebRTC - PubNub Signaler Examples|PubNub Signaler Examples]]|
+
<br>
 +
{{GStreamer debug}}
  
This page presents some GstWebRTC Web page to use OpenWebRTC.
+
== SimpleRTC WebPage ==
  
__TOC__
+
The following figure show how to establish a call using the SimpleRTC web page in:
 +
* https://webrtc.ridgerun.com:8443 (recommended)
 +
* http://webrtc.ridgerun.com:8080
  
=== SimpleRTC WebPage ===
+
Note that browsers such as Chrome won't work with an insecure (non-https) connection.
  
The following figure show how to establish a call using the SimpleRTC web page in https://webrtc.ridgerun.com:8080/
+
[[File:webrtc_page.png|700px|center|Establish a WebRTC call with https://webrtc.ridgerun.com:8443]]
 
 
 
 
 
 
[[File:webrtc_page.png|700px|center|Establish a WebRTC call with https://webrtc.ridgerun.com:8080/]]
 
  
 
# Type a unique Session ID in the text bar.
 
# Type a unique Session ID in the text bar.
 
# Select in the check box if you want audio or video streaming.
 
# Select in the check box if you want audio or video streaming.
 
# Press join
 
# Press join
# Start the call
 
  
'''Note:''' In the following examples, the start-call property on the pipeline is set to false, thus you have to start the call from the website pressing the correct button. If start-call is set to true, the pipeline starts the call.
+
'''Note:''' In the following examples, the start-call property on the pipeline is set to true, thus the pipeline starts the call. If start-call is set to false, you have to start the call from the website pressing the correct button.
 +
<br>
 +
<br>
 +
Following examples are tested using Firefox browser versions 64.0 and 71.0.3 (64-bit) for testing the demo OpenWebRTC web page. These pipelines will not work with the newer versions of Firefox browser and also it will not work with the Chrome browser.
  
 
== x264 Send+Receive ==
 
== x264 Send+Receive ==
Line 37: Line 32:
  
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
gst-launch-1.0 webrtcbin start-call=false signaler=GstOwrSignaler signaler::server_url=http://webrtc.ridgerun.com:8080 signaler::session_id=1234ridgerun name=web videotestsrc is-live=true ! \
+
gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 signaler::session_id=1234ridgerun name=web videotestsrc is-live=true ! queue ! videoconvert ! x264enc key-int-max=1 ! rtph264pay ! queue ! web.video_sink web.video_src ! rtph264depay ! avdec_h264 ! videoconvert ! ximagesink async=true sync=false enable-last-sample=false
queue ! videoconvert ! x264enc key-int-max=2 ! rtph264pay ! queue ! web.video_sink web.video_src ! rtph264depay ! avdec_h264 ! videoconvert ! ximagesink async=true
+
</syntaxhighlight>
 +
 
 +
== x264+OPUS Send+Receive ==
 +
 
 +
===Example===
 +
 
 +
This pipeline will send an audio and a H264 video streams the demo web page. Additionally, it will receive the web page's streams, in the same format.
 +
 
 +
<syntaxhighlight lang=bash>
 +
gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 \
 +
signaler::session_id=1234ridgerun name=web \
 +
videotestsrc is-live=true ! queue ! videoconvert ! x264enc key-int-max=1 ! rtph264pay ! queue ! web.video_sink \
 +
web.video_src ! rtph264depay ! avdec_h264 ! videoconvert ! ximagesink async=true \
 +
audiotestsrc is-live=true wave=8 ! audioconvert ! audioresample ! queue ! opusenc ! rtpopuspay ! web.audio_sink \
 +
web.audio_src ! rtpopusdepay ! opusdec ! audioconvert ! alsasink async=false
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 48: Line 57:
  
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
gst-launch-1.0 webrtcbin start-call=false signaler=GstOwrSignaler signaler::server_url=http://webrtc.ridgerun.com:8080 signaler::session_id=1234ridgerun name=web videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink web.video_src ! rtpvp8depay ! vp8dec ! videoconvert ! ximagesink async=true
+
gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 \
 +
signaler::session_id=1234ridgerun name=web \
 +
videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink \
 +
web.video_src ! rtpvp8depay ! vp8dec ! videoconvert ! ximagesink async=true
 
</syntaxhighlight>
 
</syntaxhighlight>
  
}}
+
== VP8+OPUS Send+Receive ==
 +
 
 +
===Example===
 +
 
 +
This pipeline will send an audio and a Vp8 video streams the demo web page. Additionally, it will receive the web page's streams, in the same format.
 +
 
 +
<syntaxhighlight lang=bash>
 +
gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 \
 +
signaler::session_id=1234ridgerun name=web \
 +
videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink \
 +
web.video_src ! rtpvp8depay ! vp8dec ! videoconvert ! ximagesink async=true \
 +
audiotestsrc is-live=true wave=8 ! audioconvert ! audioresample ! queue ! opusenc ! rtpopuspay ! web.audio_sink \
 +
web.audio_src ! rtpopusdepay ! opusdec ! audioconvert ! alsasink async=false
 +
</syntaxhighlight>
 +
 
 +
</pre>
 +
 
 +
{{GstWebRTC/Foot|previous=Audio + Video Examples - x86|next=Data Channel Examples - x86}}

Latest revision as of 14:19, 13 April 2020



Previous: Audio + Video Examples - x86 Index Next: Data Channel Examples - x86




This page presents GstRrWebRTC Web page on x86 platform to use OpenWebRTC.

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

SimpleRTC WebPage

The following figure show how to establish a call using the SimpleRTC web page in:

Note that browsers such as Chrome won't work with an insecure (non-https) connection.

Establish a WebRTC call with https://webrtc.ridgerun.com:8443
  1. Type a unique Session ID in the text bar.
  2. Select in the check box if you want audio or video streaming.
  3. Press join

Note: In the following examples, the start-call property on the pipeline is set to true, thus the pipeline starts the call. If start-call is set to false, you have to start the call from the website pressing the correct button.

Following examples are tested using Firefox browser versions 64.0 and 71.0.3 (64-bit) for testing the demo OpenWebRTC web page. These pipelines will not work with the newer versions of Firefox browser and also it will not work with the Chrome browser.

x264 Send+Receive

Example

This pipeline will encode a video stream to H264 and send it to the demo web page. Additionally, it will receive the web page's video feed, in the same format.

gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 signaler::session_id=1234ridgerun name=web videotestsrc is-live=true ! queue ! videoconvert ! x264enc key-int-max=1 ! rtph264pay ! queue ! web.video_sink web.video_src ! rtph264depay ! avdec_h264 ! videoconvert ! ximagesink async=true sync=false enable-last-sample=false

x264+OPUS Send+Receive

Example

This pipeline will send an audio and a H264 video streams the demo web page. Additionally, it will receive the web page's streams, in the same format.

gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 \
signaler::session_id=1234ridgerun name=web \
videotestsrc is-live=true ! queue ! videoconvert ! x264enc key-int-max=1 ! rtph264pay ! queue ! web.video_sink \
web.video_src ! rtph264depay ! avdec_h264 ! videoconvert ! ximagesink async=true \
audiotestsrc is-live=true wave=8 ! audioconvert ! audioresample ! queue ! opusenc ! rtpopuspay ! web.audio_sink \
web.audio_src ! rtpopusdepay ! opusdec ! audioconvert ! alsasink async=false

VP8 Send+Receive

Example

This pipeline will encode a video stream to VP8 and send it to the demo web page. Additionally, it will receive the web page's video feed, in the same format.

gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 \
signaler::session_id=1234ridgerun name=web \
videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink \
web.video_src ! rtpvp8depay ! vp8dec ! videoconvert ! ximagesink async=true

VP8+OPUS Send+Receive

Example

This pipeline will send an audio and a Vp8 video streams the demo web page. Additionally, it will receive the web page's streams, in the same format.

gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 \
signaler::session_id=1234ridgerun name=web \
videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink \
web.video_src ! rtpvp8depay ! vp8dec ! videoconvert ! ximagesink async=true \
audiotestsrc is-live=true wave=8 ! audioconvert ! audioresample ! queue ! opusenc ! rtpopuspay ! web.audio_sink \
web.audio_src ! rtpopusdepay ! opusdec ! audioconvert ! alsasink async=false


Previous: Audio + Video Examples - x86 Index Next: Data Channel Examples - x86