GstWebRTC - PubNub Video Examples - x86: Difference between revisions
No edit summary |
mNo edit summary |
||
(20 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{GstWebRTC/Head|previous=PubNub Audio Examples - x86|next=PubNub Audio + Video Examples - x86|keywords=GstRrWebRTC Examples,WebRTC Examples,GstRrWebRTC GStreamer pipelines,WebRTC GStreamer pipelines,GstRrWebRTC PubNub Signaler,WebRTC PubNub Signaler, WebRTC Video Example, WebRTC GStreamer Video pipelines,GstRrWebRTC PubNub,GstWebRTC Video Example, GstRrWebRTC GStreamer Video pipelines,WebRTC PubNub,signaling}} | |||
{{ | |||
{{ | This page presents some GstRrWebRTC video examples on '''x86 platform''' using PubNub. | ||
<br> | |||
<br> | |||
{{GStreamer debug}} | |||
== H264 == | |||
=== Unidirectional elements === | |||
==== Example ==== | |||
In this example, we use rrwebrtcbin to send a video stream and rrwebrtcbin to receive the video stream. | |||
==== Send Pipeline ==== | |||
<syntaxhighlight lang=bash> | |||
USER_CHANNEL=123 | |||
PEER_CHANNEL=123peer | |||
gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=true signaler::server_url=https://webrtc.ridgerun.com:7443 \ | |||
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web videotestsrc is-live=true ! x264enc tune=zerolatency intra-refresh=true ! "video/x-h264,profile=constrained-baseline,level=(string)3.1" ! rtph264pay ! web.video_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::server_url=https://webrtc.ridgerun.com:7443 \ | |||
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web web.video_src ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink | |||
</syntaxhighlight> | |||
=== | === Bidirectional elements === | ||
==== Example ==== | |||
In this example we use two rrwebrtcbins, each send a video stream and receives each other video stream. | |||
==== Send-Receive Pipeline ==== | ==== Send-Receive Pipeline ==== | ||
Line 31: | Line 42: | ||
USER_CHANNEL=123 | USER_CHANNEL=123 | ||
PEER_CHANNEL=123peer | PEER_CHANNEL=123peer | ||
gst-launch-1.0 | gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=true signaler::server_url=https://webrtc.ridgerun.com:7443 \ | ||
videotestsrc is-live=true ! x264enc | signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ | ||
videotestsrc is-live=true ! x264enc tune=zerolatency intra-refresh=true ! "video/x-h264,profile=constrained-baseline,level=(string)3.1" ! rtph264pay ! web.video_sink \ | |||
web.video_src ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink | web.video_src ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 41: | Line 53: | ||
USER_CHANNEL=123peer | USER_CHANNEL=123peer | ||
PEER_CHANNEL=123 | PEER_CHANNEL=123 | ||
gst-launch-1.0 | gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=false signaler::server_url=https://webrtc.ridgerun.com:7443 \ | ||
videotestsrc is-live=true ! x264enc | signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ | ||
videotestsrc is-live=true ! x264enc tune=zerolatency intra-refresh=true ! "video/x-h264,profile=constrained-baseline,level=(string)3.1" ! rtph264pay ! web.video_sink \ | |||
web.video_src ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink | web.video_src ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 48: | Line 61: | ||
== VP8 == | == VP8 == | ||
=== Example === | === Unidirectional elements === | ||
In this example we use two | |||
==== Example ==== | |||
In this example, we use rrwebrtcbin to send a video stream and rrwebrtcbin to receive the video stream. | |||
==== Send Pipeline ==== | |||
<syntaxhighlight lang=bash> | |||
USER_CHANNEL=123 | |||
PEER_CHANNEL=123peer | |||
gst-launch-1.0 -v rrwebrtcbin rtcp-mux=true start-call=true signaler::server_url=https://webrtc.ridgerun.com:7443 \ | |||
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ | |||
videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink | |||
</syntaxhighlight> | |||
==== Receive Pipeline ==== | |||
<syntaxhighlight lang=bash> | |||
USER_CHANNEL=123peer | |||
PEER_CHANNEL=123 | |||
gst-launch-1.0 -v rrwebrtcbin rtcp-mux=true start-call=false signaler::server_url=https://webrtc.ridgerun.com:7443 \ | |||
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ | |||
web.video_src ! rtpvp8depay ! avdec_vp8 ! autovideosink | |||
</syntaxhighlight> | |||
=== Bidirectional elements === | |||
==== Example ==== | |||
In this example we use two rrwebrtcbins, each send a video stream, and receives each other video stream. | |||
==== Send-Receive Pipeline ==== | ==== Send-Receive Pipeline ==== | ||
Line 56: | Line 97: | ||
USER_CHANNEL=123 | USER_CHANNEL=123 | ||
PEER_CHANNEL=123peer | PEER_CHANNEL=123peer | ||
gst-launch-1.0 -v | gst-launch-1.0 -v rrwebrtcbin rtcp-mux=true start-call=true signaler::server_url=https://webrtc.ridgerun.com:7443 \ | ||
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ | |||
videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink \ | videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink \ | ||
web.video_src ! rtpvp8depay ! avdec_vp8 ! autovideosink | web.video_src ! rtpvp8depay ! avdec_vp8 ! autovideosink | ||
Line 66: | Line 108: | ||
USER_CHANNEL=123peer | USER_CHANNEL=123peer | ||
PEER_CHANNEL=123 | PEER_CHANNEL=123 | ||
gst-launch-1.0 -v | gst-launch-1.0 -v rrwebrtcbin rtcp-mux=true start-call=false signaler::server_url=https://webrtc.ridgerun.com:7443 \ | ||
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ | |||
videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink \ | videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink \ | ||
web.video_src ! rtpvp8depay ! avdec_vp8 ! autovideosink | web.video_src ! rtpvp8depay ! avdec_vp8 ! autovideosink | ||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | {{GstWebRTC/Foot|previous=PubNub Audio Examples - x86|next=PubNub Audio + Video Examples - x86}} |
Latest revision as of 19:33, 13 April 2020
GstWebRTC | ||||||||
---|---|---|---|---|---|---|---|---|
WebRTC Fundamentals | ||||||||
GstWebRTC Basics | ||||||||
|
||||||||
Evaluating GstWebRTC | ||||||||
Getting the code | ||||||||
Building GstWebRTC | ||||||||
Examples | ||||||||
|
||||||||
MCU Demo Application | ||||||||
Contact Us |
This page presents some GstRrWebRTC video examples on x86 platform using PubNub.
Problems running the pipelines shown on this page? |
H264
Unidirectional elements
Example
In this example, we use rrwebrtcbin to send a video stream and rrwebrtcbin to receive the video stream.
Send Pipeline
USER_CHANNEL=123 PEER_CHANNEL=123peer gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=true signaler::server_url=https://webrtc.ridgerun.com:7443 \ signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web videotestsrc is-live=true ! x264enc tune=zerolatency intra-refresh=true ! "video/x-h264,profile=constrained-baseline,level=(string)3.1" ! rtph264pay ! web.video_sink
Receive Pipeline
USER_CHANNEL=123peer PEER_CHANNEL=123 gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=false signaler::server_url=https://webrtc.ridgerun.com:7443 \ signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web web.video_src ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink
Bidirectional elements
Example
In this example we use two rrwebrtcbins, each send a video stream and receives each other video stream.
Send-Receive Pipeline
USER_CHANNEL=123 PEER_CHANNEL=123peer gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=true signaler::server_url=https://webrtc.ridgerun.com:7443 \ signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ videotestsrc is-live=true ! x264enc tune=zerolatency intra-refresh=true ! "video/x-h264,profile=constrained-baseline,level=(string)3.1" ! rtph264pay ! web.video_sink \ web.video_src ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink
Send-Receive Pipeline
USER_CHANNEL=123peer PEER_CHANNEL=123 gst-launch-1.0 rrwebrtcbin rtcp-mux=true start-call=false signaler::server_url=https://webrtc.ridgerun.com:7443 \ signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ videotestsrc is-live=true ! x264enc tune=zerolatency intra-refresh=true ! "video/x-h264,profile=constrained-baseline,level=(string)3.1" ! rtph264pay ! web.video_sink \ web.video_src ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink
VP8
Unidirectional elements
Example
In this example, we use rrwebrtcbin to send a video stream and rrwebrtcbin to receive the video stream.
Send Pipeline
USER_CHANNEL=123 PEER_CHANNEL=123peer gst-launch-1.0 -v rrwebrtcbin rtcp-mux=true start-call=true signaler::server_url=https://webrtc.ridgerun.com:7443 \ signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink
Receive Pipeline
USER_CHANNEL=123peer PEER_CHANNEL=123 gst-launch-1.0 -v rrwebrtcbin rtcp-mux=true start-call=false signaler::server_url=https://webrtc.ridgerun.com:7443 \ signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ web.video_src ! rtpvp8depay ! avdec_vp8 ! autovideosink
Bidirectional elements
Example
In this example we use two rrwebrtcbins, each send a video stream, and receives each other video stream.
Send-Receive Pipeline
USER_CHANNEL=123 PEER_CHANNEL=123peer gst-launch-1.0 -v rrwebrtcbin rtcp-mux=true start-call=true signaler::server_url=https://webrtc.ridgerun.com:7443 \ signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink \ web.video_src ! rtpvp8depay ! avdec_vp8 ! autovideosink
Send-Receive Pipeline
USER_CHANNEL=123peer PEER_CHANNEL=123 gst-launch-1.0 -v rrwebrtcbin rtcp-mux=true start-call=false signaler::server_url=https://webrtc.ridgerun.com:7443 \ signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web \ videotestsrc is-live=true ! vp8enc ! rtpvp8pay ! web.video_sink \ web.video_src ! rtpvp8depay ! avdec_vp8 ! autovideosink