GstWebRTC - OpenWebRTC Web Page - TX1/TX2

From RidgeRun Developer Wiki




Previous: Audio + Video Examples - TX1/TX2 Index Next: Data Channel Examples - TX1/TX2




This page presents GstRrWebRTC Web page on TX1/TX2 platform to use OpenWebRTC.

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
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 and Chrome browser versions 64 and 71 respectively (64-bit) for testing the demo OpenWebRTC web page.

Example pipelines

Tested in JetPack 3.3

VP8

Send/receive camera stream to/from webrtc demo page, remote endpoint starts the call

GST_DEBUG=3 DISPLAY=:0 gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 signaler::session_id=testid1 name=web nvcamerasrc sensor-id=0  ! nvvidconv ! omxvp8enc ! rtpvp8pay ! web.video_sink web.video_src ! rtpvp8depay ! omxvp8dec ! videoconvert ! ximagesink async=true

Send camera stream to webrtc demo page, remote endpoint starts the call

GST_DEBUG=3 DISPLAY=:0 gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 signaler::session_id=testid1 name=web nvcamerasrc sensor-id=0  ! nvvidconv ! omxvp8enc ! rtpvp8pay ! web.video_sink

Receive camera stream from webrtc demo page, remote endpoint starts the call

GST_DEBUG=3 DISPLAY=:0 gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 signaler::session_id=testid1 name=web web.video_src ! rtpvp8depay ! omxvp8dec ! videoconvert ! ximagesink async=true


NOTE: Pipelines below have been reported to work properly on Chrome only


Send/receive camera stream to/from webrtc demo page, browser starts the call

GST_DEBUG=3 DISPLAY=:0 gst-launch-1.0 rrwebrtcbin start-call=false signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 signaler::session_id=testid1 name=web nvcamerasrc sensor-id=0  ! nvvidconv ! omxvp8enc ! rtpvp8pay ! web.video_sink web.video_src ! rtpvp8depay ! omxvp8dec ! videoconvert ! ximagesink async=true

Send camera stream to webrtc demo page, browser starts the call

GST_DEBUG=3 DISPLAY=:0 gst-launch-1.0 rrwebrtcbin start-call=false signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 signaler::session_id=testid1 name=web nvcamerasrc sensor-id=0  ! nvvidconv ! omxvp8enc ! rtpvp8pay ! web.video_sink

Receive camera stream from webrtc demo page, browser starts the call

GST_DEBUG=3 DISPLAY=:0 gst-launch-1.0 rrwebrtcbin start-call=false signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 signaler::session_id=testid1 name=web web.video_src ! rtpvp8depay ! omxvp8dec ! videoconvert ! ximagesink async=true

H.264

  • Note: We set the profile-level-id because the omxh264enc don't support "constrained-baseline" profile for the H264 encoding.

H264 Send

Example

This pipeline will encode a video stream to H264 and send it to the demo web page.

gst-launch-1.0 rrwebrtcbin start-call=true signaler=GstOwrSignaler signaler::server_url=https://webrtc.ridgerun.com:8443 signaler::session_id=testid1 name=web videotestsrc is-live=true ! queue  ! nvvidconv ! omxh264enc insert-sps-pps=true ! h264parse ! rtph264pay ! capssetter caps="application/x-rtp,profile-level-id=(string)42c01f" ! queue ! web.video_sink



Previous: Audio + Video Examples - TX1/TX2 Index Next: Data Channel Examples - TX1/TX2