GstWebRTC - PubNub Video Examples - x86: Difference between revisions
No edit summary |
mNo edit summary |
||
(19 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}} | |||
This page presents some | |||
== H264 == | == H264 == | ||
Line 19: | Line 10: | ||
=== Unidirectional elements === | === Unidirectional elements === | ||
== Example == | ==== Example ==== | ||
In this example, we use rrwebrtcbin to send a video stream and rrwebrtcbin to receive the video stream. | |||
==== Send Pipeline ==== | ==== Send Pipeline ==== | ||
Line 34: | Line 19: | ||
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 \ | ||
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> | </syntaxhighlight> | ||
Line 42: | Line 28: | ||
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 \ | ||
signaler::user-channel=$USER_CHANNEL signaler::peer-channel=$PEER_CHANNEL name=web web.video_src ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Bidirectional elements === | === Bidirectional elements === | ||
== Example == | ==== Example ==== | ||
In this example we use two | 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 57: | 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 67: | 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 74: | 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 82: | 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 92: | 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