GstWebRTC - OpenWebRTC Web Page - TX1/TX2
GstWebRTC | ||||||||
---|---|---|---|---|---|---|---|---|
WebRTC Fundamentals | ||||||||
GstWebRTC Basics | ||||||||
|
||||||||
Evaluating GstWebRTC | ||||||||
Getting the code | ||||||||
Building GstWebRTC | ||||||||
Examples | ||||||||
|
||||||||
MCU Demo Application | ||||||||
Contact Us |
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.
- Type a unique Session ID in the text bar.
- Select in the check box if you want audio or video streaming.
- 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