GstWebRTC - PubNub Signaling Examples - x86

From RidgeRun Developer Connection
Revision as of 21:09, 28 July 2017 by Mgruner (talk | contribs) (Created page with "{{GstWebRTC Page| GstWebRTC Basics| GstWebRTC| This page presents the GstWebRTC H264 video examples with the OpenWe...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

GstWebRTC Basics


Home

GstWebRTC



This page presents the GstWebRTC H264 video examples with the OpenWebRTC signaler.

Unidirectional Elements

Example

In this example we use webrtcsink to send a video stream and webrtcsrc to receive the video stream.

Send Pipeline

The following pipeline will send a color bars h264 video stream:

gst-launch-1.0 webrtcsink start-call=true signaler::server_url=http://webrtc.ridgerun.com:8080 \
signaler::session_id=1234ridgerun name=web videotestsrc is-live=true ! queue ! videoconvert ! \
x264enc key-int-max=2 ! rtph264pay ! queue ! web.video

Receive Pipeline

The following pipeline will receive the video stream and display it:

gst-launch-1.0 webrtcsrc start-call=false signaler::server_url=http://webrtc.ridgerun.com:8080 \
signaler::session_id=1234ridgerun name=web web.video ! rtph264depay ! avdec_h264 ! videoconvert \
! ximagesink async=true

You should be able to see a video pattern similar to Fig.1.

Fig.1 Snapshot of video received




Bidirectional Element

Example

In this example we use two webrtcbin 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 webrtcbin start-call=true signaler::server_url=http://webrtc.ridgerun.com:8080 \
signaler::session_id=1234ridgerun name=web videotestsrc is-live=true ! queue ! videoconvert ! \
x264enc key-int-max=2 ! rtph264pay ! queue ! identity silent=false ! 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 webrtcbin start-call=false signaler::server_url=http://webrtc.ridgerun.com:8080 \
signaler::session_id=1234ridgerun name=web videotestsrc is-live=true ! queue ! videoconvert ! \
x264enc key-int-max=2 ! rtph264pay ! queue ! identity silent=false ! 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.




GstWebRTC Basics


Home

GstWebRTC