GstWebRTC - Video Examples - x86
![]() |
GstWebRTC | ||||||||
---|---|---|---|---|---|---|---|---|
![]() | ||||||||
WebRTC Fundamentals | ||||||||
GstWebRTC Basics | ||||||||
|
||||||||
Evaluating GstWebRTC | ||||||||
Getting the code | ||||||||
Building GstWebRTC | ||||||||
Examples | ||||||||
|
||||||||
MCU Demo Application | ||||||||
Contact Us |
This page presents video examples on x86 platform using OpenWebRTC.
Problems running the pipelines shown on this page? Please see our GStreamer Debugging guide for help.
H264
Unidirectional Elements
Example
In this example we use rrwebrtcbin to send a video stream and rrwebrtcbin to receive the video stream.
Send Pipeline
The following pipeline will send a color bars h264 video stream:
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=2 ! rtph264pay ! queue ! web.video_sink
Receive Pipeline
The following pipeline will receive the video stream and display it:
gst-launch-1.0 rrwebrtcbin start-call=false signaler=GstOwrSignaler \ signaler::server_url=https://webrtc.ridgerun.com:8443 \ signaler::session_id=1234ridgerun name=web web.video_src ! rtph264depay ! avdec_h264 ! videoconvert \ ! ximagesink async=true
You should be able to see a video pattern similar to Fig.1.

Bidirectional Element
Example
In this example we use two rrwebrtcbin elements, each sends a video stream and receives each other video stream.
Send-Receive Pipeline
The following pipeline starts the call:
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=2 ! rtph264pay ! queue ! web.video_sink web.video_src \ ! rtph264depay ! avdec_h264 ! videoconvert ! ximagesink async=true
Send-Receive Pipeline
The following pipeline joins the call:
gst-launch-1.0 rrwebrtcbin start-call=false 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=2 ! rtph264pay ! queue ! web.video_sink web.video_src \ ! rtph264depay ! avdec_h264 ! videoconvert ! ximagesink async=true
You should be able to see two windows with a video pattern similar to Fig.1.
VP8
Unidirectional Elements
Example
In this example we use rrwebrtcbin to send a video stream and rrwebrtcbin to receive the video stream.
Send Pipeline
The following pipeline will send a color bars vp8 video stream:
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 ! \ vp8enc ! rtpvp8pay ! queue ! web.video_sink
Receive Pipeline
The following pipeline will receive the video stream and display it:
gst-launch-1.0 rrwebrtcbin start-call=false signaler=GstOwrSignaler \ signaler::server_url=https://webrtc.ridgerun.com:8443 \ signaler::session_id=1234ridgerun name=web web.video_src ! rtpvp8depay ! vp8dec ! videoconvert ! \ ximagesink async=true
You should be able to see a video pattern similar to Fig.1.
Bidirectional Element
Example
In this example we use two rrwebrtcbin elements, each sends a video stream and receives each other video stream.
Send-Receive Pipeline
The following pipeline starts the call:
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 ! \ vp8enc ! rtpvp8pay ! queue ! web.video_sink web.video_src ! rtpvp8depay ! \ vp8dec ! videoconvert ! ximagesink async=true
Send-Receive Pipeline
The following pipeline joins the call:
gst-launch-1.0 rrwebrtcbin start-call=false signaler=GstOwrSignaler \ signaler::server_url=https://webrtc.ridgerun.com:8443 \ signaler::session_id=1234ridgerun name=web videotestsrc is-live=true ! queue ! videoconvert ! \ vp8enc ! rtpvp8pay ! queue ! web.video_sink web.video_src ! rtpvp8depay \ ! vp8dec ! videoconvert ! ximagesink async=true
You should be able to see two windows with a video pattern similar to Fig.1.